中文

深度查询优化的案例

数据库 2019-12-18 v2

摘要

查询优化(Query Optimisation, QO)是数据库中最重要优化问题。QO的目标是在给定代价模型下计算出最佳物理计划。在此过程中,物理算子被用作计划与优化的构建块。本文中,我们提议深化这一过程。我们提出了深度查询优化(Deep Query Optimisation, DQO)。在DQO中,我们打破“物理”算子的抽象,以考虑更细粒度的子组件。这些子组件随后被用于在离线时和查询时枚举(子)计划。这一想法引发了若干激动人心的研究方向:(1)DQO究竟如何帮助计算出比(浅层)QO更好的计划,代价如何?(2)DQO可用于预计算和综合数据库算子以及任何其他数据库组件,作为物化算法视图(Materialised Algorithmic Views, MAVs)。(3)我们识别出算法视图选择问题(Algorithmic View Selection Problem, AVSP),即哪些MAV应在何时物化?本文利用一个受生物学启发的类比来呈现DQO的高层思想。然后,我们着手质疑“物理”和“物理算子”这两个术语。我们展示了对一个曾被称为“基于哈希的分组”的“物理算子”的实验。我们既独立地对该算子进行了基准测试,也在DQO启用的动态规划上下文中进行了测试。最后,我们勾勒了一个DQO研究议程作为总结。

关键词

引用

@article{arxiv.1908.08341,
  title  = {The Case for Deep Query Optimisation},
  author = {Jens Dittrich and Joris Nix},
  journal= {arXiv preprint arXiv:1908.08341},
  year   = {2019}
}

备注

camera ready version for CIDR 2020, renamed Algorithmic Views to Materialised Algorithmic Views, added meta-relational plan properties, revised and extended Materialised Algorithmic Views section, added System Integration section, revised Experiments section, added tables 2, 3, and 5, added figure 4, added references, added appendix, corrected typos