Skip to main content
QUICK REVIEW

[論文レビュー] Adaptive Cardinality Estimation

О. П. Иванов, Sergey Bartunov|arXiv (Cornell University)|Nov 22, 2017
Advanced Database Systems and Queries参考文献 22被引用数 9
ひとこと要約

この論文では、機械学習を用いた適応的カーディナリティ推定を提案し、リレーショナルデータベースにおけるコストベースのクエリ最適化を改善する。以前に実行されたクエリの実行統計を活用することで、動的にカーディナリティ予測を精緻化し、推定誤差を低減し、複雑なクエリにおいては最大数10倍の性能向上を達成する。

ABSTRACT

In this paper we address cardinality estimation problem which is an important subproblem in query optimization. Query optimization is a part of every relational DBMS responsible for finding the best way of the execution for the given query. These ways are called plans. The execution time of different plans may differ by several orders, so query optimizer has a great influence on the whole DBMS performance. We consider cost-based query optimization approach as the most popular one. It was observed that cost-based optimization quality depends much on cardinality estimation quality. Cardinality of the plan node is the number of tuples returned by it. In the paper we propose a novel cardinality estimation approach with the use of machine learning methods. The main point of the approach is using query execution statistics of the previously executed queries to improve cardinality estimations. We called this approach adaptive cardinality estimation to reflect this point. The approach is general, flexible, and easy to implement. The experimental evaluation shows that this approach significantly increases the quality of cardinality estimation, and therefore increases the DBMS performance for some queries by several times or even by several dozens of times.

研究の動機と目的

  • コストベースのクエリ最適化における不正確なカーディナリティ推定という深刻な問題に対処し、データベースのパフォーマンスに顕著な悪影響を与えること。
  • System Rにおけるヒストグラムベース推定や句独立性仮定の限界を克服すること。
  • 機械学習を用いてワークロードやデータの変化に適応可能な柔軟で汎用的な手法を開発すること。
  • クエリ最適化の正確性を向上させ、不良なカーディナリティ推定が引き起こすパフォーマンス劣化を低減すること。

提案手法

  • 以前に実行されたクエリの実行統計を、カーディナリティ予測のための機械学習モデルの学習データとして活用する。
  • 特徴量をクエリの述語とテーブル統計から抽出することで、カーディナリティ推定を教師あり機械学習問題として定式化する。
  • 大規模かつストリーミングなクエリワークロードに対応するため、固定メモリ実装を用いたk近傍法(k-NN)をコアな学習アルゴリズムとして採用する。
  • カラム選択性、結合条件、述語構造に基づいて特徴空間を構築し、データ依存性を捉える。
  • クエリ最適化器にモデルを統合し、プラン選択段階で再びカーディナリティを推定することで、コストモデルの正確性を向上させる。
  • 中断されたまたはパフォーマンスが著しく低いプランからの新しい実行統計を用いて、モデルを再学習または更新することで動的適応を支援する。

実験結果

リサーチクエスチョン

  • RQ1現在のコストベースのクエリ最適化器は、相関的または依存的な述語がある場合、どの程度不良なカーディナリティ推定によって失敗するのか?
  • RQ2歴史的クエリ実行統計に基づいて学習された機械学習モデルは、カーディナリティ推定の正確性を顕著に向上させることができるか?
  • RQ3提案手法の適応的アプローチは、複雑な実世界ワークロードにおいて、従来の統計ベースのアプローチと比較してどの程度の性能を示すか?
  • RQ4産業用DBMS向けにスケーラブルで適応可能なカーディナリティ推定システムを構築する際の主な設計的妥当性とは何か?
  • RQ5中断した実行統計に基づくクエリの再最適化は、さらに学習を促進し、プラン品質を向上させることができるか?

主な発見

  • 句独立性仮定に基づく標準的なクエリ最適化器は、特に複雑なクエリにおいて、最適なプランよりも数個のオーダーも遅いプランを選択しがちである。
  • 提案された適応的カーディナリティ推定手法は、推定誤差を低減し、最適に近いプランの選択を可能にし、複雑なクエリにおいて最大数10倍の高速化を達成した。
  • この手法は、従来の最適化器が誤った選択性推定により失敗する複雑なクエリにおいて特に優れた性能を発揮し、計算コストが高くないクエリでも同様に有効である。
  • TPC-H、TPC-DS、JOB、StrongCorベンチマークを用いた実験的評価により、顕著なパフォーマンス向上が確認された。特に高複雑度のクエリワークロードで最大の改善が得られた。
  • 特に顕著なカーディナリティ低減が見られる部分実行または中断されたクエリからの統計を活用することで、モデルの学習を加速でき、非効率なプランの完全実行を回避できる。
  • 固定メモリストレージを備えたk-NNベースのアプローチにより、変化するデータとワークロードにスケーラブルかつリアルタイムで適応可能であるが、動的適応メカニズムは依然としてオープンな研究課題のままである。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。