Proteus: A Self-Designing Range Filter
本文提出一种自设计的近似范围滤波器Proteus,它根据采样数据配置自身,以优化其假阳性率(FPR),满足给定的空间需求。Proteus统一了最先进的范围滤波器的概率和确定性设计空间,以在更大的各种用例中实现鲁棒的性能。Proteus的核心是上下文前缀FPR (CPFPR)模型——一个跨设计空间的基于前缀的过滤器FPR的形式化框架。经验证明了该模型的准确性,以及Proteus对合成工作负载和真实世界数据集的优化能力。在RocksDB中进一步评估了Proteus,结果表明,与SuRF和Rosetta等更脆弱的最先进方法相比,它能够将端到端性能提高5.3倍。实验还表明,与端到端性能提升相比,建模的成本不显著,并且Proteus对工作负载的转移具有鲁棒性。
1.A CONTEXTUAL PREFIX FPR MODEL
在本节中,我们将形式化地描述工作负载的不同方面是如何影响基于前缀的范围过滤器的性能的,以便理解不同设计的权衡。利用该框架对先进的AREs的基本组件进行了分解,实现了统一的设计空间。
1.)The Importance of Prefix Lengths
我们首先建模一个标准的前缀布隆过滤器,因为这是我们更复杂结构的基础。在考虑单前缀布隆过滤器时,唯一需要配置的参数是前缀长度的选择。图2展示了如何使用1-4位的前缀对一组4位的密钥进行编码。每个散列到过滤器中的前缀编码键集的至少一个成员包含该前缀;因此,短前缀可以编码许多值,而长前缀只能编码少数值。