Evaluating different approaches of spatial database management for moving objects
2. Spatio-temporal continuum
Nowadays, geographotemporal decision-making in life support sciences often requires
the use of datasets where, in addition to the measured values, the description of the
physical geometry (in terms of spatial and temporal coordinates) is also part of these sets.
The scientific analysis of geographotemporal situations requires the introduction of
- The notion of a spatio-temporal continuum equipped with a coordinate system
and measure of space/time distances
- Models and techniques that establish linkages between spatio-temporally
distributed data.
A spatio-temporal continuum (or domain) E is a set of points associated with a
continuous spatial arrangement of events combined with their temporal order. Spatio-temporal
continuity implies an integration of space with time and is a fundamental
property of the mathematical formalism of natural phenomena.
Within the spatio-temporal continuum E , space represents the order of coexistence of
events, and time represents the order of their successive existence.
For the continuum E to be useful in real-world TGIS applications it must be equipped
with a coordinate system identifying points in space/time and a metric that measures
"distances" in space/time, i.e.,
E : (coordinates P , metric |d P|)
Generally speaking, a coordinate system is a systematic way of referring to places,
times, things and events. A point in a spatio-temporal domain E can be identified by
means of two separate entities: the spatial coordinates s = (s1,…,sn)ÎS ÌRn and the
temporal coordinate t along the temporal axis T ÌR 1 , so that the combined space/time
coordinates are
p = (s , t) ÎE =S×T
The above union of spatial coordinates s and the time coordinate t is defined in terms of
their Cartesian product S×T. [1]
3. Integrating time in Geographic Information Systems
A spatio-temporal GIS extends a customary two or three dimensional spatial GIS on
the time axis. A space-time path is defined by the changes of locations over time (figure
1). In a spatio-temporal framework space and time are equivalent features of an event or a
process. Furthermore each entity which physically exists in the real world is defined in a
spatio-temporal context which can be conceptualized using spatial, temporal and attribute
information. [2]

