Matrix Bloom Filter: An Efficient Probabilistic Data Structure for 2-tuple Batch Lookup
随着大数据规模的不断扩大,概率结构作为一种高效的近似存储和查询处理方法受到越来越多的关注。例如,Bloom过滤器(BF)可以在牺牲误报的情况下获得令人满意的性能,用于近似成员存在查询。然而,标准的Bloom过滤器只能处理单变量数据和单成员存在查询,这对于OLAP和机器学习应用是不够的。在本文中,我们专注于一个常见的多元数据类型,即2元组,或等价的,键-值对。我们设计的矩阵布隆过滤器作为一个高维扩展的标准布隆过滤器。这种新的概率数据结构不仅可以有效地插入和查找一个单一的二元组,但也支持这些操作有效地在批处理--一个关键的要求OLAP和机器学习任务。为了进一步平衡不同工作负载模式的插入和查询效率,我们提出了两个变体,即最大自适应矩阵BF和最小存储矩阵BF。通过理论和实证研究,我们证明了矩阵Bloom过滤器在具有共同统计分布的数据集上的性能是优越的;即使没有它们,它也只是退化为标准Bloom过滤器。
2019-12-16 cs.DS
Autoscaling Bloom Filter: Controlling Trade-off Between True and False Positives
布隆过滤器是一种简单的数据结构,支持对集合的成员查询。标准的Bloom过滤器不支持删除操作,因此,许多应用程序使用计数Bloom过滤器来启用删除。本文提出了一种广义的计数布隆过滤器的方法,称为“自动缩放布隆过滤器”,它允许调整其容量与概率界限的误报和误报。本质上,自动缩放布隆过滤器是具有可调整的二进制化阈值的二进制化计数布隆过滤器。我们提出的性能的数学分析,以及给出一个程序,以尽量减少误报率。
2017-12-27 cs.DS
RobustBF: A High Accuracy and Memory Efficient 2D Bloom Filter
Bloom Filter是一种重要的概率数据结构,用于减少成员过滤器的内存消耗。它应用于计算机网络、网络安全和隐私、物联网、边缘计算、云计算、大数据和生物识别等不同领域。但是Bloom Filter存在误报率的问题。为了解决这个问题,我们提出了一种新的鲁棒布隆过滤器,robustBF。robustBF是一个2D Bloom Filter,能够以高精度过滤数百万数据,而不会影响性能。我们提出的系统分为两部分。首先,我们修改了murmur哈希函数,并测试了所有修改后的哈希函数的改进,并通过实验选择了最好的修改哈希函数。其次,我们将改进的哈希函数嵌入到2D Bloom Filter中。实验结果表明,robustBF在各个方面都优于标准Bloom Filter和计数Bloom Filter。robustBF表现出几乎为零的假阳性概率,其存储器消耗分别比标准布隆过滤器和计数布隆过滤器低$10\times$和$44\times$。
2021-09-08 cs.DS
Optimizing Bloom Filter: Challenges, Solutions, and Comparisons
布隆过滤器(Bloom Filter,BF)已经被广泛用于支持成员关系查询,即,判断给定元素x是否是给定集合S的成员。BF算法由于其空间效率高、成员查询时间恒定等特点,近年来得到了广泛的应用。现有的综述或调查主要集中在BF的应用上,但没有涵盖当前的趋势,因此缺乏对其设计理念的内在理解。为此,本次调查提供了一个概述BF及其变种,重点是优化技术。基本上,我们从两个维度调查现有的变体,即,性能和推广。为了提高性能,数十种变体致力于减少误报和实施成本。此外,数十种变体通过多样化的输入集和丰富的输出功能在更多的场景中推广BF框架。为了总结现有的努力,我们进行了深入的研究,现有的文献高炉优化,涵盖60多个变量。我们挖掘这些变量的设计理念,并阐述如何采用优化技术提高高炉。并从高炉构件的角度进行了综合分析和定性比较。最后,我们强调了设计BF的未来趋势。据我们所知,这是实现这些目标的第一次调查。
2019-01-07 cs.DS
Multiple Set Matching and Pre-Filtering with Bloom Multifilters
布隆过滤器是一种空间有效的概率数据结构,用于检查集合中元素的成员关系。然而,给定多个集合,在查找元素或输入元素的集合所属的项时,标准布隆过滤器是不够的。在这篇文章中,我们解决了多个集合匹配问题,提出了两个有效的布隆多重过滤器,称为布隆矩阵和布隆向量。它们都是空间有效的,并回答查询与多个集合匹配问题的一组标识符。我们表明,空间效率可以根据标签在多个集合之间的分布进一步优化:Uniform和Zipf。虽然它们都是空间有效的,但Bloom Vector可以有效地利用数据的Zipf分布来进一步减少空间。我们的研究结果还强调,基本的ADD和LOOKUP操作的布隆矩阵比布隆向量更快。然而,如果所表示的数据或标签不均匀地分布在多个集合之间,则Bloom Matrix不满足用于查找操作的小于$10^{-2}$的理论误报率。因此,我们引入了\textit{Bloom Test},它使用Bloom矩阵作为预过滤器结构,以确定哪种结构适合于提高任意输入数据集的性能。
2019-01-11 cs.DS
Sliding Bloom Filters
布隆过滤器是一种通过允许小的错误概率来减少表示集合所需的空间(存储器)的方法。在本文中,我们考虑一个\emph{Sliding Bloom Filter}:一个数据结构,给定的元素流,支持成员查询的最后$n$元素(滑动窗口)的集合,同时允许一个小的错误概率。我们正式定义了数据结构及其相关参数,并分析了实现它们所需的时间和内存要求。我们给出了一个低空间结构,运行在O(1)时间每次更新的高概率(也就是说,对于所有序列的高概率所有操作都需要恒定的时间),并提供了一个几乎匹配的空间上的下界,表明我们的建设有最好的空间消耗添加剂低阶项。
2013-10-09 cs.DS
countBF: A General-purpose High Accuracy and Space Efficient Counting Bloom Filter
Bloom Filter是一种用于成员关系查询的概率数据结构,它在减少内存消耗和提高系统性能方面得到了广泛的应用。Bloom Filter分为两大类:计数Bloom Filter(CBF)和非计数Bloom Filter。CBF具有比标准布隆过滤器(SBF)更高的误报概率,即,CBF使用比SBF更高的内存占用。但是CBF可以解决假阴性概率的问题。值得注意的是,SBF也是无假阴性的,但它不支持像CBF这样的删除操作。为了解决这些问题,我们提出了一种新的计数布隆过滤器的基础上SBF和二维布隆过滤器,称为countBF。countBF使用修改的杂音散列函数,以提高其各种要求,这是实验评估。我们的实验结果表明,countBF使用$1.96\times$和$7.85\times$更少的内存分别比SBF和CBF,而保持较低的误报率和执行时间比SBF和CBF。countBF的总体精度为$99.999921$,证明了countBF优于SBF和CBF。同时,我们还与其他先进的计数型Bloom过滤器进行了比较。
2021-06-06 cs.DS
In-stream Probabilistic Cardinality Estimation for Bloom Filters
来自物联网传感器、社交网络、蜂窝网络等不同来源的数据量在过去几年中呈指数级增长。概率数据结构(PDS)是确定性数据结构的有效替代方案,适合于大数据处理和流式应用。它们主要用于近似隶属度查询、频率计算、基数估计和相似性研究。在大型数据集或流数据中查找不同元素的数量是一个活跃的研究领域。在这项工作中,我们表明,通常的方法的基础上,这种基数估计的布鲁姆过滤器是相对准确的平均,但有一个高的方差。因此,减少该方差对于获得准确的统计数据是有意义的。我们提出了一种概率方法来更准确地估计基于其参数,即,散列函数的数目$k$、大小$m$、以及每当元素不在过滤器中时递增的计数器$s$(即,当对该元素的成员资格查询的结果为负时)。由于Bloom filter的性质,计数器的值永远不会大于确切的基数,但哈希冲突可能会导致它低估它。这会产生一个计数误差,我们可以准确地估计,在流中,以及它的标准差。我们还讨论了一种方法来优化参数的布隆过滤器的计数误差的基础上。我们评估我们的方法与合成数据从分析移动网络运营商提供的移动数据集的移动电话记录计算的位移矩阵的形式创建。这里提出的方法至少在平均上执行得一样好,并且具有比现有技术方法低得多的方差(大约6到7倍)。
2022-11-01 cs.DS
Straggler Identification in Round-Trip Data Streams via Newton's Identities and Invertible Bloom Filters
我们介绍的掉队者识别问题,其中一个算法必须确定的身份后,它已经有大量的插入和删除操作执行的一组剩余的成员,现在有相对较少的剩余成员。我们的目标是在O(n)空间中实现这一点,其中n是恒等式的总数。掉队者识别问题有应用,例如,在确定一组未确认的数据包在高带宽多播数据流。我们提供了一个确定性的解决方案,仅使用O(d log n)位的掉队者识别问题,是基于一个新的应用牛顿的身份对称多项式。这个解决方案可以识别任何子集的d掉队者从一组n个O(log n)位标识符,假设没有错误删除的身份已经在集合中。事实上,我们给出了一个下界参数,表明任何小空间的确定性解决方案的落伍者识别问题不能保证处理错误删除。然而,我们发现,有一个简单的随机化的解决方案,使用O(d log n log(1/n))位,可以保持一个多集和解决的掉队者识别问题,容忍假删除,其中n>0是一个用户定义的参数边界的概率不正确的反应。这种随机化的解决方案是基于一种新型的布隆过滤器,我们称之为可逆布隆过滤器。
2009-09-10 cs.DS
A Shifting Bloom Filter Framework for Set Queries
集合查询是计算机系统和应用程序中的基本操作,本文讨论了设计一种概率数据结构的基本问题,该结构能用少量内存快速处理集合查询。我们提出了一个移位布隆过滤器(ShBF)表示和查询集的框架。我们证明了ShBF的有效性,使用三种类型的流行集查询:成员资格,关联和多重性查询。ShBF的关键新颖性在于将集合元素的辅助信息编码在位置偏移中。相反,现有的基于BF的集合数据结构分配附加存储器来存储辅助信息。为了与现有技术相比评估ShBF,我们使用真实世界的网络轨迹进行实验。结果表明,ShBF显着进步的最先进的所有三种类型的集合查询。
2016-03-22 cs.DS
In oder Aus
布隆过滤器是一种数据结构,用于确定元素的集合成员关系,其应用范围从字符串匹配到网络和安全问题。这些结构的青睐,因为它们减少了内存消耗和快速挂钟和渐近的时间界限。一般来说,Bloom过滤器保持恒定的成员查询时间,使它们在其利基中非常快。然而,它们的局限性在于缺乏清除操作,以及它们的概率性质。在本文中,我们讨论了各种迭代和替代品的通用布隆过滤器,已被研究和实施,以克服其固有的局限性。布隆过滤器,特别是当与其他数据结构结合使用时,仍然是强大而有效的数据结构;我们进一步讨论它们在工业和研究中的使用,以优化资源利用率。
2019-02-19 cs.DB cs.DS
A Case for Partitioned Bloom Filters
在分区布隆过滤器中,$m$位向量被分成$k$不相交的$m/k$大小的部分,每个散列函数一个。与硬件设计相反,软件实现大多采用标准的布隆过滤器,考虑分区过滤器稍微差一点,因为误报率(FPR)稍大。在本文中,通过进行深入的分析,首先,我们表明,FPR优势的标准布隆过滤器是小于想象的,更重要的是,通过研究每个元素FPR,我们表明,标准布隆过滤器有弱点的域:元素将被测试为误报比预期更频繁。这在针对许多过滤器测试元素的场景中是相关的,例如,数据包转发。此外,如果使用朴素的双哈希,标准的Bloom过滤器很容易表现出非常弱的点,这在几个甚至主流的库中都有发生。分区布隆过滤器表现出FPR在域上的均匀分布,并且对于双重散列的朴素使用是鲁棒的,没有弱点。最后,通过调查测试集成员资格以外的几种用途,我们指出了具有不相交部分的许多优点:它们可以单独采样,提取,添加或退休,从而导致卓越的设计,例如,SIMD使用、大小缩减、集合不相交性测试或流中的重复检测。分区Bloom过滤器更好,并且应该取代标准形式,无论是在通用库中还是作为新颖设计的基础。
2022-11-09 cs.DS
Technical Report: Modeling Average False Positive Rates of Recycling Bloom Filters
本文针对网络应用中回收型布隆过滤器,提出基于更新过程和马尔可夫模型的平均假阳性率计算方法,取代过于保守的最坏情况界限,并验证了模型准确性及两阶段变体的效率优势。
2024-02-03 cs.DS
Yes-no Bloom filter: A way of representing sets with fewer false positives
布隆过滤器(Bloom filter,BF)是一种空间高效的随机化数据结构,特别适合于表示支持近似成员查询的集合。由于其简单性和灵活性,BF已被广泛用于许多应用中,特别是在网络中。BF的性能主要取决于查询开销、空间需求和误报。本文的目的是关注假阳性。最近的BF在一个新的多播转发结构的信息为中心的网络的应用程序的启发,本文提出了是-否BF,一种新的方式表示一组,基于BF,但具有显着较低的误报和无误报。虽然它在形成阶段需要稍微多一点的处理,但它为成员资格查询提供了与BF相同的处理要求。在引入是非BF后,我们通过仿真表明,它比BF具有更好的误报性能。
2016-03-03 cs.DS cs.NI
Binary Fuse Filters: Fast and Smaller Than Xor Filters
Bloom和Cuckoo过滤器提供快速的近似集合成员,同时使用很少的内存。工程师使用它们来避免昂贵的磁盘和网络访问。最近引入的异或过滤器可以比Bloom和cuckoo过滤器更快更小。XOR过滤器在存储中的理论下限的23%以内,而Bloom过滤器为44%。受Dietzfelbinger和Walzer的启发,我们构建了概率过滤器-称为二进制融合过滤器-在存储下限的13%以内-而不会牺牲查询速度。作为额外的益处,新的二进制熔丝滤波器的构造可以比异或滤波器的构造快两倍以上。通过略微牺牲查询速度,我们进一步将存储减少到下限的8%以内。我们比较的性能对广泛的竞争力的替代品,如布隆过滤器,阻止布隆过滤器,矢量商过滤器,布谷鸟过滤器,和最近的丝带过滤器。我们的实验表明,二进制熔丝滤波器优于异或滤波器。
2022-01-04 cs.DS
Blocked Bloom Filters with Choices
本文提出带选择的分块布隆过滤器,通过为每个键提供多个备选块,在保留快速在线插入和轻微过载优势的同时,有效降低了空间消耗或假阳性率,并在生物信息学用例中验证了其实用价值。
2025-05-09 cs.DB cs.DS
Fast Succinct Retrieval and Approximate Membership using Ribbon
一种用于静态函数$f:S\rightarrow \{0,1\}^r$的检索数据结构支持返回任何$x \in S$的$f(x)$的查询。检索数据结构可用于实现静态近似成员关系查询数据结构(AMQ),即,布隆过滤器替代方案,具有假阳性率$2^{-r}$。这两个任务的信息论下限都是$r|S|$位。虽然使用$(1+o(1))r|S|$比特的简洁的理论构造是已知的,但是这些在实践中不能实现非常小的开销,因为它们具有隐藏在渐近成本中的不利的空间-时间权衡,或者因为小的开销仅在物理上不可能的输入大小下才能达到。通过碰撞带检索(BuRR),我们提出了第一个实用的简洁检索数据结构。在广泛的实验评估中,BuRR实现的空间开销远低于1.1%,同时比大多数先前使用的检索数据结构更快(通常空间开销至少大一个数量级),并且比经典的布隆过滤器更快(具有空间开销$\geq 44\,\%$)。这种效率,包括有利的常数,源于简单性,字并行性和高局部性的组合。我们还描述了均匀带式过滤器AMQ,它甚至更简单,更快,但空间开销略大。
2022-02-05 cs.DS
On Occupancy Moments and Bloom Filter Efficiency
证明了两个多元委员会分布分别属于Berg阶乘级数分布族和Kemp广义超几何阶乘矩分布族。精确的矩公式,上界和下界,统计参数估计提供了经典的占用和委员会分布。推导出的矩方程用于确定准确的公式的误报率和效率的布隆过滤器-概率数据结构用于解决集成员问题。该研究表明,传统的Bloom过滤器分析高估了最小化误报率所需的哈希函数的数量,并表明Bloom过滤器的效率在哈希函数的数量上是单调的。
2019-08-13 cs.DS cs.IT math.CO
A Bloom Filter Survey: Variants for Different Domain Applications
有大量的数据结构、算法和框架处理主要的数据流问题,如估计项目的频率、回答集合成员、关联和多样性查询,以及可以从大量数据流中提取的其他几个统计数据。在本调查中,我们将重点探索称为Bloom Filters的随机数据结构。该数据结构以假阳性概率fpp回答数据流中是否存在项。在本调查中,Bloom过滤器的许多变体将通过显示每个结构的优点及其缺点来涵盖,即一些Bloom过滤器处理插入和删除,而另一些则不处理,一些变体有效地使用内存但增加了fpp,而另一些则以相反的方式进行权衡。此外,在每个布隆过滤器结构中,误报概率将与显示其所呈现的改进的最重要的技术细节一起突出显示,而这项工作的主要目的是根据其适合的应用领域提供布隆过滤器结构的变体之间的总体比较。
2021-06-23 cs.DB cs.DS
Bloofi: Multidimensional Bloom Filters
布隆过滤器是概率数据结构,通常用于计算机科学的许多领域(网络、分布式系统、数据库等)中的近似成员问题。随着数据大小和数据分布的增加,出现了大量可用的Bloom过滤器的问题,并且需要搜索所有这些过滤器以寻找潜在的匹配。例如,在联合云环境中,每个云提供商可以使用布隆过滤器对信息进行编码,并与中央协调器共享布隆过滤器。感兴趣的问题不仅是给定元素是否在由布隆过滤器表示的任何集合中,而且是现有集合中的哪个集合包含给定元素。这个问题不能仅仅通过在所有集合的并集上构造布隆过滤器来解决。相反,我们实际上有一个多维的Bloom过滤器问题:给定一个元素,我们希望收到一个元素可能所在的候选集列表。为了解决这个问题,我们考虑三种选择。首先,我们可以简单地检查许多Bloom过滤器。其次,我们建议将Bloom过滤器组织在一个类似于B+树的分层索引结构中,我们称之为Bloofi。最后,我们提出了另一种数据结构,包装的布隆过滤器,以这样一种方式,利用位级并行,我们称之为Flat-Bloofi。我们的理论和实验结果表明,Bloofi和Flat-Bloofi提供了可扩展的和有效的解决方案,通过大量的Bloom过滤器搜索的替代方案。
2016-09-21 cs.DB cs.DS
Fast Construction of Partitioned Learned Bloom Filter with Theoretical Guarantees
The University of Tokyo(东京大学)
针对分区学习布隆过滤器(PLBF)构建复杂度高的问题,提出fast PLBF及其变体,在保证内存效率与理论等价性的前提下,将构建速度最高提升778倍。
2026-10-20 cs.DS
Partitioned Learned Bloom Filter
CSAIL(麻省理工学院计算机科学与人工智能实验室);MIT(麻省理工学院);School of Engineering and Applied Sciences(工程与应用科学学院);Harvard University(哈佛大学)
布隆过滤器是用于测试元素是否是集合的成员的空间高效的概率数据结构,并且可能返回误报。最近,开发了被称为学习的布隆过滤器的变型,其可以通过使用用于所表示的集合的学习模型来提供在误报率方面的改进的性能。然而,以前的学习布隆过滤器的方法没有充分利用学习模型。在这里,我们将展示如何将最佳模型利用率的问题框架化为优化问题,并使用我们的框架导出在许多情况下可以实现接近最佳性能的算法。从模拟和真实世界的数据集的实验结果表明,显着的性能改进,从我们的优化方法,无论是原来的学习布隆过滤器的建设和以前提出的启发式改进。
2020-10-04 cs.DB cs.DS cs.LG
Extending the Applicability of Bloom Filters by Relaxing their Parameter Constraints
本文提出有理布洛姆过滤器,通过允许非整数哈希函数数量和可变大小块结构,优化布洛姆过滤器的性能和适用性。
2025-12-15 cs.DS
ChainedFilter: Combining Membership Filters by Chain Rule
本研究针对成员查询领域缺乏统一理论的问题,提出涵盖近似与精确场景的链式法则理论,构建ChainedFilter算法框架,在多类应用中实现空间、访问效率与延迟的显著优化。
2023-08-25 cs.DB cs.DS cs.IT
Age-Partitioned Bloom Filters
布隆过滤器(Bloom Filter,BF)广泛用于一组元素的近似成员关系查询。BF变体允许删除、无限大小的集合或在无限流上查询滑动窗口。然而,对于最后一种情况,当前最好的方法是基于字典的(例如,基于布谷鸟过滤器或TinyTable),而且似乎基于BF的方法永远不会与基于字典的方法竞争。在本文中,我们提出了一种基于BF的滑动窗口重复检测方法--分区布隆过滤器,它不仅在时间复杂度上具有竞争力,而且比当前基于字典的方法(例如,SWAMP),代价是一些适度的松弛。APBF保留了BF的简单性,不像基于字典的方法,这对基于硬件的实现很重要,并且可以集成已知的改进,例如双哈希或分块。我们提出了一个分区Blocked Bloom Filter的变种,它可以操作2-3缓存行访问每次插入和2-4左右,每个查询,即使是高精度的过滤器。
2020-01-09 cs.DB cs.DC cs.DS
Meta-Learning Neural Bloom Filters
DeepMind(深度思维);University College London(伦敦大学学院)
最近有一种趋势是训练神经网络来取代手工制作的数据结构,目的是更快的执行,更好的准确性或更大的压缩。在这种设置中,通过在其输入的许多时期上训练网络直到收敛来实例化神经数据结构。在输入达到高吞吐量或短暂的应用中,从头开始训练网络是不切实际的。这激发了对Few-Shot神经数据结构的需求。在本文中,我们探讨了通过元学习在一个单一的一组数据的近似集成员的学习。我们提出了一种新的内存架构,神经布隆过滤器,这是能够实现显着的压缩增益超过经典的布隆过滤器和现有的内存增强神经网络。
2019-06-10 cs.DB cs.DS cs.LG
An Optimal Bloom Filter Replacement Based on Matrix Solving
我们提出了一种方法来保持一个字典数据结构,映射键的值,在布隆过滤器的精神。我们建议的字典的空间需求比哈希表小得多。我们允许存储n个键,每个键映射到一个k位字符串的值。我们建议的方法需要nk + o(n)位的空间来存储字典,O(n)时间来产生数据结构,并允许在O(1)内存探测中回答成员查询。字典的大小不依赖于键的大小。然而,减少数据结构的空间需求是以一定的代价来实现的。我们的词典出现片面错误的可能性很小。当试图获取存储在字典中的键的值时,我们总是得到正确的答案。然而,当测试一个没有存储在字典中的元素的成员资格时,我们可能会得到一个错误的答案,当请求这样一个元素的值时,我们可能会得到一个特定的随机值。我们的方法基于求解GF(2^k)中的方程并使用几个哈希函数。我们建议的方法的另一个显著优点是,我们不需要使用复杂的哈希函数。我们只需要两两独立的哈希函数。我们还建议一个数据结构,只需要nk位的空间,有O(n2)的预处理时间,并有一个O(log n)的查询时间。然而,这种数据结构需要统一的哈希函数。为了以2^{-k}的错误概率替换n个元素的Bloom Filter,我们需要nk + o(n)个存储位,O(1)查询时间,O(n)预处理时间,并且仅需要成对独立的哈希函数。即使是最先进的布隆过滤器也需要nk+O(n)的空间,以及一个统一的哈希函数,所以我们的方法消耗的空间显著减少,特别是当k很小时…
2008-04-11 cs.DB cs.DS
Fast Partitioned Learned Bloom Filter
针对分区学习型布隆过滤器(PLBF)构建时间复杂度过高的问题,本文提出快速PLBF与快速PLBF++两种方法,分别将构建复杂度降至O(N²k)和O(Nk log N + Nk²),在保持或接近PLBF内存效率的同时实现最高761倍加速。
2023-10-28 cs.DS
Prefix Filter: Practically and Theoretically Better Than Bloom
近似成员查询数据结构或过滤器的许多应用程序只需要支持插入但不支持删除的增量过滤器。然而,增量过滤器的设计空间缺少一个“最佳点”过滤器,它结合了空间效率、快速查询和快速插入。增量过滤器,例如Bloom和Blocked Bloom过滤器,不是空间有效的。动态滤波器(即,支持删除),如布谷鸟或向量商过滤器,是空间有效的,但不能表现出一致的快速插入和查询。在本文中,我们提出了前缀过滤器,一个增量过滤器,解决了上述挑战:(1)它的空间(以比特为单位)是类似于最先进的动态过滤器;(2)查询吞吐量是高的,是可比的布谷鸟过滤器;以及(3)插入吞吐量高,总构建时间比$1.39\times$的向量商滤波器和布谷鸟滤波器的构建时间快。分别为$1.46\times$和$3.2\times$ - $3.5\times$。我们提出了一个严格的分析前缀过滤器,也适用于实际的集大小(即,$n=2^{25}$)。该分析涉及失败的概率、误报率以及操作需要访问多个缓存行的概率。
2022-10-25 cs.DB cs.DS
In-packet Bloom filters: Design and networking applications
布隆过滤器(Bloom filter,BF)是一种众所周知的空间高效的数据结构,其以一定的误报概率回答集合成员查询。在试图解决当前互联网络架构的许多限制时,一些最近的提议依赖于在分组报头中包括小BF以用于路由、安全、责任或将应用状态移动到分组本身中的其他目的。在本文中,我们考虑这样的包内布隆过滤器(iBF)的设计。我们的主要贡献是探索设计空间和评估一系列扩展(1)以提高iBF的实用性和性能,(2)实现无假阴性元素删除,以及(3)提供安全增强。除了理论估计,广泛的模拟多个设计参数和实施方案验证的有用性的扩展,提供增强和新颖的iBF网络应用。
2010-01-20 cs.DS cs.IT cs.NI
Bloom Filters, Adaptivity, and the Dictionary Problem
Bloom过滤器--或者更一般地说,近似成员查询数据结构(AMQ)--维护来自宇宙U的一组密钥S的紧凑、概率表示。AMQ支持查找、插入和(对于某些AMQ)删除。对S中的x的查询保证返回“present”。对不在S中的x的查询返回“不存在”,概率至少为1- 1/2,其中1/2是可调的假阳性概率。如果查询返回“present”,但x不在S中,则x是AMQ的误报。由于AMQ具有非零的假阳性概率,它们需要的空间比显式集合表示少得多。AMQ被广泛用于加速远程存储的字典(例如,在磁盘上/通过网络)。大多数AMQ对它们将在一系列查询中返回的误报数量提供弱保证。假阳性概率仅对单个查询有效。攻击者很容易通过简单地重复误报来将AMQ的误报率推向1。本文展示了如何在误报数量上获得强有力的保证。我们说AMQ是自适应的,如果它保证了每个查询的误报概率,而不管以前的查询的答案。首先,我们证明了建立一个小的自适应AMQ是不可能的,即使AMQ在返回假阳性时立即被告知。然后,我们将展示如何构建一个自适应AMQ,将其状态划分为一个小的本地组件和一个较大的远程组件。除了自适应,我们的AMQ的本地组件在所有方面都主导现有的AMQ。它使用最优空间直到低阶术语,并支持在最坏情况下的恒定时间内以高概率进行查询和更新。因此,我们表明,自适应没有成本。
2018-08-27 cs.DS
Hallucination is a Consequence of Space-Optimality: A Rate-Distortion Theorem for Membership Testing
Computer Science Department, Northwestern University(西北大学计算机科学系);Department of IEOR, Columbia University(哥伦比亚大学工业工程与运筹学系)
通过将幻觉形式化为成员测试问题,建立率失真定理,证明在有限容量下信息论最优策略必然导致对某些非事实的高置信度,从而产生幻觉。
2026-05-29 cs.AI cs.CL cs.DS
Ribbon filter: practically smaller than Bloom and Xor
过滤器数据结构过度近似一组可散列键,即集合成员查询可能不正确地得出肯定结果。已知具有假阳性率$f \in (0,1]$的过滤器需要每个密钥$\ge \log_2(1/f)$比特。至少对于较大的$f \ge 2^{-4}$,现有的实际滤波器需要相对于该信息理论界限至少20%的空间开销。我们介绍了丝带过滤器:一个新的过滤器的静态集具有广泛的可配置的空间开销和误报率在该范围内具有竞争力的速度,特别是对于较大的$f \ge 2^{-7}$。在许多情况下,Ribbon在相同的空间开销下比现有的过滤器更快,或者可以在增加一些CPU时间的情况下实现低于10%的空间开销。具有负载均衡的实验性Ribbon设计甚至可以实现低于1%的空间开销。带状滤波器类似于修改为最大化局部性的异或滤波器,并且通过求解布尔变量上的带状线性系统来构造。在以前的工作中,Dietzfelbinger和Walzer描述了这个线性系统和一个有效的高斯求解器。我们提出并分析了一个更快,更适应性更强的解决过程,我们称之为“快速增量布尔带状飞行”,这类似于哈希表建设。我们还提出并分析了一个有吸引力的丝带变体的基础上,使线性系统齐次,并描述了几个更实际的增强。
2021-03-08 cs.DB cs.DS
Optimizing Cuckoo Filter for high burst tolerance,low latency, and high throughput
在本文中,我们提出了一个布谷鸟过滤器的成员资格测试,优化分布式数据存储在高工作负载下运行的实现。在大型数据库中,使用传统的搜索方法进行查询变得低效。为了获得最佳性能,有必要使用概率数据结构来测试给定键的成员关系,这是以在查询数据时得到误报为代价的。广泛使用的布隆过滤器可以用于此,但它们有限制,如不支持删除。为了改进这一点,我们使用了布谷鸟过滤器的修改版本,它提供了更好的搜索摊销时间,误报率更低。
2020-06-27 cs.DC cs.DS
cuSBF: A Minimizer-Aware Bloom Filter for Genomic Sequence Data on Modern GPUs
Institute of Computer Science Johannes Gutenberg University Mainz(约翰内斯·古腾堡大学美因茨计算机研究所)
提出cuSBF,一种基于CUDA的超级布隆过滤器实现,通过扇区分片、协作共享内存平铺等技术,利用序列局部性实现GPU加速,在RTX PRO 6000上比cuCollections布隆过滤器快9.1倍(插入)和7.7倍(查询)。
2026-06-24 cs.DC cs.DS q-bio.GN
Stretching Your Data With Taffy Filters
流行的近似成员查询结构,如布隆过滤器和布谷鸟过滤器,广泛用于数据库,安全和网络。这些结构近似地表示集合,并且支持至少两个操作-插入和查找;查找总是在插入到结构中的元素上返回true;它还在未插入到结构中的元素上以一定概率$0 < \varepsilon < 1$返回true。后一种元素称为假阳性。为了补偿这些误报,过滤器可以比表示相同集合的哈希表小得多。然而,与哈希表不同,布谷鸟过滤器和布隆过滤器必须使用要执行的插入的预期数量来初始化,并且不能增长更大-超过这个数量的插入失败或显著增加误报概率。本文介绍了过滤器的设计和实现,可以增长,插入失败,没有有意义地增加误报概率,即使过滤器创建的初始大小很小。生成的代码在GitHub上以许可的开源许可证提供。
2022-01-14 cs.DB cs.DS
NAE-SAT-based probabilistic membership filters
概率成员筛选器是一种数据结构,旨在快速验证大型数据集的元素是否属于数据的子集。虽然假阴性是不可能的,但假阳性是可能的。因此,任何好的概率隶属度过滤器的主要目标都是具有较小的误报率,同时具有内存效率和查询速度。虽然Bloom过滤器的构造速度很快,但它们的内存效率受到严格的理论上限的限制。Weaver等人引入了基于随机可满足性的过滤器,显著提高了概率过滤器的效率,然而,在构建过滤器时,代价是求解复杂的随机可满足性(SAT)公式。在这里,我们提出了一个改进的SAT过滤器的方法,重点是减少过滤器的建设时间,以及查询时间。我们的方法是基于使用不全相等(NAE)SAT公式来构建过滤器,通过使用传统的快速随机SAT求解器映射到随机SAT来解决这些问题,以及位打包和减少哈希函数的数量。NAE-SAT过滤器与快速硬件搭配使用,可以产生企业级应用程序。
2018-01-18 cond-mat.stat-mech cs.CR cs.DS
The Value of Adaptivity in LSM Bloom-Filter Tuning: A Log-Law and a Two-Clock Frontier
VaidhyaMegha Private Limited, India(印度 VaidhyaMegha 私人有限公司)
本文通过对数定律和鲁棒性定律,理论分析了LSM树中自适应分配内存过滤器的价值,并提出了一个三区域策略,证明仅在压缩时重新分配即可捕获96-99%的自适应收益。
2026-06-17 cs.DB cs.DS
Brief Announcement: Parallel Construction of Bumped Ribbon Retrieval
本文提出 BuRR 检索数据结构的并行构造实现,在 32 核上对 8 位过滤器实现 14 倍加速,额外空间开销仅为每线程 105 字节,且对查询透明。
2024-11-19 cs.DS