Skip to main content
QUICK REVIEW

[論文レビュー] How I Learned to Stop Worrying and Love Re-optimization

Matthew Perron, Zeyuan Shang|arXiv (Cornell University)|Feb 21, 2019
Advanced Database Systems and Queries参考文献 33被引用数 6
ひとこと要約

本稿では、正確でない基数推定による継続的なパフォーマンスボトルネックを解消するため、動的再最適化戦略を提案する。実行時における最新の統計情報を利用し、長時間実行中のクエリを再計画することで、ジョインオーダーベンチマークにおける最遅い上位20件のクエリでエンドツーエンド遅延を27%低減した。最適な基数推定の大部分の利点を最小限の最適化の変更で達成した。

ABSTRACT

Cost-based query optimizers remain one of the most important components of database management systems for analytic workloads. Though modern optimizers select plans close to optimal performance in the common case, a small number of queries are an order of magnitude slower than they could be. In this paper we investigate why this is still the case, despite decades of improvements to cost models, plan enumeration, and cardinality estimation. We demonstrate why we believe that a re-optimization mechanism is likely the most cost-effective way to improve end-to-end query performance. We find that even a simple re-optimization scheme can improve the latency of many poorly performing queries. We demonstrate that re-optimization improves the end-to-end latency of the top 20 longest running queries in the Join Order Benchmark by 27%, realizing most of the benefit of perfect cardinality estimation.

研究の動機と目的

  • 現代のコストベースクエリ最適化アルゴリズムが、数十年にわたる改良にもかかわらず、依然として非最適な実行計画を生成する理由を調査すること。
  • 基数推定の精緻化や計画列挙の改善よりも、再最適化がパフォーマンス向上のより実用的な道筋であるかどうかを評価すること。
  • 実世界のベンチマークワークロードにおける再最適化がエンドツーエンドクエリ遅延に与える影響を測定すること。
  • 現代のデータベースシステムにおける再最適化のリスクと利点を評価すること。

提案手法

  • 著者らは、クエリ実行時間が閾値を超えた後に計画の再生成をトリガーする単純な再最適化方式をシミュレートした。
  • 彼らは、ジョインオーダーベンチマーク(JOB)上で、再最適化をポストグレーストのデフォルト最適化子と、完全な基数推定(perfect-(n))と比較して評価した。
  • 再最適化は、長時間実行されるクエリにのみ適用され、高速なクエリにはオーバーヘッドが発生しないようにした。
  • 改善度を測定するために、実行時間の基準としてperfect-(17)に対する相対実行時間を用いた。
  • 著者らはクエリ実行時間の分布を分析し、再最適化によってレグレッションを引き起こすクエリを同定した。
  • 再最適化を、段階的に精度の高い基数推定(perfect-(n))と比較し、利回りの逓減を評価した。

実験結果

リサーチクエスチョン

  • RQ1実世界のベンチマークにおいて、再最適化はパフォーマンスが著しく劣るクエリのエンドツーエンド遅延を顕著に低減できるか?
  • RQ2再最適化のみで、完全な基数推定の利点のどの程度を達成できるか?
  • RQ3再最適化のパフォーマンスリスクは何か?特に、レグレッションに最も脆弱なクエリはどれか?
  • RQ4より正確な基数推定が進化する中で、再最適化は依然として有益であるか?

主な発見

  • ジョインオーダーベンチマークにおける上位20件の最長実行クエリのエンドツーエンド遅延が、再最適化により27%低減され、完全な基数推定の大部分の利点を達成した。
  • 3つ以下のテーブルのジョインについて完全な推定値(perfect-(3))を用いても、最遅いクエリには改善が見られず、単により良い推定値を用意するだけでは不十分であることが示された。
  • 再最適化により、ベンチマークの45%のクエリで実行時間が改善され、特に最長実行時間のクエリで最も顕著な向上が見られた。
  • 再最適化による最悪ケースのレグレッションは、元の実行時間の100倍以上にのぼったが、これは元の実行時間が約10msの1つのクエリに限定されており、全体への影響は無視できるほど小さかった。
  • 再最適化とperfect-(5)推定値を組み合わせた場合、perfect-(5)単体と比較してわずか6%のパフォーマンス劣化にとどまり、スケールアップ時のリスクは低いことが示された。
  • 本研究の結論として、完全な基数推定を目指すよりも、再最適化がパフォーマンス向上のよりコスト効果の高い道筋であると結論づけた。

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

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

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

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