核心概念
従来のデータベースクエリ最適化では、CPUとI/Oに関連するコストモデルパラメータを手動で設定する必要があるが、ワークロードの変化に応じて動的に調整することで、より最適なクエリ実行計画を選択できる。
摘要
本論文では、適応型コストモデル(ACM)を提案している。ACMは、クエリ実行統計を継続的に監視し、CPUとI/Oに関連するコストモデルパラメータを動的に最適化することで、より正確なコスト見積もりを行い、最適なクエリ実行計画の選択を可能にする。
ACMには2つのコンポーネントがある:
- ディスクI/Oに関連するパラメータの最適化
- バッファキャッシュの状態に基づいて、ランダムアクセスコストを動的に調整する
- CPUに関連するパラメータの最適化
- クエリ演算子の実行統計を収集し、線形モデルを使ってCPUコストパラメータを調整する
実験では、TPC-Hベンチマークを使って評価を行った。結果、コストと実行時間の相関が0.29から0.92に改善され、全体の実行遅延が20%改善された。
統計資料
コストと実行時間の相関係数が0.29から0.92に改善された
TPC-Hベンチマークの全体の実行遅延が20%改善された
引述
"従来のコストベースのクエリオプティマイザでは、コスト見積もりが数桁の誤差を含むことがある(例えば複雑なクエリでの結合順序の推定など)"
"コストモデルのパラメータを手動で設定するのは難しく、ワークロードの変化に応じて定期的に調整する必要がある"