Abstract
R-Trees have been traditionally optimized for I/O performance with disk pages as tree nodes. Recently, researchers have proposed cache-conscious variations of R-Trees optimized for CPU cache performance in main memory environments, where the node size is wider than the cache line size and more entries are packed in a node by compressing MBR keys. However, because there is a big difference between the node sizes of two types of R-Trees, disk-optimized R-Trees show poor cache performance while cache-optimized R-Trees exhibit poor disk performance. In this paper, we propose a cache and disk optimized R-Tree, called the TR-Tree (Two-way optimized R-Tree). We evaluate the in-page leaf and non-leaf node sizes and the height of the in-page tree to minimize the cache miss cost for searching a TR-Tree. In addition, we fit nodes into disk pages to maximize the disk I/O performance. Our implementation achieves better cache and disk performance than disk-optimized R-Trees: a factor of 6-28 improvement for insertions and a factor of 1.28-2.00 improvement for range queries.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have