Making data structures persistent
Journal of Computer and System Sciences - 18th Annual ACM Symposium on Theory of Computing (STOC), May 28-30, 1986
Multidimensional access methods
ACM Computing Surveys (CSUR)
On two-dimensional indexability and optimal range search indexing
PODS '99 Proceedings of the eighteenth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
The P-range tree: a new data structure for range searching in secondary memory
Proceedings of the sixth annual ACM-SIAM symposium on Discrete algorithms
ACM Computing Surveys (CSUR)
Box-trees and R-trees with near-optimal query time
SCG '01 Proceedings of the seventeenth annual symposium on Computational geometry
External memory algorithms and data structures: dealing with massive data
ACM Computing Surveys (CSUR)
On a model of indexability and its bounds for range queries
Journal of the ACM (JACM)
The K-D-B-tree: a search structure for large multidimensional dynamic indexes
SIGMOD '81 Proceedings of the 1981 ACM SIGMOD international conference on Management of data
R-trees: a dynamic index structure for spatial searching
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
An Efficient Multiversion Access Structure
IEEE Transactions on Knowledge and Data Engineering
An asymptotically optimal multiversion B-tree
The VLDB Journal — The International Journal on Very Large Data Bases
External memory data structures
Handbook of massive data sets
Optimal External Memory Interval Management
SIAM Journal on Computing
The Priority R-tree: a practically efficient and worst-case optimal R-tree
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
Hi-index | 0.00 |
In this tutorial we will describe some of the recent advances in the development of worst-case efficient range search indexing structures, that is, structures for storing a set of data points such that the points in a axis-parallel (hyper-) query rectangle can be found efficiently (with as few disk accesses - or I/Os - as possible). We first quickly discuss the well-known and optimal structure for the one-dimensional version of the problem, the B-tree [10, 12], along with its variants weight-balanced B-trees [9], multi-version (or persistent) B-trees [6, 11, 13, 22] and buffer-trees [4]. Then we discuss the external priority search tree [8], which solves a restricted version of the two-dimensional version of the problem where the query rectangle is unbounded on one side. This structure is then used in a range tree index structure [8, 21] that answers general two-dimensional queries in the same number of I/Os as the B-tree in the one-dimensional case, but using super-linear space. We also describe the linear space kdB-tree [19, 20] and O-tree [17] index structures that also solve the problem efficiently (but using more I/Os than the range tree). A detailed presentation of all the the above structures can be found in lecture notes by the author [5]. Finally, we also discuss lower bounds techniques, most notably the theory of indexability [16], that can be used to prove that both the range tree and kdB-tree/O-tree are optimal among query efficient and linear space structures, respectively [2, 8, 17], as well as recent index structures for higher-dimensional range search indexing [1]. We end by mentioning various R-tree variant [7, 18, 15] that can be used to solve the extended version of range search indexing where the queries as well as the data are (hyper-) rectangles. More comprehensive surveys of efficient index structures can be found in [3, 14, 23].