Abstract:
Spatial data consists of multi-dimensional data represented by points, lines, rectangles, polygons, and volumes. Spatial databases used in various application including computer vision, computer-aided design, solid modeling and geographic information system. The index is one of the major access methods in databases processing. The B+-tree is the most widely used index structure in the current traditional commercial database systems. The R-tree and its variants are the most widely used index in spatial database systems. However, R-tree index structures suffer from many drawbacks, such as expensive insertion and page splitting, as well as problems with search and deletions of objects which may follow several paths from the root page to the target leaf (data) page.
In this thesis, we present a new Multidimensional index structure, we call it RB+-tree, that performs search, insert, and delete operations in O(log N) as in B+-trees, where N is the number of objects in the spatial database, and avoids all of the drawbacks of the R-tree index structure. That is, few pages are accessed, and only one path is followed when executing search, insert, and delete operations. Our index-structure modification operations such as page split, merge, redistribute, increase-index-height, and decrease-index-height are done in a very simple elegant way, as in B+-trees compared to the complex page split in R-tree and its variants. It is noteworthy that R-tree is heuristic while the RB+-tree is guaranteed to work all the time.
RB+-tree has the concepts of both B+-tree and of R-tree. We have imposed partial order on objects; each object in the plane is represented by a unique number (key). We have preserved the objects proximity. Two objects close in the plane are close in theindex structure of RB+-tree. RB+-tree is B+-tree; it is similar to B+-tree in insertion, deletion, split/merge, and exact key search. RB+-tree follows the R-tree in using the mbr (minimum bounding rectangle) in its structure and is used for answering window queries. In this thesis we have implemented variants of RB+-tree which deserve further research.
While the R-tree uses the window query for all operations, the RB+-tree uses it for range search only and uses exact key value search for all other operations. Our proposed RB+-tree still needs further work to match the performance of R-tree in the range searching (window queries) where sophisticated split algorithms are used in R-tree and its variants to minimize the overlap.Experimental comparisons between R-tree, R*-tree and RB+-tree were made using data Germany Rail-Road data set is found at http://www.rtreeportal.org/spatial.html.