[SIGMOD 2022]Lightweight and Accurate Cardinality Estimation by Neural Network Gaussian Process

发布时间 2023-07-11 16:51:54作者: yujianke100

Lightweight and Accurate Cardinality Estimation by Neural Network Gaussian Process

总结

用无限宽度神经网络和高斯过程来等价贝叶斯过程,并利用主动学习提高精度,实现对某个SQL查询的cost估算

动机

依靠AI实现查询基数(cardinality,可以理解为cost)的估计。模型输入是SQL查询(word embedding),输出是基数。

NNGP

模型可以分为三个部分:

  1. 模型构建。NNGP使用了无限宽度的神经网络,并用高斯过程(已有数据估计一个高斯分布)对模型参数进行建模。

img

图例可以看到,相当于每个神经元之间传递的不再是参数,而是一个高斯分布

  1. 输入SQL查询得到基数估计值
  2. 提供该估计值的可信度

这个可信度可通过计算置信区间来估算,这个值可以靠高斯过程回归计算(回归拟合一个高斯分布,根据方差和均值判断置信区间)。

实验

数据集

img

ground truth是通过实际运行这些查询得到的

精度实验

评价指标Q-Error是判断估计cost和实际cost差距的指标。

img

效率实验

img

训练资源占用

img

鲁棒性

img

主动学习的效果

img

img

置信区间最大的查询被视作信息量最大的查询,主动学习将会针对这样的查询进行标注

查询效果

img

应用之后的查询效率

img