scaleBF: A High Scalable Membership Filter using 3D Bloom Filter
Bloom Filter自诞生以来就被广泛应用于各种数据结构的研究和应用领域。Bloom Filter能够将空间消耗降低一个数量级。因此,布隆过滤器被用来保持信息的一个非常大规模的数据。Bloom Filters有许多变体,但是可扩展性是Bloom Filter多年来的一个严重困境。为了解决这个难题,Bloom Filter也有各种各样的变体。然而,时间复杂度和空间复杂度又成为关键问题。在本文中,我们提出了一种新的布隆过滤器,以解决可扩展性问题,而不影响性能,称为scaleBF。scaleBF部署了许多3D Bloom Filter来过滤项目集。在本文中,我们从理论上比较当代布隆过滤器的可扩展性和scaleBF优于时间复杂度。
2019-03-15 cs.DB cs.DS
SieveJoin: Boosting Multi-Way Joins with Reusable Bloom Filters
SieveJoin通过可重用布隆过滤器传播实现多路连接中提前停止,消除无用中间结果,显著提升查询响应时间。
2023-08-31 cs.DB
Bloofi: Multidimensional Bloom Filters
布隆过滤器是概率数据结构,通常用于计算机科学的许多领域(网络、分布式系统、数据库等)中的近似成员问题。随着数据大小和数据分布的增加,出现了大量可用的Bloom过滤器的问题,并且需要搜索所有这些过滤器以寻找潜在的匹配。例如,在联合云环境中,每个云提供商可以使用布隆过滤器对信息进行编码,并与中央协调器共享布隆过滤器。感兴趣的问题不仅是给定元素是否在由布隆过滤器表示的任何集合中,而且是现有集合中的哪个集合包含给定元素。这个问题不能仅仅通过在所有集合的并集上构造布隆过滤器来解决。相反,我们实际上有一个多维的Bloom过滤器问题:给定一个元素,我们希望收到一个元素可能所在的候选集列表。为了解决这个问题,我们考虑三种选择。首先,我们可以简单地检查许多Bloom过滤器。其次,我们建议将Bloom过滤器组织在一个类似于B+树的分层索引结构中,我们称之为Bloofi。最后,我们提出了另一种数据结构,包装的布隆过滤器,以这样一种方式,利用位级并行,我们称之为Flat-Bloofi。我们的理论和实验结果表明,Bloofi和Flat-Bloofi提供了可扩展的和有效的解决方案,通过大量的Bloom过滤器搜索的替代方案。
2016-09-21 cs.DB cs.DS
Compressing (Multidimensional) Learned Bloom Filters
TU Kaiserslautern(凯泽斯劳滕工业大学)
布隆过滤器是广泛使用的数据结构,其压缩表示元素集合。查询布隆过滤器可以显示元素是否不包括在基础集合中,或者是否以特定的出错率包括在基础集合中。这种成员资格测试可以建模为二进制分类问题,并通过深度学习模型解决,从而产生所谓的学习布隆过滤器。我们已经确定,只有在考虑大量数据时,学习的布隆过滤器的好处才是显而易见的,即使这样,也有可能进一步减少其内存消耗。出于这个原因,我们引入了一种无损输入压缩技术,该技术可以提高学习模型的内存消耗,同时保持相当的模型精度。我们评估我们的方法,并显示显着的内存消耗的改进,学习布隆过滤器。
2022-08-05 cs.DB cs.LG
Optimal parameters for bloom-filtered joins in Spark
在本文中,我们提出了一个算法,连接关系数据库表有效地在分布式环境中使用的最佳大小的布隆过滤器。我们建议不使用固定大小的布隆过滤器在以前的研究中,但找到一个最佳的大小的布隆过滤器,通过创建一个数学模型的连接算法,然后使用传统的数学优化找到最佳的参数。该算法具有最佳参数,不仅在星型连接上,而且在传统的数据库模式上,都击败了使用布隆过滤器和默认SparkSQL引擎的方法。实验是在一个标准的TPC-H数据库上进行的,该数据库作为parquet文件存储在分布式文件系统上。
2017-06-12 cs.DB cs.DC
Blocked Bloom Filters with Choices
本文提出带选择的分块布隆过滤器,通过为每个键提供多个备选块,在保留快速在线插入和轻微过载优势的同时,有效降低了空间消耗或假阳性率,并在生物信息学用例中验证了其实用价值。
2025-05-09 cs.DB cs.DS
A Bloom Filter Survey: Variants for Different Domain Applications
有大量的数据结构、算法和框架处理主要的数据流问题,如估计项目的频率、回答集合成员、关联和多样性查询,以及可以从大量数据流中提取的其他几个统计数据。在本调查中,我们将重点探索称为Bloom Filters的随机数据结构。该数据结构以假阳性概率fpp回答数据流中是否存在项。在本调查中,Bloom过滤器的许多变体将通过显示每个结构的优点及其缺点来涵盖,即一些Bloom过滤器处理插入和删除,而另一些则不处理,一些变体有效地使用内存但增加了fpp,而另一些则以相反的方式进行权衡。此外,在每个布隆过滤器结构中,误报概率将与显示其所呈现的改进的最重要的技术细节一起突出显示,而这项工作的主要目的是根据其适合的应用领域提供布隆过滤器结构的变体之间的总体比较。
2021-06-23 cs.DB cs.DS
Scalable Multi-Database Privacy-Preserving Record Linkage using Counting Bloom Filters
隐私保护记录链接(PPRL)旨在集成来自不同组织的多个不同数据库的敏感信息。PPRL方法在医疗保健、国家安全和商业等实际应用领域中的需求越来越大。以前的办法主要侧重于只连接两个数据库以及使用一个专门的连接单位。将PPRL扩展到更多的数据库(多方PPRL)是一个开放的挑战,因为隐私威胁以及记录链接的计算和通信成本随着数据库的数量显着增加。因此,我们提出了一种新的编码方法的敏感数据的基础上计数布隆过滤器(CBF),以提高隐私的多方PPRL。我们还研究了优化,以减少通信和计算成本的CBF为基础的多方PPRL与不使用一个专用的链接单元。用真实数据集进行的实证评估表明了所提出的方法的可行性,并证明了其可扩展性,链接质量和隐私保护。
2017-01-05 cs.DB
A Model for Learned Bloom Filters, and Optimizing by Sandwiching
School of Engineering and Applied Sciences(工程与应用科学学院);Harvard University(哈佛大学)
最近的工作建议通过使用预过滤器来增强Bloom过滤器,该预过滤器基于应用机器学习来确定对Bloom过滤器要表示的数据集进行建模的函数。在这里,我们对这种学习的Bloom过滤器进行建模,具有以下结果:(1)我们阐明了什么保证可以与这种结构相关联,什么保证不可以与这种结构相关联;(2)我们展示了如何估计学习函数必须获得多大的大小,以获得更好的性能;(3)我们提供了一种简单的方法,优化学习的Bloom过滤器;(4)基于我们的建模方法,提出了一种学习型Bloomier滤波器的设计和分析方法。
2019-01-03 cs.DB cs.LG stat.ML
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
Partitioned Learned Bloom Filter
CSAIL(麻省理工学院计算机科学与人工智能实验室);MIT(麻省理工学院);School of Engineering and Applied Sciences(工程与应用科学学院);Harvard University(哈佛大学)
布隆过滤器是用于测试元素是否是集合的成员的空间高效的概率数据结构,并且可能返回误报。最近,开发了被称为学习的布隆过滤器的变型,其可以通过使用用于所表示的集合的学习模型来提供在误报率方面的改进的性能。然而,以前的学习布隆过滤器的方法没有充分利用学习模型。在这里,我们将展示如何将最佳模型利用率的问题框架化为优化问题,并使用我们的框架导出在许多情况下可以实现接近最佳性能的算法。从模拟和真实世界的数据集的实验结果表明,显着的性能改进,从我们的优化方法,无论是原来的学习布隆过滤器的建设和以前提出的启发式改进。
2020-10-04 cs.DB cs.DS cs.LG
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
Rateless Bloom Filters: Set Reconciliation for Divergent Replicas with Variable-Sized Elements
University of Porto(波尔图大学)
针对可变大小元素且差异基数较大的集合调和问题,提出两阶段混合协议 RBF-IBLT,通过动态适应未知差异的 Rateless Bloom Filter 优化通信,在 Jaccard 指数低于 85% 时较现有技术降低超 20% 通信成本。
2025-10-31 cs.DB cs.DS
Daisy Bloom Filters
KTH Royal Institute of Technology(皇家理工学院);University of Copenhagen(哥本哈根大学)
本文研究面向特定数据分布的过滤器空间优化问题,提出期望空间下界并证明其渐近紧性,同时设计了一种更快且更省空间的雏菊布隆过滤器。
2024-06-16 cs.DB cs.DS cs.LG
Large-Scale Query-by-Image Video Retrieval Using Bloom Filters
我们考虑使用图像查询从数据库中检索视频的问题。我们的重点是大规模的应用程序,这是不可行的索引每个数据库视频帧独立。我们的主要贡献是一个基于Bloom过滤器的框架,可用于索引长视频片段,从而实现高效的图像到视频的比较。使用这个框架,我们研究了几种检索架构,通过考虑不同类型的聚合和不同的功能来编码视觉信息-这些在实现高性能方面起着至关重要的作用。大量的实验表明,该技术在公共数据集上的平均精度提高了24%,同时比以前的最先进技术快4倍。
2016-07-12 cs.DB cs.IR cs.MM
Meta-Learning Neural Bloom Filters
DeepMind(深度思维);University College London(伦敦大学学院)
最近有一种趋势是训练神经网络来取代手工制作的数据结构,目的是更快的执行,更好的准确性或更大的压缩。在这种设置中,通过在其输入的许多时期上训练网络直到收敛来实例化神经数据结构。在输入达到高吞吐量或短暂的应用中,从头开始训练网络是不切实际的。这激发了对Few-Shot神经数据结构的需求。在本文中,我们探讨了通过元学习在一个单一的一组数据的近似集成员的学习。我们提出了一种新的内存架构,神经布隆过滤器,这是能够实现显着的压缩增益超过经典的布隆过滤器和现有的内存增强神经网络。
2019-06-10 cs.DB cs.DS cs.LG
In oder Aus
布隆过滤器是一种数据结构,用于确定元素的集合成员关系,其应用范围从字符串匹配到网络和安全问题。这些结构的青睐,因为它们减少了内存消耗和快速挂钟和渐近的时间界限。一般来说,Bloom过滤器保持恒定的成员查询时间,使它们在其利基中非常快。然而,它们的局限性在于缺乏清除操作,以及它们的概率性质。在本文中,我们讨论了各种迭代和替代品的通用布隆过滤器,已被研究和实施,以克服其固有的局限性。布隆过滤器,特别是当与其他数据结构结合使用时,仍然是强大而有效的数据结构;我们进一步讨论它们在工业和研究中的使用,以优化资源利用率。
2019-02-19 cs.DB 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
Multi-Party Privacy-Preserving Record Linkage using Bloom Filters
隐私保护记录链接(PPRL),识别记录,对应于同一个真实世界的实体,由不同的各方持有的多个数据源,而不透露任何敏感信息这些记录的问题,越来越多地需要在许多现实世界的应用领域。这方面的例子包括公共卫生监督、犯罪和欺诈侦查以及国家安全。已经开发了各种技术来解决PPRL的问题,其中大多数考虑将仅来自两个来源的数据连接起来。然而,在许多实际应用中,需要链接来自两个以上来源的数据。在本文中,我们提出了一个可行的解决方案,多方PPRL使用两个有效的隐私技术:布隆过滤器编码和分布式安全求和。我们提出的协议有效地识别匹配的记录集,所有数据源具有一定的最小阈值以上的相似性。虽然是有效的,我们的协议也是安全的半诚实的对手模型下,没有一方可以了解任何其他方的数据的任何敏感信息,但所有各方了解他们的记录具有较高的相似性,由其他各方持有的记录。我们评估我们的协议,一个大型的真实选民登记数据库显示的可扩展性,链接质量和隐私的方法。
2016-12-28 cs.CR cs.DB
Stretching Your Data With Taffy Filters
流行的近似成员查询结构,如布隆过滤器和布谷鸟过滤器,广泛用于数据库,安全和网络。这些结构近似地表示集合,并且支持至少两个操作-插入和查找;查找总是在插入到结构中的元素上返回true;它还在未插入到结构中的元素上以一定概率$0 < \varepsilon < 1$返回true。后一种元素称为假阳性。为了补偿这些误报,过滤器可以比表示相同集合的哈希表小得多。然而,与哈希表不同,布谷鸟过滤器和布隆过滤器必须使用要执行的插入的预期数量来初始化,并且不能增长更大-超过这个数量的插入失败或显著增加误报概率。本文介绍了过滤器的设计和实现,可以增长,插入失败,没有有意义地增加误报概率,即使过滤器创建的初始大小很小。生成的代码在GitHub上以许可的开源许可证提供。
2022-01-14 cs.DB 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
ChainedFilter: Combining Membership Filters by Chain Rule
本研究针对成员查询领域缺乏统一理论的问题,提出涵盖近似与精确场景的链式法则理论,构建ChainedFilter算法框架,在多类应用中实现空间、访问效率与延迟的显著优化。
2023-08-25 cs.DB cs.DS cs.IT
Optimal compression of hash-origin prefix trees
对某些数据库元素的哈希值进行操作是一个常见的问题。在本文中,将分析这样的一般任务的信息内容,以及如何实际上接近这样发现的下限。区分元素的最小前缀树结果是每个元素仅需要大约2.77544比特,而标准方法使用的是几倍多。在确定在数据库内部工作的同时,可扩展性的成本可以进一步降低到每个元素约2.33275位。增加节点的最小深度以减少误报概率导致与这种随机树的平均深度的简单关系,其比完美二叉树的lg(n)渐近地大约1.33275比特。这种渐近情况也可以看作是一种对n个大的无序数进行最佳编码的方法-节省lg(n!)关于它们的排序的信息位,其可以是所包含的信息的主要部分。这种能力本身允许将存储器需求减少到甚至是布隆过滤器中对于相同的误报概率所需的大约0.693。
2012-07-08 cs.DB cs.DS cs.IT
Succinct Data Structures for Retrieval and Approximate Membership
检索问题是将数据与集合中的键相关联的问题。形式上,数据结构必须存储函数f:U->{0,1}^r,该函数具有给定集合S(U的子集)的元素的指定值,|S| = n,但可以具有S之外的元素的任何值。最小完美散列使得可以避免存储集合S,但是除了函数值所需的nr位之外,这还引起Theta(n)位的空间开销。在本文中,我们将展示如何消除这种开销。此外,我们证明了对于任意k个查询,O(k)可以使用在最优因子1 + e ^{-k}内的空间来实现,并且对于大的n是渐近的。如果我们允许对数求值时间,则可以将附加开销减少到O(log log n)位whp。时间复杂度为O(n)。一个主要的技术成分是利用现有的紧界的概率几乎平方随机矩阵与行的低重量有完整的行秩。除了直接构造,我们指出检索结构和哈希表之间的密切联系,其中键存储在数组中,并使用某种探测方案。此外,我们提出了一个一般性的减少,将检索结果转化为近似成员资格的类似结果,传统上使用布隆过滤器解决这个问题。再次,我们展示了如何消除先前已知方法中存在的空间开销,并任意接近下限。我们的数据结构的评估过程非常简单(类似于布隆过滤器)。对于上述结果,我们假设可以自由访问完全随机的哈希函数。然而,我们展示了如何证明这个假设使用额外的空间o(n)来模拟RAM上的完全随机性。
2008-03-26 cs.DB cs.DS cs.IR
Conditional Cuckoo Filters
布隆过滤器、布谷鸟过滤器和其他近似集员关系草图有着广泛的应用。通常,如果一个项不在数据集中,则可以跳过昂贵的操作。这些过滤器提供了一种廉价、内存高效的方法来测试一个项是否在一个集合中,并避免不必要的操作。现有的草图只允许对单个集合进行成员资格测试。然而,在某些应用程序中,例如连接处理,相关集合不是固定的,而是由一组谓词确定的。我们提出了条件布谷鸟过滤器,这是布谷鸟过滤器的一个简单修改,允许在预先计算的草图上对给定的谓词进行集合成员测试。此过滤器还引入了一种新颖的链接技术,使布谷鸟过滤器能够处理重复键的插入。我们评估我们的方法上的连接处理应用程序,并表明,它们显着减少了连接必须处理的元组的数量。
2020-05-05 cs.DB cs.DS