Skip to main content
QUICK REVIEW

[论文解读] NeuroCard: One Cardinality Estimator for All Tables

Zongheng Yang, Amog Kamsetty|arXiv (Cornell University)|Jun 15, 2020
Advanced Database Systems and Queries参考文献 44被引用 23
一句话总结

NeuroCard 提出了一种单一、统一的神经密度估计器,无需独立性假设即可对整个数据库模式中的表间和列间相关性进行建模。通过利用连接采样和深度自回归模型,它在保持模型紧凑(几 MB)且训练高效(数秒到数分钟)的同时,实现了最先进水平的基数估计精度——相比先前方法最高提升 34 倍。

ABSTRACT

Query optimizers rely on accurate cardinality estimates to produce good execution plans. Despite decades of research, existing cardinality estimators are inaccurate for complex queries, due to making lossy modeling assumptions and not capturing inter-table correlations. In this work, we show that it is possible to learn the correlations across all tables in a database without any independence assumptions. We present NeuroCard, a join cardinality estimator that builds a single neural density estimator over an entire database. Leveraging join sampling and modern deep autoregressive models, NeuroCard makes no inter-table or inter-column independence assumptions in its probabilistic modeling. NeuroCard achieves orders of magnitude higher accuracy than the best prior methods (a new state-of-the-art result of 8.5$ imes$ maximum error on JOB-light), scales to dozens of tables, while being compact in space (several MBs) and efficient to construct or update (seconds to minutes).

研究动机与目标

  • 解决查询优化中基数估计不准确的关键挑战,特别是针对复杂多连接查询。
  • 克服现有数据驱动估计器依赖独立性假设的局限,这些假设无法捕捉复杂的表间相关性。
  • 开发一种可扩展的通用基数估计器,适用于模式中任意表子集而无需重新训练。
  • 通过从全外连接中采样而非计算全连接,降低训练成本和模型大小,同时保持高精度。
  • 通过学习所有表的完整联合分布而无需查询特定假设,实现在分布变化下的稳健估计。

提出的方法

  • 在模式中所有表的全外连接上构建单一深度自回归(AR)模型,以捕捉所有表间和列间相关性。
  • 使用线性时间动态规划算法预计算每个键的正确采样权重,从而实现对全外连接分布的无偏采样。
  • 使用计算出的权重从全外连接中采样元组,生成保留真实连接分布的训练数据。
  • 在采样数据上训练深度自回归模型(例如基于流模型或自回归归一化流),以学习联合概率分布。
  • 在推理阶段,使用学习到的模型计算条件概率,并对属性进行积分,以估计任意查询在任意表子集上的选择性和基数。
  • 通过从学习到的分布中采样并评估采样元组上的谓词,支持复杂谓词。

实验结果

研究问题

  • RQ1一个单一的神经密度估计器是否能够无需独立性假设即可对数据库中所有表间和列间相关性进行建模?
  • RQ2我们如何在不预计算计算上不可行的全外连接的情况下高效训练此类模型?
  • RQ3我们能否使用单一紧凑模型在各种查询类型和表组合上实现高精度估计?
  • RQ4使用正确权重从全外连接分布中采样,是否能生成用于基数估计的代表性训练分布?
  • RQ5与现有查询驱动和数据驱动的基数估计器相比,所提方法在精度和效率方面表现如何?

主要发现

  • 在 JOB-light 基准测试中,NeuroCard 的精度最高比 DeepDB 提升 34 倍,最大误差比最佳先前方法降低 8.5 倍。
  • 该模型在复杂多连接查询上表现达到最先进水平,显著优于所有查询驱动和数据驱动估计器。
  • NeuroCard 模型极为紧凑,仅需几 MB 存储空间,且可在数秒到数分钟内完成训练或更新。
  • 该方法可扩展至数十张表,展示了在真实数据库模式中的实用性。
  • 通过无独立性假设地学习完整联合分布,NeuroCard 捕捉了传统估计器所遗漏的复杂相关性。
  • 加权连接采样确保了训练数据能代表真实连接分布,从而实现对任意表子集上任意查询的准确泛化。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。