Fig. 1. Space and time path
Every spatial object used in a GIS has a temporal validity as well as one or many
attribute values. The entity of a spatio-temporal process may change its spatial
representation over time as well as its spatial relationship to other entities. In addition, the
related attribute information may be subject to changes throughout time.
"the concept of time implies that changes occur throughout the present, the past and
the future of the life span of a real-world phenomenon. A temporal GIS will aim to
undrestand these changes and their affects over time rather than simply reproducing them
by displaying a sequence of snapshots" (Wachowicz & Healey 1993).[2]
4. Spatio-temporal databases
Spatio-temporal database is a database that embodies spatial, temporal, and
spatiotemporal database concepts, and captures spatial and temporal aspects of data.
Spatio-Temporal Database is a special temporal database and it has all the features of
temporal databases. If we look at any timestamp only, it is almost the same as the
conventional spatial database. [3]
The importance of incorporating time in modeling data is widely recognized by many
researches, but most of the intentions mentioned are focused around the non-spatial
domain. Particularly, temporality has been studied in banking, administrative and other
commercial databases. Although the underlying concept of time handling is the same, the
great difference between spatio-temporal and a spatial database is what they refer to.
Since spatial data are spatially referenced, the spatial topology has to be maintained in the
updating process. This maintenance of topology becomes more critical when different
version of an object have to be accessible, for each given of time slices, and where
correctness of topology is required.
Validity is one of the main concepts in spatial databases. Logically, no decision can be
made when there is no valid data. If only the most recent data are kept, and out-dated
ones are deleted, one can have the static database which is a snapshot of the real world
(just like taking a photograph of a dynamic object). On the other hand, many spatial
analysis applications do need to travel through the history of data and retain an
impression about its old status. In this case, it can be seen that deleting data, even if it is
non-valid, may be disastrous. In addition, many applications require estimation about the
future. In this respect, one concludes that considering time as an independent dimension,
which allows traveling alone the time line, is necessary. Keeping an active time domain
in a spatial database, gives rise to the term spatio-temporal databases.
The ideal spatio-temporal database mentioned, besides having the normal functions
essential to every spatial database, also has the ability for keeping track of changed data.
In such databases, the mechanism of renewing the most recent spatial and temporal
topologies is implemented. In addition to the process of updating geographical objects,
keeping the valid topological (either temporal or spatial) relationships are also
operational. [3]
Spatio-temporal objects are limited to a given temporal validity. When new
information is assigned, the database has to be changed, in order to add the new data. In
such a case the database may have to rebuild completely for storing the new state, which
causes a great amount of redundancy. Alternatively the database might be time stamped
in order to indicate the temporal validity of its objects.
The ability of versioning a database is essential for all spatio-temporal applications,
where knowledge of the real world is uncertain or changing through time.[2]
5. Spatio-Temporal database features
There is a critical set of capabilities that are needed by moving objects database
applications and Spatio-temporal database . Existing DBMS's are not well equipped to
handle continuously changing data and they shoud be developed to be able to handle
these data. We chose the following features for the database, that is use to manage spatio-temporal
data:
- Elementary features (basic data types, SQL language features, declarative
integrity constraints, programming abstractions, automatic generation of
identifiers, national characters support).
- Transactions and multi-user access (transactions, locks, multi-user access).
- Programming in database (stored procedures and triggers).
- Elements of database administration (access control, backup copies, data migration).
- Portability and scalability
- Performance and VLDB (Very Large Database) issues (query optimization,
structures supporting query optimization, support for analytical processing,
allocation of disk space, data size limits, known VLDB implementations)
- Distributed databases (access to multiple databases, heterogeneous systems
support)
-
Special data types (large objects in database, post-relational extensions, support
for special data types)
- Application development and interfaces (embedded SQL, standard interfaces,
additional interfaces, interoperability with Web technology, XML, CASE)
- Reliability (failure recovery)
- Commercial issues (technical support available, market position)
- Spatial vision
6. Database Software
With concider to above mentioned specifications, and based on the capabilities that are
needed by moving objects database applications, we choose some existance DBMS's and
assessed them to find best DBMS to extend it for design and development a moving
object database.DBMS such as Oracle that here we mean Oracle 9i and DB2 universal
dadabase that is short form of database 2 universal database and is an IBM production.
SQL server version 2000 from Microsoft. And at last MySQL and PostgreSQL as Open
source databases.
7. The comparison of different database software
In this section we seek to compare products of a similar nature. Unfortunately this is
not a simple task. It is not true that SQL Server 2000 is better than MySQL version 4.1 or
Oracle 9i Database is better than DB2 Universal Database v8.1 or vice versa. All
products can be used to build stable and efficient systems and the stability and
effectiveness of the applications and databases depends upon the experience of the
database developers and database administrator rather than the database's
provider.However, each database has some advantages in comparison with others and
vise versa. Here are some of the differences and similarities between different databases:
7.1. Performance comparison
It is very difficult to make a performance comparison between databases. The
performance of the databases depends upon the experience of the database developers
and database administrator rather than the database's provider.
7.2. Platform comparison
All of Oracle 9i Database, DB2 Universal Database version 8.1, MySQL version 4.1
and PostgreSQL support all known platforms, including Windows-based platforms, AIX-Based
Systems, HP-UX systems, Linux Intel, Sun Solaris and so on. SQL Server 2000
only works on Windows-based platforms, including Windows 9x, Windows NT,
Windows 2000 and Windows CE.
7.3. Hardware requirements
To install software under the Windows-based platforms, we should have the following
hardware:
Table 1. Hardware comparison
7.4. Features comparison
All of Oracle 9i Database, IBM DB2 Universal Database v8.1, MySQL version 4.1
and SQL Server 2000 support the ANSI SQL-92 entry level and do not support the ANSI
SQL-92 intermediate level.
In general, Oracle offers all the features required for information integration in a
single unified product. The inherent reliability and security features of the Oracle
database are automatically inherited by information integration applications.Oracle is
clearly the leader in the distributed space with its single, unified solution to satisfy a
complete spectrum of information integration requirements.All editions of Oracle
include; the PL/SQL engine to develop stored procedures, triggers, and functions; a Java
compiler and Virtual Machine (JVM) to develop Java stored procedures and triggers;
XML support; an Apache Web server; and object-relational capabilities.Oracle9i
Database offers a rich set of development and administration tools, and recent releases
have focused on security and scalability improvements. The implementation of various
index types demonstrates how extensively Oracle9i Database focuses on fast data
retrieval, especially in large databases such as data warehouses. In addition, the use of
reverse key and function-based indexes, allows for a great degree in flexibility in quickly
accessing data. In recognizing the high availability challenges every business faces,
Oracle provides comprehensive, unique, powerful and simple to use capabilities to
protect against most forms of unplanned downtime, including system faults, data
corruption, human error and disaster. And, achieves this in an environment where the
need for planned downtime is marginalized.
IBM on the other hand has a completely different model for information integration.
They offer different products for different integration scenarios. This adds several layers
of complexity, since each product has to be installed and configured separately.
Oracle and DB2 can scale to terabytes of data storage fairly easily. MySQL and
PostgreSQL are known to run well into the hundreds of gigabytes. PostgreSQL and
MySQL boast widespread use for relatively small databases (under 100GB, for example).
DB2 offers the very basic set of backup and recovery capabilities but lacks the
completeness and depth of data protection required by most businesses today. In fact,
DB2 is behind even Microsoft SQL Server when it comes to high availability.
The dialect of SQL supported by Oracle 9i Database is called PL/SQL. The dialect of
SQL supported by IBM DB2 v8.1 is called DB2 SQL dialect. The dialect of SQL
supported by Microsoft SQL Server 2000 is called Transact-SQL (T-SQL). The dialect of
SQL supported by MySQL version 4.1 is called MySQL dialect. Transact-SQL dialect is
a more powerful language than MySQL dialect. A brief comparison of PL/SQL, DB2
SQL, T-SQL and MySQL dialect follows: (Table 2)
Table 2. Feature comparison