【SIGMOD ‘18】The Case for Learned Index Structure

[1] Kraska, Tim, Alex Beutel, Ed H. Chi, Jeffrey Dean, and Neoklis Polyzotis. "The case for learned index structures." In SIGMOD, pp. 489-504. 2018
[2]

为什么我们可以认为索引就是一种模型?作者举了 B-tree 的例子

作者通过 B-tree 表达了一个很令人振奋的观点,很有可能 DB 研究者才是最早做 ML 的一批,因为 B-tree 本身就是为了根据 Key 得到一个页面位置,在邻近的页面(Page,可以理解为存储固定数据量的物理内存片段),做最后的精化操作。那么 Learned Index 想要做的事情就是认为这是一个回归模型,我们可以通过一个 Key,预测他的 pos,根据 pos 在误差界中找到结果集。

B-tree 这种索引:比如查询所有学号 < 100 的同学
我们至少要找到 第一个小于 100 的同学,找到第一个之后又能尽快找到 第二个小于 100 的同学,这就是问题的本质

B-tree 劣势到底在哪?

Pos Key??

还有

最后 1 公里和最后 5 公里;

当我们处理的多维数据是均衡的(可以简单理解为正态分布),那么按 Z-order 编码后的 key 的 CDF 是指

RMI

RMI 就是这篇文章提出的,可以满足替代索引需求的学习模型。本质就是简单模型堆叠出来的决策树,通过上层模型的预测结果分发到指定的下层模型,最后再叶子模型中得出最后的 pos。

RMI 结构

你可能感兴趣的:(【SIGMOD ‘18】The Case for Learned Index Structure)