A Design of Parallel R-tree on Cluster of Workstations
DNIS '00 Proceedings of the International Workshop on Databases in Networked Information Systems
High-Concurrency Locking in R-Trees
VLDB '95 Proceedings of the 21th International Conference on Very Large Data Bases
Hi-index | 0.00 |
In this paper we present a solution to the problem of concurrent operations in R-trees, a dynamic access structure capable of storing multidimensional and spatial data. We describe the R-link tree, a variant of the R-tree that adds sibling pointers to nodes, a technique first deployed in B-link tree, a variant of the R-tree that adds sibling pointers to nodes, a technique first deployed in B-link trees, to compensate for concurrent structure modifications. The main obstacle to the use of sibling pointers is the lack of linear ordering among the keys in an R-tree; we overcome this by assigning sequence numbers to nodes that let us reconstruct the "lineage" of a node at any point in time. The search, insertion and deletion algorithms for R-link trees are designed to lock at most two nodes at a time and the locking can be shown to be deadlock-free. In addition, we describe how R-link trees can be made recoverable so that they are instantly available after a crash and we further describe how to achieve degree 3 consistency with an inexpensive predicate locking mechanism.