Ribbon 过滤器:实际比 Bloom 和 Xor 更小
数据结构与算法
2021-03-09 v2 数据库
摘要
过滤器数据结构对一组可哈希键进行过近似,即集合成员查询可能错误地返回正结果。已知假阳性率为 的过滤器每个键需要 比特。至少对于较大的 ,现有实用过滤器相对于该信息论下界至少需要 20% 的空间开销。我们引入了 Ribbon 过滤器:一种用于静态集合的新过滤器,具有广泛可配置的空间开销和假阳性率,在该范围内具有有竞争力的速度,特别是对于较大的 。在许多情况下,Ribbon 在相同空间开销下比现有过滤器更快,或者可以用一些额外的 CPU 时间实现低于 10% 的空间开销。一种带负载均衡的实验性 Ribbon 设计甚至可以实现低于 1% 的空间开销。Ribbon 过滤器类似于经过修改以最大化局部性的 Xor 过滤器,并通过求解布尔变量上的带状线性系统来构造。在先前工作中,Dietzfelbinger 和 Walzer 描述了该线性系统及一种高效的高斯求解器。我们提出并分析了一种更快、更 adaptable 的求解过程,称为“Rapid Incremental Boolean Banding ON the fly”,其类似于哈希表构造。我们还提出并分析了一种基于使线性系统齐次化的有吸引力的 Ribbon 变体,并描述了几种更实用的增强。
引用
@article{arxiv.2103.02515,
title = {Ribbon filter: practically smaller than Bloom and Xor},
author = {Peter C. Dillinger and Stefan Walzer},
journal= {arXiv preprint arXiv:2103.02515},
year = {2021}
}
备注
14 pages, 7 figures