Moving Object Spatial Queries and Indexing Techniques

advertisement
Moving Object Spatial Queries and Indexing Techniques
1
Moving Object Spatial Queries and Indexing Techniques
Wei Hu, Lei Sha, Marci Sperber
Catalog:
Section 1: Introduction
3
Section 2: Questions and queries for moving objects.
5
2.1 Coordinate-based and Trajectory-based
5
2.2 Time slice and interval
7
2.3 Historical and Predictive
7
2.4 Nearest Neighbor
8
2.5 OLAP/aggregation
10
Section 3 Indexing approaches
10
3.1. R-tree, R*-tree, grid, quad-tree, CR-tree
11
3.2 Q+R-tree
14
3.3 LUR-tree
17
3.4. BBx-tree, MV3R-tree, Bx-tree, HR-tree, STR-tree, TB-tree.
19
Section 4 Summary and Discussion
23
4.1 Hierarchical View
23
4.2 Query Categorized View
24
4.3 Future Research Possibilities
25
References
26
Figures:
2.1.1 Trajectories of moving point objects in spatiotemporal workspace
6
2.3.1 Historical vs. Predictive Query
7
2.4.1 A kNN query example
9
3.1.1 R-tree Example
11
3.1.2 Grid Index Example
13
3.1.3 Quad-tree Example
13
3.1.4 CR-tree example and QRMBR technique
14
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
2
3.1.5 Performance comparison among R-tree, R*-tree, CR-tree, Quad-tree and Grid
against uniform, skewed and hyper-skewed data distribution cases with different
combinations of moving object numbers and queries
15
3.2.1 Example of R*tree over the Quasi-Static Objects
16
3.2.2 Q+R-tree example
17
3.2.3 Update performance of R-tree(modify), R*tree, quadtree and Q+R-tree 17
3.2.4 Search performance of R-tree(modify), R*tree, quadtree and Q+R-tree 18
3.2.5 Overall performance of R-tree(modify), R*tree, quadtree and Q+R-tree 18
3.3.1 Example of Lazy Update vs. the Traditional Update
19
3.3.2 Structure of LUR-tree plus DirectLink and LU algorithm
19
3.3.3 Total # disk accesses to process 100 update queries for each object
20
3.3.4 Average number of disk accesses for one update query
20
3.4.1 Different split scenarios of STR-tree. (a) disconnect (b) bi-connect (c)
backward/forward
21
3.4.2 TB-tree structure
21
3.4.3 Historical synopsis
22
3.4.4 structure of Bx-tree
22
3.4.5 BBx-index structure
23
3.4.6 Historical Range Query Performance
23
3.4.7 Predictive Range Query Performance
24
4.1.1 Hierarchical View of Indexing Techniques
25
Tables:
2.1.1 Types of spatiotemporal queries
8
2.4.1 NN queries for different query and data characteristics
9
4.1.1 Indexes that benefits specific queries
26
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
3
Section 1: Introduction
The continues advances in the affordability, functionality, and technologies such as
wireless communications, personal locator software and hardware, and global positioning
systems, enable a range of new personal information services to be available. Most of
those are related to the user’s geo-location. Example services include finder applications
that allow mobile phone users to locate friends or family, businesses, or landmarks.
Services may also deliver maps, directions, or traffic reports. [1] These new features of
wireless communication are supported by location-aware applications such like
intelligent traffic control and management systems, mobile communication systems,
sensor-based surveillance systems, etc. As a matter of fact, the location-based services
and needs are expending rapidly. It could be briefly categorized into 4 major types:
informational, tracking, emergency and employee services. [2]
Behind the scene, databases that manage moving objects, which support and enable those
services to function, have received considerable attentions in recent years and become
very hot in research fields. Tracking moving objects requires updates to the mobile
database. And extract information from the database usually involving some interesting
major types of queries: coordinate-based and trajectory-based, time-slice and interval,
OLAP and aggregation, historical and prediction, K-th nearest-neighbor finding and
similarity search, spatial join, etc. In Section 2 we are going to discuss some
characteristics of those queries.
Accompanying the improvements of moving object database query, techniques to
facilitate the efficiency of both updates and selections of the spatial queries for
processing are developed by many research groups. There are problems with traditional
disk-based indexes, when applied to scalable, real-time execution of continuous queries
on moving objects. As the objects move, it needs frequent update on the index and reevaluation for all queries. Also it requires very short execution times for large numbers of
moving objects and queries. [3]
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
R-tree is the very first access methods created by Guttman in 1984.
4
[4]
Then some well-
known index structures extended from this are R*-Tree, packed R-Tree, CR-Tree, and
R+-tree, etc.
in 1984.
[7]
[5,6]
Grid file is another earlier indexing technique developed by Nievergelt
Also Quad-tree has been developed into multiple new approaches such as
Point quad-tree, pyramid, octree, PR-tree, MX-CIF quad-tree, PMR quad-tree, etc.
[8]
With deeper research carried out and more needs emerged from spatial database usage,
more an more new indexes are designed for different specific type of queries. LUR-tree
tries to benefit performance of updates. [9] Q+R-tree tempted to combine advantages from
quad-tree and R-tree so updating and searching performance are more balanced. [10] Some
effort is put on the querying demand of historical, present and future positions of moving
objects to better support the tracking services, where BBx-tree, Bx-tree, HR-tree, STRtree and TB-tree are concerned and studied.
[11, 12, 13]
One important variant is 3D trees.
One example is trying to introduce 3D in order to benefit interval queries with paying
some storage penalty, implemented by extending MVR-tree to MV3R-trees. [14] We shall
discuss the performance and storage attributes of some recent improvements in detail in
Section 3.
Associate with each indexing techniques, many computational algorithms along with
spatial data modeling and representation, especially here for moving objects, are
generated and improved. For example, in a recent paper for reducing the updates in
moving object database, one aspect of the improvement includes 3 algorithms to modify
the representation of road-network: General segment connection algorithm, Street codebased algorithm, Tall disconnection algorithm, and Direction-based algorithm. Using
routes and using acceleration profile are the other 2 approaches in order to reduce the
updates. [15] We will not discuss much on this topic and just want to remind that for each
new index techniques or improvements of existing ones, most of the time they are
associated with advances in related algorithms. And the improvements in algorithms
along might greatly help an existing indexing approach too.
It is very interesting to see how those known indexing techniques are connected to each
other from a hierarchical view. Also another view on characteristics of queries that are
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
5
affected in performance perspective, either improving or degrading, caused by applying
different indexing techniques could be very useful too. In section 4 we will present these
2 views including the type of indexes we discussed in this paper.
Section 2: Questions and queries for moving objects.
According to the specific interests in spatial data on moving objects, the questions asked
and later transferred into spatial queries are mostly unlike the traditional relational
database queries. Not only it deals with topological, network, directional or Euclidean
operations and spatial abstract data types, the query also somehow extended to a higherdimension axis, the temporal aspect, viewable as past, current and future of an moving
object. We will compare and contrast a few typical characteristics of spatial queries in
this section.
2.1 Coordinate-based and Trajectory-based [13]
This part of discuss is referring to spatiotemporal data, which tracks a moving object’s
past, current locations and might predict its future location as well. One good example of
the actual usage in reality is to support the optimization of transportation, fleet
management as a core application. With communication between GPS devices on
vehicles and the central computer, a continuous location information sampling is made
available. Then the querying the dataset becomes a challenge. The term trajectory means
the object movement. The data of a moving object (point representation) forms a polyline
with 2D for location and 3rd dimension for time attribute. Figure 2.1.1 shows a layout of
the trajectory data. Thus, different from classic spatial datasets, now it contains more
information such as speed, acceleration, etc to be derived from. And also this results in
considering larger objects like trajectories rather than the spatial objects only. This leads
to additional kind of queries.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
6
Figure 2.1.1 Trajectories of moving point objects in spatiotemporal workspace [13]
The coordinate-based queries are more traditional spatial queries, including point, range,
and nearest-neighbor queries in the resulting 3D space here. A query in this category
could be like “find all vehicles in Washington D.C. between 9-12am yesterday”.
Operations involved in coordinate-based queries are like overlap, inside, etc.
The trajectory-based queries contain 2 categories, topological queries and navigational
queries. Topological queries interest in the data stored in whole or part of a trajectory
object such like “when did vehicle X enters Washington D.C. most recently”. It is
sometimes quite expensive to find the matching data. Operations involved in topological
queries are like enters, leaves, bypasses, and crosses. The navigational queries will need
derived information to answer questions like “what is the current speed of vehicle X”.
Because the information asked is not stored directly, overhead of computing the answers
are paid. Interested data in these queries are like speed, heading, travel distance, etc.
Table 2.1.1 summarizes the above categorization.
The combined type queries require both location and trajectory information to answer.
These might be very complex and expensive to process.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
7
Table 2.1.1 Types of spatiotemporal queries [13]
2.2 Time slice and interval
This is a simple concept, where time slice queries are about a time point while the
interval is about a window of the time between 2 time points. Associate with other
attributes of the query, such as predictive, nearest neighbor, etc, the second type of
queries is usually harder to answer during the processing. And an efficient indexing
technique to support the second type of query is also much more complex to design.
2.3 Historical and Predictive [11, 12]
Historical queries refer to the time interval between the start time of the whole life span
and the current time data. It retrieved appropriate data from existing data and could be
briefly further categorized into interval range queries and time-location constrained
queries.
On the other hand, predictive queries refer to the time after the current time and up to the
maximum update interval since the current time. Or in a word, given the current moving
object’s current characteristics of the movements (reference position, velocity vector,
etc.), predict the future position of the object for given time interval. A good example
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
8
could be “where will vehicle X be in 10 min”. Obviously this type of query focus on the
time and location constrained set operation. Figure 2.3.1 demos these 2 query types.
Figure 2.3.1 Historical vs. Predictive Query [12]
The interval range query is quite traditional spatial queries, and as discussed before likely
coordinated-based queries. The time and location constrained queries are more interesting
with relation to temporal patterns. Concerning the performance of set query, 3 variables
are the most important: the number of time intervals, the length of time intervals and the
query frequency.
2.4 Nearest Neighbor [17]
Related to our topic, the nearest neighbor (NN) queries are looking for k number of
nearest moving objects to a referred object or location. Figure 2.4.1 shows one example
database with 4 moving objects a, b, c and d. A NN query could ask which 2 objects are
the nearest to the given position (in the middle) during certain time interval.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
9
Figure 2.4.1 A kNN query example [17]
The most challenging aspect of this type of query is its complex cases. Both the data and
the queries could be either static or dynamic, which results into combination of 4 cases.
Also when the query temporal range changes from time slice to a time interval, the
difficulty to efficiently find the answer greatly increases. Cause the time-interval NN
query requires the knowledge of special time points when changes of result set are
indicated. Table 2.4.1 shows a brief summary of studies related to the 4 cases of NN
queries.
Table 2.4.1 NN queries for different query and data characteristics. [17]
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
10
In section 3 we will also discuss and compare some of the indexing techniques researched
for those NN queries in a little more detail.
2.5 OLAP/aggregation [16]
Aggregation queries in spatial database are a bit differently processed as in traditional
relational database. Queries like “find number of vehicles entered Washington D.C. in the
past 2 hours” are sometimes called window aggregate queries. This type of queries
usually asks for aggregate data over regions that satisfy some spatiotemporal predicates.
The big difference or problem compare to traditional relational database is that it is hard
to detect the pre-defined hierarchies from positions and the ranges of spatiotemporal
query window. Also they are not known in advance. That leads to some difficulties to use
OLAP operations. Cause these hierarchies have to be taken into account during the
design of the system such that aggregation queries are executed efficiently. Complexity
of the hierarchy changes can be resulted from dynamic or volatile aspects of the spatial
dimensions. For example, the area covered by a cell in wireless communication may
change according to weather conditions, extra capacity allocated etc.
Section 3 Indexing approaches
Indexing techniques help to improve the efficiency of queries to processing data. It is a
very important aspect of relational databases, as well as in the extended query syntax and
data here for spatial databases. During the past 22 years indexing approaches for spatial
and spatiotemporal queries have been one attractive and unique field for research groups.
Since 1984 the very first spatial specific index presented by Guttman,[4] the R-tree, more
and more indexes are developed to add efficiency to spatial queries including those
involving moving objects. Based on some basic index structures such as R-tree, quadtree,
B-tree, and grid, along with attributes such as dimensional (3D), temporal (history and
prediction), etc, indexes with variant structures are experimented for different goals to
seek performance boost.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
11
In this section we will refer to the performance testing and analysis on a few index groups.
And we will try to identify the advantages and disadvantages of those indexes associated
with certain types of queries.
3.1. R-tree, R*-tree, grid, quad-tree, CR-tree [25]
Kalashnikov et al.
[25]
researched the performance of 5 indexing approaches, R-tree, R*-
tree, grid, quad-tree, and CR-tree. R-tree and R*-tree index structures are designed to be
disk-based structures. An optimal access is achieved by choosing the node size to be a
multiple of disk page size. R*-tree is the variant of R-tree where definition of overlap of
rectangles and splitting algorithm is different.
[26]
Figure 3.1.1 shows example of R-tree
(R*-tree).
Figure 3.1.1 R-tree Example [4]
The grid index and the quad-tree are very closely related. They are both space
partitioning indexing techniques and handling the overfull region by split operation.
There are some differences between them: the grid index as 2D cells is a height-balanced
structure while not in a quad-tree. Thus the grid index is more efficient in searching with
shorter average path, especially for skewed data. Figure 3.1.2 shows example of grid
index.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
12
Figure 3.1.2 Grid Index Example [25]
Figure 3.1.3 Quad-tree Example [27]
The main idea of CR-Tree is to make R-Tree cache-conscious by compressing MBRs.
This is achieved by using so-called Quantized Relative Minimum Bounding Rectangles
(QRMBR). Figure 3.1.4 shows the basic data structures of a CR-tree and the QRMBR
technique that used for CR-tree. It compress the size of the MBR to about one forth of
original but increases false hits and fanout as tradeoff. [28]
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
13
Figure 3.1.4 CR-tree example and QRMBR technique [28]
The performance comparison of the five in-memory indexes and shows the grid index is
the best of all with uniform, skewed and hyper-skewed data. In the test some criteria of
choosing proper grid size and a Z-sort optimization technique are presented to improve
the grid index performance. The results are shown in Figure 3.1.5. Each cycle consists of
two steps:
moving
objects
(i.e.,
determining
current
object
locations) and
evaluation/processing. The winning in uniform data for grid index is quite expected but it
is surprising to see it wins in skewed and hyper-skewed case too. Also it is interesting
that quad-tree gains better performance generally comparing to R-tree like structures but
lost to the grid index especially with hyper-skewed data. The problem with quad-tree
dealing with skewed data is the super unbalanced tree and the extremely tree depth,
which is expected as the basic characteristics difference between quad-tree and the grid
index.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
14
Figure 3.1.5 Performance comparison among R-tree, R*-tree, CR-tree, Quad-tree and
Grid against uniform, skewed and hyper-skewed data distribution cases with different
combinations of moving object numbers and queries.
3.2 Q+R-tree [10]
Seeing the advantages and disadvantages of quad-tree and R-tree, a typical way of
seeking new techniques are applied in Xia’s paper
[10]
to try a new solution, combining
multiple existing techniques. Here the hybrid of quad-tree and R-tree is studied and
experimented to efficiently index moving objects. The main idea is to separate but yet
associate the fast moving objects with slow moving regions to sufficiently use their
different characteristics to benefit the querying process.
There are three steps to build a Q+R-tree. The first step is to build a Topography-Based
R*tree over topographical regions and quasi-static objects. These regions can be
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
15
determined by analyzing either the available maps or the past behavior of users. This
R*tree has some special features: The level above the leaves store topographical regions
to avoid overlap between the nodes; The leaves of the tree store moving objects has no
Maximum/Minimum Entries per node restriction, and a dynamic array is used to increase
the space utilization. Figure 3.2.1 shows an example of the special R*tree.
Figure 3.2.1 Example of R*tree over the Quasi-Static Objects [10]
The second step is to build a quad-tree over the entire space by inserting all objects that
are not in the slow-moving cells. And the third step is to combine the quad-tree and
R*tree structures by building a list with each quadrant pointing to each of the R*tree
nodes contained by or intersecting the quadrant. Figure 3.2.2 shows the example of a
hybrid Q+R-tree.
For the update performance of the new hybrid index, the author compared the new index
with quad-tree, R*tree, and R*tree (modify) on the scale of processing time of location
updates for objects in each cycle. Figure 3.2.3 shows that in performance order the best
index for updates is quad-tree, then Q+R-tree, R*tree and R*tree (modify). R-trees are
much worst in insertions and deletions while Q+R-tree is pretty close to what quad-tree
can do.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
16
Figure 3.2.2 Q+R-tree example [10]
Figure 3.2.3 Update performance of R-tree(modify), R*tree, quad-tree and Q+R-tree [10]
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
17
Then the searching performance comparison of the 4 indexes shows the R*tree is the best.
Then the order is the Q+R-tree, the R*tree (modify) and quad-tree. The search
performance of Q+R-tree is just a little bit worse than the pure R*tree. Figure 3.2.4 shows
the results.
Figure 3.2.4 Search performance of R-tree(modify), R*tree, quad-tree and Q+R-tree [10]
The overall performance is the most interesting. As pure R*tree suffers from large update
overhead, and the quad-tree suffers from worst searching efficiency, the Q+R-tree
outperforms both pure R*tree and pure quad-tree. This is shown in figure 3.2.5. Thus the
hybrid idea of quad-tree and R-tree is very successful here in improving overall
performance of querying moving objects.
Figure 3.2.5 Overall performance of R-tree(modify), R*tree, quad-tree and Q+R-tree [10]
3.3 LUR-tree [9]
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
18
As we see in section 3.3, the update of moving objects contributes greatly to the overall
performance. So many other research groups are focusing on how to reduce the number
of updates thus to improve the overall runtime. One approach presented by Kwon
[9]
is
using a lazy update algorithm. Figure 3.3.1 shows the difference between traditional
update and the lazy update. We can see that the steps of handling MBR are saved.
Figure 3.3.1 Example of Lazy Update vs. the Traditional Update [9]
Figure 3.3.2 shows the lazy update algorithm and the data structure of the LUR-tree. First
a leaf node containing the moving object is found using DirectLink. Then the possibility
of applying the lazy update algorithm is checked. If the new position is still in the MBR,
only the change to the new object location is updated. Otherwise some traditional ways
are applied to handle the update, such as delete and insert, MBR extension, or reinsertion
into the parent node.
Figure 3.3.2 Structure of LUR-tree plus DirectLink and LU algorithm [9]
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
19
The update performance of the LUR-tree comparing to R*tree is greatly improved.
Shown in figure 3.3.3 and 3.3.4, the number of disk accesses of update queries are
reduced obviously compared to R*tree. Where U and G designate uniform and Gaussian
dataset attributes and R and D designate random and directed attributes.
Figure 3.3.3 Total # disk accesses to process 100 update queries for each object [9]
Figure 3.3.4 Average number of disk accesses for one update query [9]
3.4. BBx-tree, MV3R-tree, Bx-tree, HR-tree, STR-tree, TB-tree. [11, 12, 13, 14]
The support to queries about the past, the present and the future of moving objects are
demanded with historical and predictive queries. Again recently there were many
researching on indexes specifically benefit this area as well.
Christian et al.
[13]
provided two novel approaches to help trajectory queries with
temporal attributes involved, STR-tree and TB-tree. STR-tree is an extension of the
R*tree. The goal is to preserve trajectories in the index. The major differences are in the
insertion/split criteria. STR-tree considers not only spatial closeness in the insertion
process, but also partial trajectory preservation. The split of the node now has to know
additional information on the segment relationship, which could be of four types:
disconnected, forward, backward, or bi-connected. By preserving the most trajectory
information with reasonable cost, STR-tree will facilitate the spatiotemporal queries.
Figure 3.4.1 shows different split scenarios of STR-tree.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
20
Figure 3.4.1 Different split scenarios of STR-tree. (a) disconnect (b) bi-connect (c)
backward/forward [13]
TB-tree structure is designed for strictly preserves trajectories such that a leaf node only
contains segments belonging to the same trajectory. Concessions are made to the most
important R-tree property, overlap or spatial discrimination to implement this index.
Figure 3.4.3 shows a structure of TB-tree. We can see that the whole trajectory is
reserved properly in order to benefit pure spatiotemporal queries. Christian identified
some performance improvements with STR-tree comparing to R*tree, but not TB-tree.
Figure 3.4.2 TB-tree structure. [13]
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
Sun et al.
[14]
21
tried a 3D R-tree and PB-tree for historical indexes. Main idea is separate
the past nodes and current nodes to utilize the main memory efficiently. Figure 3.4.3
shows the basic idea of historical synopsis. The packed B-tree implementation stores the
active leaf nodes on the rightmost and other lifespan leaf nodes. The 3D R-tree used more
storage of an index in trade of the runtime performance.
Figure 3.4.3 Historical synopsis [14]
Lin et al.
[12]
tried another approach extending Bx-tree
[29]
from Jensen’s work. Bx-index
applies a novel linearization technique to time-stamped locations, which keeps spatial
proximity and is also time-wisely partitioned. Bx-index is based on the B+-tree. Figure
3.4.4 shows the structure of Bx-tree.
Figure 3.4.4 structure of Bx-tree [29]
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
22
The BBx-index is actually a forest of trees, formed by a B-tree on top of many Bx-trees,
with each tree having an associated timestamp signature and a lifespan. Figure 3.4.5
shows the structure of this new index. The lifespan corresponds to the range of lifespan
related to the objects indexed in the tree.
Figure 3.4.5 BBx-index structure [12]
Performance tests comparing some of the previously described index techniques are done
in Lin’s paper. BBx-index shows better performance in historical range queries than the
MV3R-tree (Figure 3.4.6). It also runs a bit better than Bx-index in predictive range
queries (Figure 3.4.7). Overall these approaches bring some improvements on different
aspects for the spatiotemporal queries.
Figure 3.4.6 Historical Range Query Performance [12]
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
23
Figure 3.4.7 Predictive Range Query Performance [12]
There are many other indexing techniques provided and in process of researching for
better performances of querying moving objects. They aim at different aspects of
improvement. We expect to see better solutions will be presented in this field.
Section 4 Summary and Discussion
Most of the time, we cannot absolutely tell that a new technique is the best from all
perspectives. Every improvement has a tradeoff. Although by towards the goal of
improving moving object queries, each idea of improvement has a general term sitting
behind that for certain attributes of the processing it does benefit. So an overview of those
attributes associated with the techniques might help future research foresights.
Considering the indexes we looked previously, we are tempted to create a few views
from a higher point. Here we try to provide 2 views, the hierarchical view and the query
categorized view.
4.1 Hierarchical View
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
24
Figure 4.1.1 shows the hierarchical view. We derived this view from the association
among indexes we discussed previously.
Figure 4.1.1 Hierarchical View of Indexing Techniques
Based on 3 major basic techniques: B-tree, partitioning and R-tree, multiple extensions
are made either on the algorithms associated with the index or the structure of the index
such that performance improvements are achieved. We went through R*tree, CR-tree, Bxtree, etc. Hybrids of different branches and higher dimensional expansions are also tried.
Among those are Q+R-tree, 3D R-tree that we discussed in previous sections.
Each basic technique has its advantage and disadvantage. For example, quad-tree from
the partitioning root has advantage of updating but suffers from the searching process. So
the innovative way of preserving the advantage and making up for the disadvantage is the
key of successful new solutions.
4.2 Query Categorized View.
According to the results from multiple resources, we can relate the type of queries
improved to the indexing techniques as shown in Table 4.1.1.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
Queries for …
Indexes that relatively good on performance
Trajectory
TB-tree
Normal range
Grid
Updates
LUR-tree, R*tree,
Searching
Quad-tree
Historical
MV3R-tree, BBx-tree
Predictive
Bx-tree, BBx-tree
Time-slice
STR-tree, HR-tree
Interval
MV3R-tree
25
Table 4.1.1 Indexes that benefits specific queries
We can see here that by modifying different aspects of the existing techniques, different
results are rewarded. For example, as quad-tree is good at searching and R-tree is good at
updating, Q+R-tree become a good attempt to gain overall performance with both side. If
we can construct a complete version of this table with most of the current indexing
approach benefits listed, then a good foresight should be provided for future researches.
4.3 Future Research Possibilities
Continue from previous discussion, based on the incomplete table listing index
advantages, we present a few possibilities of new indexes. Algorithm and implementation
wise issues will always need to be sorted and experiments should be carried out to
support new ideas. But to see the direction is also important. The first one is to combine
LUR-tree with quad-tree to get a Q+LUR-tree, where even better update performance is
provided. Another thing is about the superior searching performance of the modified grid
index comparing to quad-tree and R-tree variants
[25]
. An extended G+R-tree might
outperform the Q+R-tree too. Thinking this way we could get a bunch of new ideas
where one of them proved to be working as expected.
As always, the other data structures can be considered to when certain advantages are
seen needed for improving indexes for moving objects. Thus new hybrid techniques and
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
26
more innovative ways of moving objects query processing or even data representation
could be studied to bring search in this field forward.
References:
1 Speicys L, Jensen C S, Kligys A. (2003) Computational data modeling for networkconstrained moving objects, Proc. of GIS'03, Louisiana, USA, 2003
2. Graham Chen. (2003) A tutourial on location based services.
http://www.cs.umn.edu/Research/shashi-group/CS8715/MO2_Tutorial-GrahamChen.pdf
3. S. Prabhakar, Y. Xia, D. Kalashnikov, W. Aref, and S. Hambrusch. (2002) Query
indexing and velocity constrained indexing: scalable techniques for continuous queries on
moving objects. IEEE Transaction on Computers, 51(10):1124--1140, Oct, 2002.
4. Guttman, A. (1984) R-tree: A dynamic index structure for spatial searching. In
SIGMOD ’84, Proceedings of the ACM SIGMOD Conference. ACM Press.
5. S. Shekhar and S. Chawla, (2003) Spatial Databases: A Tour, Prentice Hall, 2003.
6. K. Kim, S. K. Cha, and K. Kwon. (2000) Optimizing multidimensional index trees for
main memory access. In Proc. of SIGMOD 2000.
7. Nievergelt, J., Hinterberger, H., and Sevcik, K. (1984). The grid file: And adaptable,
symmetric multikey file structure. ACM Transactions on Databse Systems, 9(1):38-71.
8. Snehal Thakkar, Hanan Samet. Spatial Data Structures. (2001)
http://infolab.usc.edu/csci599/Fall2001/note/SpatialDataStructures.ppt
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
27
9. D. Kwon, S. Lee, S. Lee. (2002) Indexing the Current Positions of Moving objects
Using the Lazy Update R-tree. Third International Conference on Mobile Data
Management, January, Singapore, p. 113, 2002.
10. Yuni Xia, Sunil Prabhakar: (2003) Q+Rtree: Efficient Indexing for Moving Object
Database. DASFAA 2003: 175-182
11. S. Saltenis, C. S. Jensen, S. T. Leutenegger, and M. A. Lopez.(2000) Indexing the
positions of continuously moving objects. In SIGMOD Conference, 2000.
12. D. Lin, C. S. Jensen, B. C. Ooi, S. Saltenis, (2005) "Efficient Indexing of the
Historical, Present, and Future Positions of Moving Objects," in Proceedings of MDM
2005
13. Dieter Pfoser Christian S. Jensen Yannis Theodoridis(2000): Novel Approaches to
the Indexing of Moving Object Trajectories. Proceedings of the 26th International
Conference on Very Large Databases, Cairo, Egypt, 2000
14. J. Sun, D. Papadias, Y. Tao, and B. Liu. (2004) Querying about the Past, the Present,
and the Future in Spatio-Temporal Databases. ICDE, pp. 202–213, 2004.
15. Alminas Civilis, Christian S. Jensen, Stardas Pakalnis(2005): Techniques for Efficient
Road-Network-Based Tracking of Moving Objects. IEEE Trans. Knowl. Data Eng. 17(5):
698-712 (2005)
16. Dimitris Papadias, Yufei Tao, Jun Zhang, Nikos Mamoulis, Qiongmao Shen, Jimeng
Sun(2002): Indexing and Retrieval of Historical Aggregate Information about Moving
Objects. IEEE Data Eng. Bull. 25(2): 10-17 (2002)
17. Katerina Raptopoulou, Apostolos Papadopoulos, Yannis Manolopoulos(2003): Fast
Nearest-Neighbor Query Processing in Moving-Object Databases. GeoInformatica
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
28
7(2): 113-137 (2003)
18. N. Roussopoulos, S. Kelley, and F. Vincent,(1995) "Nearest neighbor queries,"
Proceedings of ACM Sigmod , May 1995
19. Zhexuan Song, Nick Roussopoulos (2001) K-Nearest Neighbor Search for Moving
Query Point. Processings 7th SSTD Symposium, 79-96, 2001
20. B. Zheng and D. lee. (2001) Semantic caching in location-dependent query
processing. Proceedings 7th SSTD symposium, 97-116, 2001
21. Y. Tao and D. Papadias. (2002) Time-parameterized queries in spatiotemporal
databases. Proceedings ACM SIGMOD conference, 334-345, 2002b
22. Y. Tao and D. Papadias, and Q. Shen. (2002) Continues nearest neighbor search.
Proceedings 28th VLDB conference, 287-298, 2002a
23. G. Kollios, d. Gounopoulos, and V.J. Tsotras. (1999) Nearest neighbor queries in a
mobile environment. Proceedings workshop on Spatiotemporal Database Management,
119-134, 1999
24. R. Benetics, C.S. Jensen, G. karciauskas, and S. Saltenis. (2002) Nearest neighbor
and reverse nearest neighbor queries for moving objects. Prodeedings IDEAS conference,
44-53, 2002
25. Dmitri V. Kalashnikov, Sunil Prabhakar, Susanne Hambrusch, and Walid Aref.(2002)
Efficient evaluation of continuous range queries on moving objects. In DEXA, 2002.
26. N. Beckmann, H.-P. Kriegel, R. Schneider, and B. Seeger,(1990) "The R*-tree: An
efficient and robust access method for points and rectangles," Proceedings of ACM
SIGMOD Int'l. Conf. on Management of Data, pp. 322-331, 1990.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
29
27. C. Shahabi (2006) Spatial Index Structures. infolab.usc.edu/csci585/
Spring2006/Lectures/Session11-BW.pdf
28. K. Kim, S. K. Cha, and K. Kwon (2001), Optimizing multidimensional index trees for
main memory access, Proc. of the ACM SIGMOD Conference, pp. 139--150.
29. C. S. Jensen, D. Lin, and B. C. Ooi.(2004) Query and Update Efficient B+-Tree
Based Indexing of Moving Objects. Proc. VLDB, pp. 768–779, 2004.
Wei Hu, Lei Sha, Marci Sperber 2006
Moving Object Spatial Queries and Indexing Techniques
30
Wei Hu, Lei Sha, Marci Sperber 2006
Download