[论文解读] Improved Cardinality Estimation by Learning Queries Containment Rates
该论文提出了一种基于深度学习的新方法——CRN,用于在特定数据库上估计SQL查询之间的包含率,通过查询组件的嵌入向量表示实现。利用这些包含率,该方法显著提升了选择度估计的准确性——在五表连接查询上,相比MSCN,准确率最高提升了1,650倍——为现有查询优化器提供了一种强大且即插即用的解决方案,无需重新训练模型。
The containment rate of query Q1 in query Q2 over database D is the percentage of Q1's result tuples over D that are also in Q2's result over D. We directly estimate containment rates between pairs of queries over a specific database. For this, we use a specialized deep learning scheme, CRN, which is tailored to representing pairs of SQL queries. Result-cardinality estimation is a core component of query optimization. We describe a novel approach for estimating queries result-cardinalities using estimated containment rates among queries. This containment rate estimation may rely on CRN or embed, unchanged, known cardinality estimation methods. Experimentally, our novel approach for estimating cardinalities, using containment rates between queries, on a challenging real-world database, realizes significant improvements to state of the art cardinality estimation methods.
研究动机与目标
- 为解决查询优化中选择度估计不准确的关键挑战,特别是针对多表连接的复杂查询。
- 提出一种新度量标准——包含率,定义为一个查询结果元组在另一个查询结果中所占的百分比,基于特定数据库。
- 开发一种深度学习模型CRN,从表、连接和谓词中学习查询表示,以准确估计包含率。
- 证明包含率估计可显著提升现有选择度估计方法的性能,且无需修改原有方法。
- 为IMDb等真实世界数据库提供一种实用、低开销的框架,以提升查询优化器性能。
提出的方法
- CRN将每个查询编码为三组:表(T)、连接(J)和列谓词(P),每组均以可学习的向量表示。
- 通过注意力机制组合T、J和P的嵌入向量,生成单一的查询表示向量。
- 通过专用神经网络层测量两个查询学习到的表示向量之间的距离,来估计其间的包含率。
- 采用三步框架:(1) 通过CRN估计包含率,(2) 利用这些包含率改进选择度估计,(3) 无需修改原有估计器即可与现有估计器集成。
- 该方法可通过递归分解和集合推理,支持复杂谓词、字符串相等(通过哈希)、EXCEPT、UNION和OR操作符。
- 对于动态数据库,支持基于更新的模式和数据进行增量重训练或完整重训练,并通过占位符机制支持未来模式变更。
实验结果
研究问题
- RQ1在特定数据库上学习查询之间的包含率,能否提升选择度估计的准确性?
- RQ2所提出的CRN模型在估计包含率和选择度方面,与当前最先进方法相比表现如何?
- RQ3包含率估计在多表连接查询中,能在多大程度上减少选择度估计误差?
- RQ4能否通过基于包含率的框架,增强现有的选择度估计模型?
- RQ5如何将CRN模型扩展以支持复杂SQL结构,如字符串谓词、IN、BETWEEN和集合操作符?
主要发现
- 与PostgreSQL和MSCN相比,该方法在四表连接查询上的选择度估计准确率分别提升了最多150倍和175倍。
- 在五表连接查询中,该方法相比MSCN的选择度估计准确率提升了1,650倍,相比PostgreSQL提升了120倍。
- 即使查询之间并非在逻辑上完全包含,CRN的包含率估计依然非常有效,原因在于数据特定的相关性。
- 该方法可通过三步流程(使用包含率来改进估计)增强任何现有选择度估计器。
- CRN模型通过递归分解和集合运算,能很好地泛化到包含UNION、EXCEPT和OR条件的复杂查询。
- 该方法在动态数据库中具有实用性,支持增量重训练和通过占位符机制实现模式演化。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。