范围过滤查询
文章平均质量分 77
西西弗的小蚂蚁
不要辜负这美好的时光!
展开
-
Towards Designing and Learning Piecewise Space-Filling Curves
我们的想法是根据数据和查询工作负载属性为不同的子空间设计不同的bmp,以优化查询性能。根据我们的想法设计的SFC将包含多个bmp,每个bmp对应于一个子空间,我们将得到的SFC称为分段SFC。在本文中,我们提出了一种新的SFC,称为分段SFC,它对不同的数据子空间采用不同的映射方案。一个常见的问题是,每种类型的SFC都有自己固定的映射方案/功能,无法调整以适应不同的数据集。我们建议将BMTree的构建建模为马尔可夫决策过程(MDP)[38],旨在开发数据驱动的解决方案,为不同的子空间设计合适的bmp。原创 2023-06-26 20:53:23 · 53 阅读 · 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 · 3 阅读 · 0 评论 -
Proteus: A Self-Designing Range Filter
Proteus统一了最先进的范围滤波器的概率和确定性设计空间,以在更大的各种用例中实现鲁棒的性能。Proteus的核心是上下文前缀FPR (CPFPR)模型——一个跨设计空间的基于前缀的过滤器FPR的形式化框架。实验还表明,与端到端性能提升相比,建模的成本不显著,并且Proteus对工作负载的转移具有鲁棒性。在本节中,我们将形式化地描述工作负载的不同方面是如何影响基于前缀的范围过滤器的性能的,以便理解不同设计的权衡。利用该框架对先进的AREs的基本组件进行了分解,实现了统一的设计空间。原创 2022-10-06 20:20:42 · 3 阅读 · 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 · 4 阅读 · 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 · 2 阅读 · 0 评论