SageDB (1)

SageDB

SageDB是CIDR19上提出的一篇Vision Paper。它的主要议题是探讨数据库self-design的问题,也就是未来通过machine learning学习出来的model能不能替换传统数据库的核心部件。

这个智能化历史上分几个阶段:

  1. 传统数据库的SQL optimizer,根据COST函数优化执行流程
  2. Self-tuning。AI/ML和数据库的结合,也就是数据库的数据结构已经确定了,根据统计结果,优化参数
  3. 还没有达到的self-design,就是SageDB探讨的内容。根据数据情况,产生合适的算法和数据结构。

作者用一个分布函数CDF的例子。比如说B-tree也是用来“预测”数据位置的。神经网络也可以用来做预测“prediction”。那么就出现了一个比较的问题。感觉时间和AI的发展也许是站在作者这边的,随着GPU/TPU速度的提高和成本的下降,可以更精准的来根据用户的数据,采用更customized方法。

假设一个perfect CDF已经被ML发掘出来,那么optimizer, indexes, compression, execution都变的更方便了。

在作者的上一篇“The case for learned index structures"2018, 作者提到他不用TensorFlow做inference而是用code generator产生代码,这样30ns级别就可以了。

作者搞了个Model的树,从一个Model的结果来pick下一个Model。感觉这是作者用来mend他的模型的,这样模型就完整了,也可以有更多的变化。实际操作上,最后一层的模型也可以由B-tree来组成,解决最后一公里的问题。

作者在2018年的结果表明,对MAP data,web data,和Log-normal data, learned index有明显的效果来节约SIZE和lookup时间。我怀疑这表明了对这些数据,B-tree本来就不是一个好的方案。

SageDB细节下次讨论。

你可能感兴趣的:(SageDB (1))