Parallel R-trees

We consider the problem of exploiting parallelism to accelerate the performance of spacial access methods and specifically, R-trees [11]. Our goal is to design a server for spatial data, so that to maximize the throughput of range queries. This can be achieved by (a) maximizing parallelism for large range queries, and (b) by engaging as few disks as possible on point queries [22]. We propose a simple hardware architecture consisting of one processor with several disks attached to it. On this architecture, we propose to distribute the nodes of a traditonal R-tree, with cross-disk pointers (“Multiplexed” R-tree). The R-tree code is identical to the one for a single-disk R-tree, with the only addition that we have to decide which disk a newly created R-tree node should be stored in. We propose and examine several criteria to choose a disk for a new node. The most successful one, termed “proximity index” or PI, estimates the similarity of the new node with the other R-tree nodes already on a disk, and chooses the disk with the lowest similarity. Experimental results show that our scheme consistently outperforms all the other heuristics for node-to-disk assignments, achieving up to 55% gains over the Round Robin one. Experiments also indicate that the multiplexed R-tree with PI heuristic gives better response time than the disk-stripping (=“Super-node”) approach, and imposes lighter load on the I/O sub-system. The speed up of our method is close to linear speed up, increasing with the size of the queries.

[1]  Walid G. Aref,et al.  Optimization for Spatial Query Processing , 1991, Very Large Data Bases Conference.

[2]  Azriel Rosenfeld,et al.  Computer Vision , 1988, Adv. Comput..

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

[4]  Jack A. Orenstein Spatial query processing in an object-oriented database system , 1986, SIGMOD '86.

[5]  Antonin Guttman,et al.  New Features for Relational Database Systems to Support CAD Applications , 1984 .

[6]  Oliver Günther,et al.  The cell tree: An index for geometric databases , 1988 .

[7]  Klaus H. Hinrichs,et al.  The Grid File: A Data Structure to Support Proximity Queries on Spatial Objects , 1983, International Workshop on Graph-Theoretic Concepts in Computer Science.

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

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

[10]  Christos Faloutsos,et al.  The R+-Tree: A Dynamic Index for Multi-Dimensional Objects , 1987, VLDB.

[11]  Michael Stonebraker,et al.  Rule indexing implementations in database systems , 1986 .

[12]  J. T. Robinson,et al.  The K-D-B-tree: a search structure for large multidimensional dynamic indexes , 1981, SIGMOD '81.

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

[14]  Nick Roussopoulos,et al.  Direct spatial search on pictorial databases using packed R-trees , 1985, SIGMOD Conference.

[15]  Walter S. Scott,et al.  Magic: A VLSI Layout System , 1984, 21st Design Automation Conference Proceedings.

[16]  Christos Faloutsos,et al.  Fractals for secondary key retrieval , 1989, PODS.

[17]  H. V. Jagadish,et al.  Linear clustering of objects with multiple attributes , 1990, SIGMOD '90.

[18]  David J. DeWitt,et al.  GAMMA - A High Performance Dataflow Database Machine , 1986, VLDB.

[19]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[20]  Michael Stonebraker,et al.  Segment indexes: dynamic indexing techniques for multi-dimensional interval data , 1991, SIGMOD '91.

[21]  Sakti Pramanik,et al.  Parallel Processing of Large Node B-Trees , 1990, IEEE Trans. Computers.

[22]  Bernhard Seeger,et al.  Multi-disk B-trees , 1991, SIGMOD '91.

[23]  Irene Gargantini,et al.  An effective way to represent quadtrees , 1982, CACM.

[24]  Antonin Guttman New features for a relational database system to support computer aided design , 1984 .