我们给出了第一个学习到的索引,它支持在最坏情况下可证明有效的时间和空间范围内的前任、范围查询和更新。在仅使用前任和范围查询的(静态)上下文中,这些边界是最优的。我们称之为分段几何模型索引(PGM-index)。它的灵活设计允许我们引入三种变体,这在学习过的数据结构中是新颖的。PGM-index的第一个变体能够适应查询操作的分布,因此产生了迄今为止第一个已知的可感知分布的学习索引。第二种变体利用了在组成pgm -索引的学习模型级别上可能存在的重复性,进一步压缩了它简洁的空间占用。第三种是pgm索引的多标准变体,它可以在几秒钟内对数亿个键进行有效的自动调整,以满足时空约束,这些约束会随着用户、设备和应用程序的时间推移而演变。
这些理论成果得到了大量已知数据集上的实验结果的支持。实验结果表明,全动态pgm索引将现有传统索引和学习索引的空间占用提高了三个数量级,同时仍然实现了与传统索引相同甚至更好的查询和更新时间效率。例如,在前任和范围查询的静态设置中,PGM-index在两个数量级(83)以内匹配缓存优化的静态B+-树的查询性能;而在完全动态的设置中,允许插入和删除,pgm -索引在减少1140个数量级的空间内提高了B+-树的查询和更新时间性能高达71%。
贡献:在本文中,我们致力于设计可证明的高效学习索引,该索引还可压缩、分布感知和自动调优到任何给定的空间或延迟需求。
具体地说,我们设计了一个完全动态学习的索引,分段几何模型索引(PGM-index),它在一种新的递归结构中基于固定的最大容错协调线性模型的最优数量(章节2和3)。根据[32]证明的下界,PGM-index在占用简洁空间的同时,最优地解决了I/ o前一个搜索问题。此外,它的新设计使它成为一个完全学习的索引(不像RMI和fit -tree混合传统和学习的设计元素),它允许我们引入新的技术使其压缩(第4节),不仅适应键分布,而且适应查询分布(第5节)。然后,我们展示了pgm -索引可以有效地自动调整自己,以满足任何给定的空间或延迟需求(第6节)。