Memento Filter: A Fast, Dynamic, and Robust Range Filter

Navid Eslami, Niv Dayan
{"title":"Memento Filter: A Fast, Dynamic, and Robust Range Filter","authors":"Navid Eslami, Niv Dayan","doi":"arxiv-2408.05625","DOIUrl":null,"url":null,"abstract":"Range filters are probabilistic data structures that answer approximate range\nemptiness queries. They aid in avoiding processing empty range queries and have\nuse cases in many application domains such as key-value stores and social web\nanalytics. However, current range filter designs do not support dynamically\nchanging and growing datasets. Moreover, several of these designs also exhibit\nimpractically high false positive rates under correlated workloads, which are\ncommon in practice. These impediments restrict the applicability of range\nfilters across a wide range of use cases. We introduce Memento filter, the first range filter to offer dynamicity, fast\noperations, and a robust false positive rate guarantee for any workload.\nMemento filter partitions the key universe and clusters its keys according to\nthis partitioning. For each cluster, it stores a fingerprint and a list of key\nsuffixes contiguously. The encoding of these lists makes them amenable to\nexisting dynamic filter structures. Due to the well-defined one-to-one mapping\nfrom keys to suffixes, Memento filter supports inserts and deletes and can even\nexpand to accommodate a growing dataset. We implement Memento filter on top of a Rank-and-Select Quotient filter and\nInfiniFilter and demonstrate that it achieves competitive false positive rates\nand performance with the state-of-the-art while also providing dynamicity. Due\nto its dynamicity, Memento filter is the first range filter applicable to\nB-Trees. We showcase this by integrating Memento filter into WiredTiger, a\nB-Tree-based key-value store. Memento filter doubles WiredTiger's range query\nthroughput when 50\\% of the queries are empty while keeping all other cost\nmetrics unharmed.","PeriodicalId":501123,"journal":{"name":"arXiv - CS - Databases","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-08-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Databases","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.05625","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Range filters are probabilistic data structures that answer approximate range emptiness queries. They aid in avoiding processing empty range queries and have use cases in many application domains such as key-value stores and social web analytics. However, current range filter designs do not support dynamically changing and growing datasets. Moreover, several of these designs also exhibit impractically high false positive rates under correlated workloads, which are common in practice. These impediments restrict the applicability of range filters across a wide range of use cases. We introduce Memento filter, the first range filter to offer dynamicity, fast operations, and a robust false positive rate guarantee for any workload. Memento filter partitions the key universe and clusters its keys according to this partitioning. For each cluster, it stores a fingerprint and a list of key suffixes contiguously. The encoding of these lists makes them amenable to existing dynamic filter structures. Due to the well-defined one-to-one mapping from keys to suffixes, Memento filter supports inserts and deletes and can even expand to accommodate a growing dataset. We implement Memento filter on top of a Rank-and-Select Quotient filter and InfiniFilter and demonstrate that it achieves competitive false positive rates and performance with the state-of-the-art while also providing dynamicity. Due to its dynamicity, Memento filter is the first range filter applicable to B-Trees. We showcase this by integrating Memento filter into WiredTiger, a B-Tree-based key-value store. Memento filter doubles WiredTiger's range query throughput when 50\% of the queries are empty while keeping all other cost metrics unharmed.
Memento 滤波器:快速、动态、稳健的范围滤波器
范围过滤器是一种概率数据结构,用于回答近似范围空查询。它们有助于避免处理空范围查询,在键值存储和社交网络分析等许多应用领域都有使用案例。然而,当前的范围过滤器设计不支持动态变化和增长的数据集。此外,其中一些设计还在相关工作负载下表现出高误报率,这在实践中很常见。这些障碍限制了范围过滤器在各种应用案例中的适用性。我们引入了 Memento 过滤器,它是第一款为任何工作负载提供动态性、快速操作和稳健误报率保证的范围过滤器。对于每个群集,它都会连续存储一个指纹和密钥后缀列表。对这些列表的编码使它们适合于现有的动态过滤器结构。由于从键到后缀的一对一映射定义明确,Memento 过滤器支持插入和删除,甚至可以扩展以适应不断增长的数据集。我们在 Rank-and-Select Quotient 过滤器和 InfiniFilter 过滤器的基础上实现了 Memento 过滤器,并证明它的误报率和性能与最先进的过滤器相比具有竞争力,同时还提供了动态性。由于其动态性,Memento 过滤器是第一个适用于 B 树的范围过滤器。我们将 Memento 过滤器集成到基于 B 树的键值存储 WiredTiger 中,展示了这一点。当 50% 的查询为空时,Memento 过滤器能将 WiredTiger 的范围查询吞吐量提高一倍,同时保持所有其他成本指标不受影响。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信