Skip to main content
QUICK REVIEW

[论文解读] DeepDB: Learn from Data, not from Queries!

Benjamin Hilprecht, Andreas Schmidt|arXiv (Cornell University)|Sep 2, 2019
Data Stream Mining Techniques参考文献 37被引用 19
一句话总结

DeepDB 提出了一种数据驱动的方法来构建学习型数据库管理系统,直接在数据库数据上训练深度概率模型(关系型求和-乘积网络),而非在查询工作负载上进行训练。这种方法实现了高精度、可泛化的查询处理、 selectivity 估计和机器学习任务,且在数据更新后无需重新训练,其准确性和效率相比基于工作负载的基线模型高出一个数量级。

ABSTRACT

The typical approach for learned DBMS components is to capture the behavior by running a representative set of queries and use the observations to train a machine learning model. This workload-driven approach, however, has two major downsides. First, collecting the training data can be very expensive, since all queries need to be executed on potentially large databases. Second, training data has to be recollected when the workload and the data changes. To overcome these limitations, we take a different route: we propose to learn a pure data-driven model that can be used for different tasks such as query answering or cardinality estimation. This data-driven model also supports ad-hoc queries and updates of the data without the need of full retraining when the workload or data changes. Indeed, one may now expect that this comes at a price of lower accuracy since workload-driven models can make use of more information. However, this is not the case. The results of our empirical evaluation demonstrate that our data-driven approach not only provides better accuracy than state-of-the-art learned components but also generalizes better to unseen queries.

研究动机与目标

  • 为了解决基于工作负载的训练在学习型 DBMS 组件中成本高昂且脆弱的问题,后者需要昂贵的查询执行和频繁的重新训练。
  • 开发一种数据驱动的替代方案,以捕捉联合数据分布,并在无需针对工作负载进行训练的情况下支持多种任务。
  • 实现在无需模型重新训练的前提下,支持即席查询和动态数据更新。
  • 评估数据驱动模型是否能在准确性和泛化能力上超越基于工作负载的模型。
  • 证明单一学习模型可同时支持查询回答、基数估计和机器学习任务,而无需重新训练。

提出的方法

  • 提出关系型求和-乘积网络(RSPNs)作为深度概率模型,用于捕捉联合数据分布,包括属性相关性与边缘分布。
  • 采用概率查询编译技术,将类似 SQL 的查询转换为 RSPNs 上的期望和概率,以实现高效的推理。
  • 仅在完整数据库数据上训练一次 RSPN 模型,避免对每个查询或工作负载进行训练。
  • 通过增量调整模型实现对直接更新(插入、删除、更新)的支持,无需完整重新训练。
  • 利用集成学习提升模型在多样化查询模式下的鲁棒性和泛化能力。
  • 利用 SPNs 的结构实现高效推理,并在复杂关系模式上实现可扩展计算。

实验结果

研究问题

  • RQ1仅基于数据库数据训练的数据驱动模型,是否能在基数估计准确性上超越基于工作负载的模型?
  • RQ2与基于工作负载的模型相比,数据驱动方法在未见查询模式上的泛化能力是否更强?
  • RQ3单一学习模型是否可在无需重新训练的前提下,同时支持多种数据库任务,包括查询回答、基数估计和机器学习?
  • RQ4该数据驱动模型在数据量和模式复杂度增加时,性能如何扩展?
  • RQ5该模型在无需重新训练的前提下,能在多大程度上处理动态数据更新?

主要发现

  • 在包含四个或更多连接的未见查询上,DeepDB 的基数估计准确度比基于工作负载的 MCSN 模型高出一个数量级。
  • 数据驱动的 RSPN 模型在泛化能力上显著优于基于工作负载的模型,表现为在分布外查询上的误差率更低。
  • DeepDB 支持即席查询和数据更新,且无需重新训练,同时在所有任务中保持高准确度。
  • 相同的 RSPN 模型在回归任务中的 RMSE 与标准机器学习模型相当,且额外训练时间为零。
  • DeepDB 的模型训练时间少于 3 小时,且仅需执行一次,而基于工作负载的模型需要重复执行昂贵的查询以进行重新训练。
  • 在所有评估基准中,DeepDB 在查询处理和基数估计方面均优于传统方法和最先进的学习型 DBMS 组件。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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