In-memory Multidimensional Indexing Using the skd-tree
Achilleas Michalopoulos, Dimitrios Tsitsigkos, Nikos Mamoulis

TL;DR
This paper introduces the skd-tree, a memory-efficient, parallelized variant of kd-tree optimized for multi-dimensional range and nearest neighbor queries, outperforming existing methods.
Contribution
The paper presents the slicing kd-tree (skd-tree), a novel data structure with reduced levels and SIMD-based algorithms for faster multi-dimensional queries.
Findings
skd-tree reduces tree levels and computation for queries
it outperforms existing multi-dimensional indexing methods
the proposed algorithms are efficient on real and synthetic datasets
Abstract
In this paper, we revisit the problem of indexing multi-dimensional data in memory for the efficient support of multi-dimensional range queries and nearest neighbor queries. This is a classic problem in main-memory databases, where there is a need for indexing multiple columns simultaneously. Established data structures include the R-tree, kd-tree, quad-tree, and grid-based partitioning. More recently, multi-dimensional learned indexes have also been proposed to address this problem. We propose slicing kd-tree (skd-tree), a variant of the kd-tree, where each node partitions the space of its subtree into multiple slices across a single splitting dimension. By compressing the splitters of the partitions and with the help of data-parallelism, we (i) radically reduce the number of levels of the tree and (ii) limit the number of computations required for multi-dimensional range and proximity…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
