![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
布隆过滤器
文章平均质量分 68
西西弗的小蚂蚁
不要辜负这美好的时光!
展开
-
TASTI: Semantic Indexes for Machine Learning-based Queries over Unstructured Data
给定目标标记器和用户提供的目标标记器输出的贴近度函数,TASTI为每个非结构化数据记录(例如,视频帧)产生嵌入,所需的条件是,接近的记录具有接近的嵌入。为了加速查询,许多最近的系统(例如BlazeIt、NoScope、Tahoma、SUPG等)训练了一个特定于查询的代理模型来近似大型目标标记器(即这些昂贵的神经网络或人工标记器)。,这些方法可以传递给现有的基于代理分数的算法。TASTI的索引构建过程包括可选的通过三元组损失训练嵌入DNN,为每条记录生成嵌入,选择集群代表,以及计算集群代表的统计信息。原创 2022-10-07 20:25:18 · 6 阅读 · 0 评论 -
Stable Learned Bloom Filters for Data Streams
最近的研究表明,通过与预训练机器学习模型的结合,可显著降低布隆过滤器的空间成本,称为学习布隆过滤器(LBF)。对这两种结构的理论分析表明,SLBF的期望假阳性率(FPR)随新成员的加入渐近是一个常数。在真实数据集上的大量实验表明,与在数据流上优化的最先进的(非学习的)布隆过滤器相比,SLBF引入了类似水平的假阴性率(FNR),但产生了更好的FPR/存储权衡。为了使原始LBF框架在无限次插入后保持稳定,一个直观的想法是用一个稳定的布隆过滤器(2.3节)替换LBF中的备用滤波器,它是一个标准的BF。原创 2022-10-06 23:07:39 · 47 阅读 · 0 评论 -
Order-Preserving Key Compression for In-Memory Search Trees
我们的实验表明,对于大多数字符串关键工作负载,使用HOPE可以使搜索树同时实现更低的查询延迟(降低40%)和更好的内存效率(减少30%)。给定源字符串src,可以在字典中查找src,得到一个条目(s→c)∈D, s∈s, c∈c,使得s是src的前缀,即src = s·srcsuffix,其中“·”为拼接操作。使用字符串轴模型,我们可以构建广泛的基于字典的压缩方案,以服务于我们的目标应用程序(即内存搜索树的键压缩)。HOPE是一个基于字典的快速压缩器,可以对任意键进行编码,同时保留它们的顺序。原创 2022-10-06 21:18:39 · 6 阅读 · 0 评论 -
Proteus: A Self-Designing Range Filter
Proteus统一了最先进的范围滤波器的概率和确定性设计空间,以在更大的各种用例中实现鲁棒的性能。Proteus的核心是上下文前缀FPR (CPFPR)模型——一个跨设计空间的基于前缀的过滤器FPR的形式化框架。实验还表明,与端到端性能提升相比,建模的成本不显著,并且Proteus对工作负载的转移具有鲁棒性。在本节中,我们将形式化地描述工作负载的不同方面是如何影响基于前缀的范围过滤器的性能的,以便理解不同设计的权衡。利用该框架对先进的AREs的基本组件进行了分解,实现了统一的设计空间。原创 2022-10-06 20:20:42 · 8 阅读 · 0 评论 -
Rosetta: A Robust Space-Time Optimized Range Filter for Key-Value Stores
展示了如何将Rosetta集成到一个完整的系统RocksDB中,并证明了它在各种工作负载和不同的内存层次(内存、SSD、硬盘)中,与默认的RocksDB相比带来了40倍的性能提升,与最先进的范围过滤器相比带来了2-5倍的性能提升。Rosetta能够跟踪工作负载模式,并通过调整使用的布隆过滤器的数量以及内存在它们之间的分布方式,对运行的每个lsm树进行有益的调优,以优化FPR/CPU成本的平衡。运行期间的所有键都被分解为可变长度的二进制前缀,因此为每个长度为L位的键生成L个不同的前缀。原创 2022-10-06 17:43:34 · 8 阅读 · 0 评论 -
Adaptive Range Filters for Cold Data: Avoiding Trips to Siberia
同样,密集排列的大型区域,如图2中的[0,7],可以用紧凑的方式表示。也就是说,ARF可以用于索引任何有序的域(例如,日期、工资等),并且可以探测该域上的任何范围查询是否有潜在的匹配。回顾2.2节中列出的对过滤器的要求,只有当冷存储区确实不包含键与该叶节点范围匹配的记录时,叶节点的占用位被设置为false, ARF结构才是正确的。除了它以细粒度方式适应数据分布变化的能力之外,ARFs的一个主要特性是它们在运行中学习:从只有一个节点的微不足道的ARF开始总是安全的,图4显示了图2的ARF是如何演变的。原创 2022-10-06 16:15:48 · 8 阅读 · 0 评论 -
Cuckoo Filter: Practically Better Than Bloom
第3.1节介绍了部分键的布谷鸟散列,这是标准布谷鸟散列的一个变体,它使布谷鸟过滤器能够动态插入新元素。这种技术最早是在之前的工作[11]中引入的,但当时的目的是提高存储完整键的常规cuckoo散列表的查找和插入性能。重点对仅使用指纹的部分密钥布谷鸟散列算法的空间效率进行优化和分析,使布谷鸟滤波器与Bloom滤波器竞争,甚至比Bloom滤波器更紧凑。在本文中,用于布谷鸟滤波器的布谷鸟散列表的基本单位称为条目。实验结果还表明,布谷鸟过滤器的性能优于之前扩展布隆过滤器的数据结构,在时间和空间上都大幅支持删除。原创 2022-10-04 21:19:14 · 28 阅读 · 0 评论 -
Prefix Filter: Practically and Theoretically Better Than Bloom
例如,布谷鸟过滤器使用布谷鸟散列[39],其插入时间取决于表的占用率,而向量商过滤器使用二选一散列的幂,其插入时间是常数时间。然而,关键的是,这些冲突解决方案会导致每个过滤器查询对负查询执行两次内存访问,通常会导致两次缓存缺失(因为每次内存访问都是对一个随机地址的访问)。动态过滤器(即支持删除),如布谷鸟过滤器或向量商过滤器,是空间高效的,但不能表现出一致的快速插入和查询。本文提出前缀过滤器,一种增量过滤器,解决了上述挑战:(1)其空间接近最优,类似于最先进的动态过滤器;(3)插入吞吐率高,总。原创 2022-10-04 20:15:46 · 20 阅读 · 0 评论 -
New Wine in an Old Bottle: Data-Aware Hash Functions for Bloom Filters
集合𝑋被投影到上一阶段选择的向量上(𝑤1和𝑤2在图中所示的示例中),每个向量都充当一个散列函数,将点映射到标记为{1,…在相同的内存使用情况下,它可以将误报率比标准的布隆过滤器提高两个数量级,并对相同的FPR提高高达50%的压缩率(每个键使用的字节),并始终优于学习的布隆过滤器的现有变体。,𝑤𝑘,其中𝑘是最好的向量。投影哈希布隆过滤器(PHBF),一种新的基于学习的方法,通过简单地用高效和数据感知的哈希函数替换标准的哈希函数(如Murmur3),与标准的布隆过滤器无缝工作。图2显示了PHBF的架构。原创 2022-10-04 18:59:57 · 13 阅读 · 0 评论 -
Vacuum Filters: More Space-Efficient and Faster Replacement for Bloom and Cuckoo Filters
实验表明,真空过滤器在相同的假阳性率下,与布谷鸟过滤器相比,在平均和类似吞吐量的情况下,可以实现25%的空间减少,与布鲁姆过滤器相比,空间减少15%和10倍的吞吐量。AMQ数据结构广泛应用于计算机系统和网络的各个层,通常托管在内存有限和宝贵的平台上。减少20%的空间是根本性的改进,而不是小幅度的增加。在所有已知的AMQ数据结构中,真空过滤器占用的空间最小,在大多数情况下提供更高的插入和查找吞吐量。此外,我们提出了一个新的更新框架,以解决动态AMQ结构的两个难题,即重复插入和集大小调整。原创 2022-10-04 14:28:06 · 10 阅读 · 0 评论