Incorporating updates in domain indexes: experiences with Oracle spatial R-trees

Much research has been devoted to scalable storage and retrieval techniques for domain databases such as spatial, text, XML and gene sequence data. Many efficient indexing techniques have been developed in this context. Given the improvement in the underlying technology, database applications are increasingly using domain data in transactional semantics. We examine the issue of when during the lifetime of a transaction is it better to incorporate updates in domain indexes. We present our experiences with R-tree indexes in Oracle. We examine two approaches for incorporating updates in spatial R-tree indexes: the first at update time, and the second at commit time. The first approach immediately incorporates changes in the index right away using system transactions and at commit time makes them visible to other transactions. The second approach, referred to as the deferred-incorporate approach, defers the updates in a secondary table and incorporates the changes in the index only at commit time. In experiments on real data sets, we compare the performance of the two approaches. For most transactions with reasonable number of update operations, we observe that the deferred approach outperforms the immediate-incorporate approach significantly for update operations and with appropriate optimizations achieves comparable query performance.

[1]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[2]  Klaus H. Hinrichs,et al.  Efficient Bulk Operations on Dynamic R-Trees , 1999, Algorithmica.

[3]  Sharad Mehrotra,et al.  Efficient concurrency control in multidimensional access methods , 1999, SIGMOD '99.

[4]  Peter Dadam,et al.  Selective Deferred Index Maintenance & Concurrency Control in Integrated Information Systems , 1985, VLDB.

[5]  C. Mohan,et al.  Concurrency and recovery in generalized search trees , 1997, SIGMOD '97.

[6]  Torben Bach Pedersen,et al.  Integrated Data Management for Mobile Services in the Real World , 2003, VLDB.

[7]  Hanan Samet,et al.  Recent developments in linear quadtree-based geographic information systems , 1987, Image Vis. Comput..

[8]  Hans-Peter Kriegel,et al.  The X-tree : An Index Structure for High-Dimensional Data , 2001, VLDB.

[9]  David A. Hull Improving text retrieval for the routing problem using latent semantic indexing , 1994, SIGIR '94.

[10]  Kothuri Venkata Ravi Kanth,et al.  Quadtree and R-tree indexes in oracle spatial: a comparison using GIS data , 2002, SIGMOD '02.

[11]  Mario A. López,et al.  STR: a simple and efficient algorithm for R-tree packing , 1997, Proceedings 13th International Conference on Data Engineering.

[12]  Marcel Kornacker,et al.  High-Concurrency Locking in R-Trees , 1995, VLDB.

[13]  W. Bruce Croft,et al.  Integrating IR and RDBMS using cooperative indexing , 1995, SIGIR '95.

[14]  Hector Garcia-Molina,et al.  Incremental updates of inverted lists for text document retrieval , 1994, SIGMOD '94.

[15]  David B. Lomet,et al.  The hB-tree: a multiattribute indexing method with good guaranteed performance , 1990, TODS.

[16]  Christian Böhm,et al.  Independent quantization: an index compression technique for high-dimensional data spaces , 2000, Proceedings of 16th International Conference on Data Engineering (Cat. No.00CB37073).

[17]  Jay Banerjee,et al.  Indexing medium-dimensionality data in Oracle , 1999, SIGMOD '99.

[18]  Mong-Li Lee,et al.  Supporting Frequent Updates in R-Trees: A Bottom-Up Approach , 2003, VLDB.

[19]  Christos Faloutsos,et al.  The TV-tree: An index structure for high-dimensional data , 1994, The VLDB Journal.

[20]  Forouzan Golshani,et al.  Proceedings of the Eighth International Conference on Data Engineering , 1992 .

[21]  Hanan Samet,et al.  The Design and Analysis of Spatial Data Structures , 1989 .

[22]  Elke A. Rundensteiner,et al.  Merging R-Trees: Efficient Strategies for Local Bulk Insertion , 2002, GeoInformatica.

[23]  Divyakant Agrawal,et al.  Hardware acceleration for spatial selections and joins , 2003, SIGMOD '03.

[24]  Ning An,et al.  Improving Performance with Bulk-Inserts in Oracle R-Trees , 2003, VLDB.

[25]  Luis Gravano,et al.  Efficient IR-Style Keyword Search over Relational Databases , 2003, VLDB.

[26]  Kothuri Venkata Ravi Kanth,et al.  Efficient Processing of Large Spatial Queries Using Interior Approximations , 2001, SSTD.

[27]  Kothuri Venkata Ravi Kanth,et al.  Spatial processing using oracle table functions , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[28]  Ambuj K. Singh,et al.  Efficient Index Structures for String Databases , 2001, VLDB.

[29]  Hans-Peter Kriegel,et al.  The R*-tree: an efficient and robust access method for points and rectangles , 1990, SIGMOD '90.

[30]  Christian S. Jensen,et al.  Indexing of moving objects for location-based services , 2002, Proceedings 18th International Conference on Data Engineering.