Diva++: Dynamic Range Filtering over Hard Workloads
Navid Eslami, Ioana O. Bercea, Niv Dayan
Abstract
Range filters are compact probabilistic data structures that answer approximate range emptiness queries. They are used in many domains, e.g., in key-value stores, to quickly rule out the existence of keys in a given query range and avoid searching for them in storage. However, all existing range filters exhibit at least one of three shortcomings: (1) they do not provide any false positive rate or performance guarantees, (2) they do not support variable-length keys and query ranges, and (3) they do not allow dynamic updates. We introduce Diva, the first range filter to address all the above challenges simultaneously. Diva learns the dataset's distribution by sampling keys and storing them in a cache-efficient trie. It compresses keys in-between samples by removing their longest common prefix and truncating their suffixes while leaving enough bits in the middle (i.e., an infix) to differentiate the keys in sorted order. It stores infixes in constant-time dynamic data blocks, which it splits to handle insertions and expansions. It processes a range query by traversing the trie and checking for the inclusion of infixes in the target query range. We mathematically prove that Diva provides the best possible trade-off between memory and false positive rate on many common real-world data distributions. We extend these benefits to a wider range of real-world workloads by introducing Diva++, an enhanced Diva variant. Diva++ saves memory by removing redundancies among infixes using order-preserving entropy encoding. It then removes any remaining identical infixes and uses the freed space to store more bits of the original keys within compact binary tries. We compare Diva and Diva++ to all prior range filters, and show that they achieve a false positive rate on par with the state of the art on real-world datasets while supporting dynamicity and variable-length queries and keys.
Create a lesson
Related papers
A Near-Optimal Space Lower Bound for Euclidean Diameter Estimation in Dynamic Streams
Ashwin Padaki, Krish Singal, Erik Waingarten
A Walk From Free Probability to Matrix Discrepancy I: Matrix Spencer
Tarun Kathuria
A Walk From Free Probability to Matrix Discrepancy II: Weaver's Problem and the Kadison-Singer Conjecture
Tarun Kathuria
Degree-Free Spectral Independence for Log-Concave Holant Measures
Xiaoyu Chen, Zejia Chen, Xinyuan Zhang
Optimizing Both Checking and Update Costs in Random Walk Search
Simon Apers, Marin Costes
Routing Multiple Agents Below the Sum of Distances
Matthias Bentert, Eduard Eiben, Fedor V. Fomin et al.