Skip to main content
QUICK REVIEW

[論文レビュー] UDO: Universal Database Optimization using Reinforcement Learning

Junxiong Wang, Immanuel Trummer|arXiv (Cornell University)|Apr 5, 2021
Cloud Computing and Resource Management参考文献 30被引用数 4
ひとこと要約

UDO は、高価な変更の報酬フィードバックを遅らせる仕組みを用いて、インデックスやトランザクションコード、システム設定など、軽量パラメータと重いパラメータを統合的に最適化する強化学習ベースのシステムである。重いパラメータと軽いパラメータに分けて最適化を行うことで、知的な計画と、重いパラメータと軽いパラメータの別々のマルコフ決定過程(MDP)を用いることで、再設定コストを低減し、ベースラインよりも高速に準最適なパフォーマンスに到達する。

ABSTRACT

UDO is a versatile tool for offline tuning of database systems for specific workloads. UDO can consider a variety of tuning choices, reaching from picking transaction code variants over index selections up to database system parameter tuning. UDO uses reinforcement learning to converge to near-optimal configurations, creating and evaluating different configurations via actual query executions (instead of relying on simplifying cost models). To cater to different parameter types, UDO distinguishes heavy parameters (which are expensive to change, e.g. physical design parameters) from light parameters. Specifically for optimizing heavy parameters, UDO uses reinforcement learning algorithms that allow delaying the point at which the reward feedback becomes available. This gives us the freedom to optimize the point in time and the order in which different configurations are created and evaluated (by benchmarking a workload sample). UDO uses a cost-based planner to minimize reconfiguration overheads. For instance, it aims to amortize the creation of expensive data structures by consecutively evaluating configurations using them. We evaluate UDO on Postgres as well as MySQL and on TPC-H as well as TPC-C, optimizing a variety of light and heavy parameters concurrently.

研究の動機と目的

  • 物理的設計からシステム設定に至る広範なデータベースチューニングパラメータを、単純化されたコストモデルに依存せずに最適化する課題に対処すること。
  • 強化学習ベースのチューニングにおいて、インデックス作成やサーバー再起動といった高価な(重い)パラメータを変更する際の高いオーバーヘッドを克服すること。
  • 互いに影響を及ぼすパラメータ(例:インデックスと設定値)の連携最適化を可能にすること。
  • すべてのチューニング選択を一様に扱う統合フレームワークを構築し、パラメータタイプごとに別々のツールを必要としないようにすること。
  • 遅延フィードバックと再設定計画が、高価なチューニングシナリオにおいて収束速度と解の品質を著しく向上させることを実証すること。

提案手法

  • パラメータを、変更に高コストがかかる(重い、例:インデックス作成)ものと、安価に変更可能な(軽い、例:設定フラグ)ものに分類し、それぞれに最適な強化学習戦略を適用する。
  • 重いパラメータに対しては、遅延報酬強化学習アルゴリズムを用い、設定をバッチで作成・評価することで、高価なセットアップコストを分散化する。
  • コストに基づくプランナを用いて設定の作成と評価の順序を最適化し、類似した設定(例:1つのインデックスを複数の評価で再利用)をグループ化することで、再設定オーバーヘッドを最小限に抑える。
  • 各固定された重いパラメータ設定に対して、軽いパラメータの最適化を別々のマルコフ決定過程(MDP)としてモデル化し、的確かつ高速な収束を実現する。
  • ワークロードのサンプルに対して実際のクエリ実行を用いてパフォーマンスを測定し、報酬信号を生成することで、予測コストモデルへの依存を避ける。
  • 軽いパラメータに対しては遅延なしの強化学習を適用し、各重いパラメータ設定内での迅速な適応を可能にする。

実験結果

リサーチクエスチョン

  • RQ1統合された強化学習フレームワークは、物理的設計からシステム設定に至る多様なデータベースチューニングパラメータを同時に効果的に最適化できるか?
  • RQ2強化学習は、インデックス作成などの高価なパラメータ変更に対処するために、最適化効率を損なわずにどのように適合できるか?
  • RQ3強化学習における遅延フィードバックは、データベースチューニングにおいて収束速度と再設定オーバーヘッドの両面でどの程度向上効果をもたらすか?
  • RQ4相互に依存するパラメータ(例:インデックスと設定値)の連携最適化は、独立したチューニングに比べてパフォーマンスをどの程度向上させるか?
  • RQ5コストモデルや事前学習データに依存するベースラインと比較して、UDO は未知のワークロードや動的ワークロードシフトに対してどの程度一般化できるか?

主な発見

  • UDO は、遅延フィードバックと再設定計画を活用することで、特に高価な重いパラメータに対して、ベースラインよりも早く準最適な設定に到達する。
  • TPC-H および TPC-C ベンチマークにおいて、UDO は動的ワークロードスイッチング下で、最も近いベースラインよりも最大5%のクエリ実行時間を短縮する。これは、ベースラインが UDO からのインデックス推薦を受け取っている状況でも同様に成立する。
  • 20 つではなく 5 つの TPC-H テンプレートでの学習では一般化性能が約 40% 低下するが、UDO の一般化性能はベースラインと同等であり、事前学習データがなくても堅牢であることが示された。
  • UDO は、インデックス選択にクエリオプティマイザのコストモデルを用いるベースラインを上回り、コストモデルが使用されているにもかかわらず、より優れたインデックス集合を発見した。
  • 各重いパラメータ設定下で軽いパラメータ用に別々の MDP を使用することで、収束がより速く、特に重いパラメータが固定された状態での適応性が向上した。
  • UDO の計画コンponent は、同じインデックスを複数の設定で再利用することで、高価なインデックス作成のコストを効果的に分散化し、一部のシナリオでは総再設定時間を最大 70% 減少させた。

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

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

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

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