Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Spatio-Temporal Databases 1. Introduction to Spatio-Temporal Databases Overview Spatio-temporal databases have become very important in recent years, as many real world applications like, location based services, Geographic information systems, etc need to store real world data which shows spatial as well as temporal characteristics, into database. Many data objects in real world have attributes related to both space and time, and managing them using existing RDBMS is complex and in-efficient, as these objects which show spatio-temporal behavior are multi-dimensional in nature. For example an object changing its geometry over its course, exhibits both spatial as well as temporal qualities, as it can change its shape at different points in time, as well as the location of the object. There is a need to store these objects and view it the same way it was at any particular point in time. The main challenge here is that, traditional database management systems are geared towards providing efficient support for simple objects which have just a discrete values attached to them. However, in the case of spatio-temporal objects, in addition to the value of objects, the time of occurrence & the spatial location also need to be considered; hence coming up with an efficient DBMS which will consider these different dimensions into account is very much important. This is an effort at combining the spatial and temporal data models and database systems to work with spatio-temporal data. In this spatio-temporal database, main focus is on the intersection of spatial and temporal concepts to come up with new techniques to manage spatio-temporal information systems. Definition Spatio-temporal databases aim to provide database support for applications which show both spatial and temporal characteristics. It provides extensions to existing models of Spatial databases to include temporal aspects, in order to better cater to dynamic environment, like moving objects, traffic flow etc. Spatio-temporal databases can be defined as a database that embodies spatial, temporal and spatio-temporal database concepts and captures both spatial and temporal aspects of data. In real world applications often time and space exists together, hence dealing with spatial aspect without considering temporal aspect is of limited use. Figure 1: provides an idea about the relationship, between spatial, temporal and spatio-temporal DBMS. Spatial DBMS Spatiotemporal DBMS Temporal DBMS 1 Spatio-Temporal Databases Figure 1: Relationship between spatial, temporal and spatio-temporal DBMS Importance Many database applications deal with spatio-temporal phenomena, and during the past decade a lot of research has been done on location-based services, moving objects, traffic jam preventions, whether prediction, etc. Spatio-temporal phenomena have become an important aspect of many of the real world applications and providing DBMS support for such applications is very much important. For example, in real time navigational systems, providing efficient and swift handling of the information is if prime importance. Unlike traditional data, spatio-temporal data poses many challenges, in terms of complexity of data structures, their representation, and manipulation. Though spatial and temporal aspects of these data objects have been studied seperately, the synergy between spatial and temporal aspect have not been extensively studied. Despite the ubiquitous nature of spatiotemporal phenomena, only a few complete spatio-temporal DBMS systems exist to support (STDBMSs) spatio-temporal data types and operations. In addition, unlike traditional DBMS applications, applications that need to process spatio-temporal objects need to handle vast amount of data, hence efficient retrieval, storage, and processing methods need to be devised. Location based services could target moving person and provide them with information according to their interests and location. In the case of traffic jam prevention, the GPS could suggest new trajectories based on the traffic volume or congestion on the routes along a person’s way. Also, this concept is extensively used in Geographic Information Systems (GIS), environmental information systems and multimedia. Also applications like global climate change, traffic surveillance, socio-demographic info, health records, also have spatio-temporal aspects to them. 2. Spatio-temporal DB Concepts Spatio-temporal concepts, embodies both spatial and temporal concepts. Spatiotemporal DB concepts need to accommodate both spatial and temporal DB concepts while implementing spatio-temporal DB. Hence it is essential to understand the different database concepts needed to create spatio-temporal DB systems, they are 1. Spatial Databases 2. Temporal Databases 3. Spatio-temporal Databases Spatial databases are designed to store and process spatial information systems efficiently. Spatial databases store the spatial attributes, which have space related properties usually the temporal extent is not present. For example, a spatial attribute is one which have an 2 Spatio-Temporal Databases attribute value and in addition have spatial attribute, for example “vegetation” inside a “land parcel”, in which the value is dependent on position and not on the object. Spatial databases offers, spatial datatypes, spatial data models and spatial query capabilities. The fundamental spatial data types are point, line and region as well as their relationships like intersects, lies within, lies outside, touches etc, and properties like area, surface area, volume etc.. Figure 2: shows the basic abstractions needed for spatial database and Figure represent their relationshsips. Figure 2: fundamental data types in spatial DBMS, point, line and region. Figure 3: few relationships between spatial objects, covered, intersects & adjacent. Temporal databases represent attribute of objects which are changing with respect to time i.e. like functions with continuous range or functions which represent discrete values at different points in time. Temporal databases aims at capturing the temporal aspects of the systems in real world into DBMS. Temporal DBMS have a built-in time concept incorporated in it to handle queries related to varying time. For example, weather prediction system which predicts weather at a particular location over a period of time. Temporal DBMS systems should have the notion of valid time and transaction time incorporated into it to handle temporal data objects. Similar to spatial DBMS systems, temporal DBMS systems are optimized to handle temporal aspects of objects, as well as provide efficient storage and retrieval of data with temporal aspects. Valid time: time period during which a fact/object value is true with respect to the real world. Transaction time: time period during which a fact/object is stored in the database For example, Table 1, represents the valid time and transaction time as valid start time, valid end time and transaction start time. The other important thing to note is that the information is never delted from these tables, unlike non-temporal DBMS tables, the past history is often deleted. Employe e ID 100200 Employee title Name John Manager Valid start time 12-Feb-2000 Valid end time 1-Jan-2004 Transaction start time 1-Jan- 2000 3 Spatio-Temporal Databases 100200 John 100300 Mary Sr. Manager Engineer 2-Jan-2004 10-Mar-2008 31-Dec-2003 15-Feb2008 18-nov-2011 1-Jan-2008 Table 1: Showing an employee history A spatio-temporal database needs to provide DBMS support for moving objects which continually change shape over time. As the moving object which changes shape over time exhibit both spatial and temporal extents. Most of the real world applications show both spatial and temporal aspects and they usually occur together, for example a change in land parcel shows a spatial extent, but the event occur over a period of time exhibiting temporal extent. The introduction of mobile and GPS devices have introduced a strong need for implementing efficient spatio-temporal DBMS systems which provide support for both spatial and temporal aspects in an efficient manner. Spatio-Temporal DB Models The fundamental aspect of spatio-temporal Information systems, is the spatiotemporal Data models. These define object data types, relationships, operations and rules to maintain database integrity for spati-temporal entities. It must also provide efficient support for spatio-temporal queries and analytical methods to be performed in the STIS (spatio-temporal information systems). When designing temporal data models, granularity, temporal operations, time density and time representation need to be taken into account , whereas for spatial data models, orientation, direction, structure of space, topology & measurement information need to be considered. Spatio-temporal semantics is, combining the two fields and defining data types, types of change with respect to time & space, spacetime topology, object identities and dimensionality. Figure 4, shows the 8 different sceneios that could occur in spatio-temporal data objects. 4 Spatio-Temporal Databases Figure 4: Possible types of change for spatio-temporal object. Different models have been proposed for modeling spatio-temporal information systems. The Snapshot Model, represents temporal aspects of data time-stamped layers on top of spatial data model. Here time is considered as an attribute of the location. This model is simplest, however, it occupies more memory as it stores redundant information In the case of Space-Time composite (STC) Data model, every line in space and time is projected onto a spatial plane and intersected with each other creating a polygon mesh. Though this model is able to record temporality within attribute, space and time, it fails to capture temporality among attributes across space. In Simple Time Stamping approach, each object consists of a pair of time stamps representing creation and deletion time of the object. The main advantage of this approach is that it is easy to obtain states of the object at any particular time. The disadvantage is that it is difficult to obtain the history of changes. The other approach is an Event-Oriented model, in which a log of events and changes made to the objects are logged into a transaction log. At any point in time, the actual database shows the current state and to obtain the historical information is obtained by combining data from the transaction logs. Yet another approach provided is called three domain model, and in this approach, semantics, space and time are kept separately and link is provided between them to 5 Spatio-Temporal Databases describe geographic processes and phenomena. For example, in the case of LIS (Land Information System), which stores the land owner and land details, land owner is the object, land parcel is the spatial aspect and the time line of events which occurred on the land is temporal aspect. The only disadvantage of this approach is that operators for dealing with the relationship among objects are not well defined. In the History Graph Model, each object version is identified by two timestamp describing the interval of time in which the state of the object is valid. Each transition is an entity that relates object versions with its successors or predecessors. Links or arrows between states display successor-predecessor relationships between them. The main intention is to visualize temporal element of geographical and other information. The Spatio-Temporal Entity-Relationship (STER) Model, is extended to spatiotemporal DBs. This model is not very suitable for depicting temporal aspects. Another method called Object-Relationship (O-R) Model, which represents the spatio-temporal object oriented models are introduced. Though this provided a conceptual level representation of spatio-temporal DB and provides basis for query processing, operations are not well defined. Related to this is the approach called Spatio-temporal objectoriented data models, which are based on object oriented technology. In this model, a single object can represent the whole history of an entity; queries are simple, efficient temporal data handling & uniform treatment of spatial and temporal data handling. The other model proposed was Moving Object Data Model, in this objects are viewed as 3D elements. This approach models time as integral part of the spatial entities. It is well suited for all types of spatio-temporal queries. 3. Spatio-temporal Query Languages Query Capabilities The different query capabilities like, queries to handle spatial properties, queries to handle temporal properties & queries to handle spatio-temporal properties are needed. Some of the examples of spatial queries are, where is this building? (point), find the gas station nearby (nearest neighbor) etc. Here is an example of a spatial query which examines if a particular river flows through a particular state. SELECT rivers, states FROM river, state WHERE river INTERSECT state. The following is a query to find the area with relative high temperature among the states which get extensive snow fall. SELECT Area(max(temp)) FROM us_weather WHERE climate = "snow" Some of the examples of temporal queries are, what happened to the land parcel over time?, etc. Below is an example of a temporal query which examines the state of an object at a particular time. SELECT title, employee_name FROM employee WHERE time=now() 6 Spatio-Temporal Databases Some of the examples of spatio-temporal queries are related to moving objects like, object trajectory tracking etc. Below is an example of a traffic management system query which examines the routes between 7.00 a.m and 9.00 a.m on any weekday morning. SELECT routes(7.00..9.00) FROM routes WHERE flight id=”ML675”. Query Languages Query languages for both spatial and temporal databases can be extended to provide spatio-temporal query language. Spatio-temporal query language need to handle additional complexity imposed due to handling of both temporal and spatial dimentions, extra effort must be taken to provide efficient implementation for spatio-temporal queries.. The different types of query languages that are suitable for spatio-temporal query processing are, HQL (Hibernate Query Language) , which is an extension of the relational query language DEAL. It has nested queries, conditional statements, loops, and function definitions, which allow recursivity. This has operations similar to spatial relationship operators, and also its expressive power makes HQL suitable choice for spatio-temporal query processing. Some examples of languages that can be used for spatio-temporal query processing include, temporal query language extensions, such as Ariav's TOSQL and Snodgrass' TQuel & TSQL2. Spatial query languages of interest include Berman's Geo-Quel, Joseph's PicQuery and Ooi's GeoQL,. Also STSQL which is based on SQL is also considered for Spatio-temporal query processing. This STSQL allows relational operators to include temporal as well as spatial attributes, and also provides generalized temporal query language constructs, which makes it a viable option for spatio-temporal query processing. The only disadvantage is that, STSQL is not intended for storing the movement of continuously moving objects. Query Operators In spatial domain, several operators for logical relationships, arithmetics, position, orientation, extent, surface area, volume, shape and perimeter, spatial topology & set oriented operators like union, cardinality, intersection etc need to be studied. In the case of spatio-temporal operators, in addition to the above mentioned spatial operations, operators related to temporal operations like, event duration, intersection, union, negation and comparison need to be taken into account. In order to mathematically describe the behavior of the spatiotemporal Query processing, first order predicate calculus, modal temporal logic, dynamic logic and nonmonotonic logic are used for query processing formalisms in temporal GIS. Temporal database research has provided several alternative extensions to existing, relational 7 Spatio-Temporal Databases algebra operators like, select, project, the cartesian product, set difference and union. A range of spatio-temporal operators are presented, including equality, subset and boundary operators, spatial and temporal selections and joins, and spatio-temporal b-product, union, intersection and difference operators, extending and redefining components of the classic relational algebra. Query Processing and Optimization Due to the increasing complexity of handling data in applications that need to model spatio-temporal databases very efficient handling of query processing is of prime importance. Moreover in majority of the applications are interested in aggregate information than individual entry. Hence it is very important to consider aggregate query processing techniques that improve performance. Some of the most frequently used aggregate functions are, aggregate sum and aggregate count. Also evaluation of aggregate query processing becomes important due to the huge volume of data that need to be analyzed. For example, when dealing with aggregate queries, a formal definition of spatiotemporal aggregation must be defined, also aggregate queries over spatio-temporal data require the organization of tuples from a spatio-temporal relation into collections, based on their spatial and temporal extents. This concept can also be extended to collections based on spatio-temporal granularities. 4. Spatio-temporal DBMS architecture: Though many different system architectures have been proposed for spatiotemporal database management systems, some of the most useful ones are presented here. The first one is a Standard Relational with Additional Layer, in this spatiotemporal layer is implemented on top of a standard relational DBMS. The main idea in thin layer approach here is to exploit the existing DBMS facilities as much as possible and abstract data types are used to represent spatio-temporal aspect. In the case of a thick layer approach, middle-ware is used to represent spatio-temporal concepts and DBMS is used as a persistent object store. Both these approaches provide support for extending the concept to spatio-temporal information systems by providing new query language features. Figure 5, represents a thin layer approach and Figure 6, represents a thick layer approach. application Additional spatiotemporal layer DBMS 8 Spatio-Temporal Databases Figure 5: Thin layer spatio-temporal DBMS architecture application Middle ware DBMS Figure 6: Thick layer spatio-temporal DBMS architecture The second approach is to devise combination architecture, with standard DBMS as underlying layer. Here file system is used to store the spatial and temporal data and indexes, which provides support to the data in DBMS. Here the main disadvantage is the co-ordination between different sub systems like DBMS and file system, which is a nontrivial task, as maintaining the integrity of data between DBMS and file system is the main concern here. Figure 7, provides a overall view of this scheme. application filesystem DBMS Figure 7: A filesystem based spatio-temporal DBMS In the third scheme, an extensible DBMS approach is considered, in this approach instead of implementing on top of the DBMS, it provides an approach to extend new system components such as data types, access methods, storage structures and low-level query processing into DBMS kernel. The idea is to extend the concept of extensibility to spatio-temporal DBMS. Figure 8, provides a visual representation of extensible DBMS for spatio-temporal DB. 9 Spatio-Temporal Databases application STDBMS Figure 8: Extensible DBMS 5. Spatio-temporal Storage and Indexing Spatio-temporal databases store data from real world applications which are continuously varying in space and time. Since they are continuously varying, they generate a huge volume of data compared to the traditional DB applications. Hence they need to be managed efficiently, in order to process the information in a timely manner. Moreover, unlike traditional DBMS operations, in spatio-temporal operations, both the cost of I/O, as well as the cost of computation is quite high. Hence efficient storage and indexing techniques are very much important in handling and processing this kind of data. Indexing methods In order to keep the I/O cost minimal, it is very important to come up well paginated indexing techniques which will have low space requirements and optimal data clustering on the storage media. Multi-dimensional spatial indexing techniques can be utilized to provide support for spatio-temporal indexing, with time treated as an extra dimension on top of the spatial object. Another form of spatio-temporal indexing is using partitioning where partitioning is based on the ``dimensional dominance'' of the data under consideration, a space- and time-dominant partitioning approaches are also considered depending upon characteristics of application under consideration. In R-tree based indexing approach, spatio-temporal indexing is implemented over a spatial indexing technique that stores information about spatial objects by referencing their Minimum Bounding Rectangle (MBR). Each node of a tree has entries of the form (R, P), where R is a rectangle that covers all the rectangles of the child nodes, and P is a pointer that either points to a child node or a leaf node Figure 9, provides a 3D, visualization of Rtree nd figure 10, provides a 2D visualization of MBR and its corresponding R-tree. To provide optimal storage a technique called , called the MR-Tree is used where subsequent images are allowed to reference parts of the original R-Tree structure of previous image, by sharing sub trees which indexes spatial information. 10 Spatio-Temporal Databases R22 4.5 4 3.5 R24 R12 3 2.5 R23 2 Column1 1.5 Column2 1 0.5 0 Column2 R11 R21 Column1 R31 R41 Figure 9. 3D visualization of R-tree Figure 10, R-tree for a 2D rectangle as MBR. Diagram source: http://en.wikipedia.org/wiki/R-tree 11 Spatio-Temporal Databases An approach called SR-tree is also used for spatio-temporal indexing, which references both interval and point data in a single index. Here features of Segment Tree and R-Tree are merged to provide improvement in performance and efficiency. Multidimensional segment indexing approach typically handles historical data represented by time intervals, using time as a separate dimension. There are other indexing techniques suggested to work with append-only spatio-temporal data models, which has non-uniform queries, for example, applications which query only the recent data could be easily accommodated using this scheme. The main aim is to use conventional indexing methods for different snapshots of information which exists at a particular ``epochs'' in time. In addition to the above mentioned techniques, the following indexing techniques can also be used for spatio-temporal database index scheme. - 3D R-trees treat time as another dimension using a state-of-the-art spatial indexing method, namely the R-tree, - MR-trees and HR-trees use overlapping in R-trees to represent successive states of the database And - RT-trees couple time intervals with spatial ranges in each node the tree structure by adopting ideas from R-trees and TSB-trees. Data Structures To address the efficient storage requirements of spatio-temporal DBMS systems, efficient structural organization of data are primary concern. Some of the general techniques for storing spatio-temporal data are, taking snapshots of the data at various points in time, though this represent the different state of the object very well, the main limitation was in representing the events that lead to the changes in state of the object also the space requirement are quite high as the state of the object is replicated at every point in time. In another technique, only the changes from previous version are registered in a newly created overlay. In this current state needs to be determined by superimposing all existing overlays to the original map. This represent the event as well as the change of state to an object very well. The other alternative name “space-time composite” is a variant of the overlay technique, without actual overlay involved to get the current state. In this representation, base map is fragmented over time into smaller and smaller units with their own temporal attribute sets. When an area of the map changes, it is split into two objects, the one that has changed and another that remained the same, and spatial information is stored for both. The disadvantage of this method is that during fragmentation, the geometrical and topological relationship among STC units change and the whole database need to be re-organized. Another approach is to describe a generic object-oriented data structure for spatio-temporal information. This is basically the implementation of the temporal change object (TCObject) data model, in which real world entities are treated as 12 Spatio-Temporal Databases objects. In some schemes, a new approach called sketches combined with RB-tree is provided to reduce the space requirements. 6. Applications of Spatio-temporal Databases There are many real world applications which benefit from spatio-temporal database management system and here a brief overview of few such applications are provided to get an indepth understanding of the spatio-temporal databases and its usefulness to real world. Some of the real world applications are in mobile technology, GIS, etc. Geographical Information Systems Spatio-temporal databases are used extensively in GIS applications, for example Indiana Dunes National Lakeshore, uses historical water quality data in their GRASS (Geographic Resources Analysis Support System) system to analyze spatial and temporal water quality parameters, like chloride concentrations in lakeshore ground water. Past data from 1931 is converted to formats for use in ATLAS*GRAPHICS, a desktop mapping program, that is capable of quickly displaying simple queries on water quality details. Conversion to GRASS provides more analytical power via its built-in hypothesis testing tools. In another application, a system for urban growth analysis is developed from multiple data sources, to forecast future growth patterns with respect to certain requirements as well as land use, land cover, multispectral imagery, census block count and building permit information have been integrated using ARC/INFO to analyses patiotemporal data. Scientific databases Another particular application group where spatio-temporal information plays an important part is scientific databases. Vast amounts of data are available for researchers in fields such as environmental studies, and thus there is a need to efficiently store, access and analyze this information. One of the most studied problems currently is global change, and several systems have been built specifically to investigate this issue, and one such prototype system, in which object-oriented tool set interfacing a conventional GIS (Genamap) that stores raw satellite-derived vegetation index data with temperature and precipitation information for a selected study area. This system also has additional temporal database management capabilities incorporated into it. There is yet another scientific database management system, which stores information on greenhouse effect, acid rain, the ozone hole and tropical deforestation data and in addition facilities for complex scientific analysis tools and spatio-temporal analysis capabilities are incorporated. Data Warehousing and Mining 13 Spatio-Temporal Databases There is huge volume of spatio-temporal data which are collected over the past few years exist and it is very important to identify spatio-temporal patterns that exists in such data, for use in data warehousing and in OLTP (on-line transaction processing). The mining of spatio-temporal patterns is very important as it leads to interesting patterns in the case of fleet management and environmental observation. The Semantic Web The concept of semantic web involves presentation of web information in a multi-linear format. It provides some form of structure to the web information. In a way semantic web concepts are similar to spatio-temporal database concepts and the spatio-temporal ontologies, models, languages and query processing algorithms could easily be extended to semantic web concepts. A related effort in this direction is creation of GML (Geographic Markup Language) proposed by open GIS consortium, which includes both spatial and non-spatial properties of geographical objects. 7. Platforms and Trends in handling spatio-temporal data Some of the new trends in spatio-temporal data management involves, improving the performance of query processing, providing very efficient storage management techniques. Here we present one such method of improving the performance of query handling in spatio-temporal DB using cloud platform as the platform level infrastructure for processing spatio-temporal data. Cloud Computing Unlike traditional database management systems, spatio-temporal DBMS systems will have to process large volumes of data for query processing. Hence it is memory and compute intensive. The latest trend in improving the performance of query processing in spatio-temporal DBMS systems involve solving the queries using a parallelized scheme. This can be achieved by the cloud computing infrastructures like map-reduce frameworks incorporated into Hadoop. Since spatiotemporal DBMS mostly deal with data parallel applications it can easily take advantage of the parallelization frameworks provided by the cloud computing platform. Here the spatio-temporal data is split into multiple partitions and fed through a number of system/machines which perform the same query and the results are combined together in the end to produce the desired result. Since queries are executed in parallel, on the data simultaneously, it speeds up the execution tremendously. Bibliography Abraham, Tamas; Roddick, John F.; "Survey of Spatio-Temporal Databases", GeoInformatica, pp. 61--99, vol. 3, 1, 1999 URL 2. Xiaoyu Wang; Xiaofang Zhou; Sanglu Lu; Spatiotemporal data modelling and management: a survey, Proceedings of 36th International Conference on Technology 1. 14 Spatio-Temporal Databases 3. 4. 5. 6. of Object-Oriented Languages and Systems, 2000. TOOLS - Asia 2000, pp. 202-211URL Yufei Tao; Kollios, G.; Considine, J.; Li, F.; Dimitris Papadias; , "Spatio-temporal aggregation using sketches," Data Engineering, 2004. Proceedings. 20th International Conference on , vol., no., pp. 214--225, 30 March-2 April 2004 URL Nikos Pelekis; Babis Theodoulidis; Ioannis Kopanakis; Yannis Theodoridis; "Literature Review of Spatio-Temporal Database Models", The Knowledge Engineering Review, Volume 19 Issue 3, September 2004 URL Ines Fernando Vega Lopez; Richard T. Snodgrass; Bongki Moon, "Spatiotemporal Aggregate Computation: A Survey", IEEE Transactions on Knowledge and Data Engineering, pp. 271-286, vol. 17, 2005 URL Markus Innerebner; Michael B?hlen; Igor Timko;, "A Web-Enabled Extension of a Spatio-Temporal DBMS", Proceedings of the 15th annual ACM international symposium on Advances in geographic information systems, 2007 URL 15