New Wine in an Old Bottle: Data-Aware Hash Functions for Bloom Filters
在布隆过滤器的许多应用中,可以利用插入键和未插入键的模式来实现比标准布隆过滤器更大的压缩。一类新的布隆过滤器被称为学习型布隆过滤器,它使用机器学习模型来利用数据中的这些模式。在实践中,这些方法及其变体提出了许多问题:机器学习模型的选择、达到预期结果的训练范式、阈值的选择、使用多个分区时的分区数量,以及其他此类设计决策。本文提出了一种简单的分区布隆过滤器,其工作原理如下:将布隆过滤器划分为多个段,每个段使用一个简单的基于投影的哈希函数,该函数根据数据计算。本文还提供了理论分析,提供了选择该方法设计参数的原则方法:散列函数的数量和每个分区的位数。在跨越几个应用的各种真实世界数据集上对所提出方法进行了经验评估。在相同的内存使用情况下,它可以将误报率比标准的布隆过滤器提高两个数量级,并对相同的FPR提高高达50%的压缩率(每个键使用的字节),并始终优于学习的布隆过滤器的现有变体。
方法概述:
本文提出投影哈希布隆过滤器(PHBF),一种新的基于学习的方法,通过简单地用高效和数据感知的哈希函数替换标准的哈希函数(如Murmur3),与标准的布隆过滤器无缝工作。布隆过滤器的位向量被划分为大小相等的区域,每个区域关联一个哈希函数。每个散列函数将键投影到一个选定的𝑑-dimensiona