The priority R-tree: A practically efficient and worst-case optimal R-tree
We present the priority R-tree, or PR-tree, which is the first R-tree variant that always answers a window query using O (( N / B ) 1−1/ d + T / B ) I/Os, where N is the number of d -dimensional (hyper-) rectangles stored in the R-tree, B is the disk block size, and T is the output size. This is pro...
Gespeichert in:
Veröffentlicht in: | ACM transactions on algorithms 2008-03, Vol.4 (1), p.1-30 |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | We present the priority R-tree, or PR-tree, which is the first R-tree variant that always answers a window query using
O
((
N
/
B
)
1−1/
d
+
T
/
B
) I/Os, where
N
is the number of
d
-dimensional (hyper-) rectangles stored in the R-tree,
B
is the disk block size, and
T
is the output size. This is provably asymptotically optimal and significantly better than other R-tree variants, where a query may visit all
N
/
B
leaves in the tree even when
T
= 0. We also present an extensive experimental study of the practical performance of the PR-tree using both real-life and synthetic data. This study shows that the PR-tree performs similarly to the best-known R-tree variants on real-life and relatively nicely distributed data, but outperforms them significantly on more extreme data. |
---|---|
ISSN: | 1549-6325 1549-6333 |
DOI: | 10.1145/1328911.1328920 |