Download Spatio-Temporal Databases

yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts

Entity–attribute–value model wikipedia, lookup

Concurrency control wikipedia, lookup

Open Database Connectivity wikipedia, lookup

Functional Database Model wikipedia, lookup

Clusterpoint wikipedia, lookup

Database wikipedia, lookup

Relational model wikipedia, lookup

Versant Object Database wikipedia, lookup

Database model wikipedia, lookup

Spatio-Temporal Databases
1. Introduction to Spatio-Temporal Databases
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.
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.
Spatio-Temporal Databases
Figure 1: Relationship between spatial, temporal and spatio-temporal DBMS
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
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
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.
e ID
Employee title
Valid start
Valid end
start time
1-Jan- 2000
Spatio-Temporal Databases
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.
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
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()
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
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.
Spatio-Temporal Databases
Figure 5: Thin layer spatio-temporal DBMS architecture
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.
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.
Spatio-Temporal Databases
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.
Spatio-Temporal Databases
Figure 9. 3D visualization of R-tree
Figure 10, R-tree for a 2D rectangle as MBR.
Diagram source:
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
- 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
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
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
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
Spatio-Temporal Databases
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