Secondary Indexing in One Dimension: Beyond B-trees and Bitmap Indexes
Rasmus Pagh, S. Srinivasa Rao

TL;DR
This paper introduces a theoretically optimal data structure for secondary indexing in strings, achieving near-minimal I/O and space efficiency, with support for updates and an approximate query version with probabilistic false positives.
Contribution
It presents the first optimal data structure for secondary indexing in one dimension, improving query time and space bounds, and extends to approximate indexing with controlled false positives.
Findings
Achieves I/O-efficient query performance within a constant factor of the minimum.
Uses O(n log |S|) bits of space, adaptable to entropy bounds.
Supports efficient updates with various trade-offs.
Abstract
Let S be a finite, ordered alphabet, and let x = x_1 x_2 ... x_n be a string over S. A "secondary index" for x answers alphabet range queries of the form: Given a range [a_l,a_r] over S, return the set I_{[a_l;a_r]} = {i |x_i \in [a_l; a_r]}. Secondary indexes are heavily used in relational databases and scientific data analysis. It is well-known that the obvious solution, storing a dictionary for the position set associated with each character, does not always give optimal query time. In this paper we give the first theoretically optimal data structure for the secondary indexing problem. In the I/O model, the amount of data read when answering a query is within a constant factor of the minimum space needed to represent I_{[a_l;a_r]}, assuming that the size of internal memory is (|S| log n)^{delta} blocks, for some constant delta > 0. The space usage of the data structure is O(n log…
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.
Taxonomy
TopicsAlgorithms and Data Compression · Advanced Database Systems and Queries · Data Management and Algorithms
