NFL: Robust Learned Index via Distribution Transformation

近年来关于学习索引的工作为索引领域开辟了一个新的方向。学习索引的关键见解是用分段线性函数近似键和位置之间的映射。这种方法需要对键空间进行分区以获得更好的近似效果。虽然人们提出了许多启发式方法来提高近似质量,但瓶颈在于分割开销会影响整体性能。

在构建学习索引之前,通过对键进行分布变换来解决近似问题。提出了一种基于两阶段归一化流的学习索引框架(NFL),首先将原始复杂的密钥分布转换为近似均匀的分布,然后利用转换后的密钥建立学习索引。为了有效地进行分布变换,提出了一种数值归一化流(Numerical Normalizing Flow, Numerical NF)。基于转换后关键字的特点,提出了鲁棒后流学习索引(robust afterflow learning Index, AFLI)。为了验证性能,在合成和真实的工作负载上进行了全面的评估,与最先进的学习索引相比,所提出的NFL产生了最高的吞吐量和最低的尾延迟。 

背景:

这种启发式分割不仅引入了额外的时间和空间开销,而且需要大量的精力来设计算法和支持操作。本文从另一个角度解决近似问题。

方法:

本文提出了一种新的方法,在构建学习索引之前,将原始键转换到接近均匀的键空间,使学习的索引可以对CDF进行更好的逼近。这种分布变换从根源上解决了近似问题,并显著提高了学习索引的所有方面的性能。Normalizing flows (NFs)[9,38]作为一个生成模型族,可以应用于执行分布转换。

为了实现分布变换的目标,本文提出了一个两阶段的归一化流学习索引框架(NFL),由用于分布变换的数值归一化流(Numerical Normalizing Flow, Numerical NF)和用于CDF逼近的鲁棒后流学习索引(robust afterflow learning index, AFLI)组成。NFL不是直接对CDF曲线进行分段,而是首先利用数值NF将原始密钥转换为近似均匀分布的密钥,使CDF曲线近似线性;然后,基于变换后的密钥,AFLI可以对变换后的CDF进行很好的逼近。此外,我们还提出了一种新的冲突程度度量来评价数值NF的转换质量。 

在对数值NF进行变换后,结合变换后密钥的特点,AFLI只需一个简单高效的结构即可处理局部冲突,在吞吐量和尾部延迟方面均具有较好的性能。在AFLI中,用简单的建模操作取代了现有学习索引中复杂和昂贵的调整,将密集数组变成了基于模型的节点 

 

 NFL: THE NORMALIZING-FLOW-LEARNED INDEX FRAMEWORK

图4显示了归一化流学习索引框架(NFL)的结构和工作流程。该框架由两部分组成:用于分布变换的归一化流程和用于CDF近似的学习索引。The input keys are first fed into the normalizing flow which transforms them to a near-uniform distribution。 然后将变换后的键用于学习索引中的线性模型;由于批量请求(例如,批量查询,批量插入)在现代数据库中是常见的情况[18,19,32,33,37],我们的NFL也批量处理请求。

3.2 Numerical Normalizing Flow

The proposed Numerical NF aims to transform the key distribution into a near-uniform distribution.  由于以均匀分布为目标的训练归一化流可能会遇到“Nan-loss”问题或“INF-loss”问题,我们将其替换为接近均匀分布,即方差较大的正态分布。在此之后,我们将专注于功效的特征工程(见第3.2.1节)、模型瘦身和效率的过程优化(见第3.2.2节)。

3.3 AFLI: After-Flow Learned Index

The main idea of AFLI is to buffer local conflicts。 对于某些位置的小冲突,冲突的键被存储在桶中。直接用于处理冲突键的线性模型缺乏泛化能力[46],因为没有足够的键来提供信息。然而,桶中存储的键过多会降低AFLI的查询性能。因此,AFLI需要在桶中存储的最大键数和线性模型的泛化能力之间进行权衡。

 结论

本文通过应用分布变换来解决近似问题。本文提出一种归一化流学习的索引框架,以转换键空间,以更好地逼近CDF。我们还引入了一个1维友好的归一化流程来实现转化。提出一种轻量级、精确的学习索引,以支持高效的索引操作。在典型工作负载上的实验结果验证了所提出的框架和索引的有效性。在未来的工作中,我们计划进一步研究使用规范化流的潜力,包括规范化流与学习索引的协同设计,在多维索引上使用规范化流等。此外,还值得进一步加快规范化流的推理速度。

阅读者总结:这篇论文主要在将数据转化到另个一空间中,即为归一化流程,然后实现学习索引,这类似于图三的结构。文中的关注点:实现这种转化的好处在于能够好的毕竟key分布。因此我们可以看出来学习索引的关键还是在对key分布的精确性模拟上面,但是传统的方法都是采用一些线段实现模拟,这导致了key分布模型存在不小的差距

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值