Skip to main content
QUICK REVIEW

[論文レビュー] An End-to-End Learning-based Cost Estimator

Ji Sun, Guoliang Li|arXiv (Cornell University)|Jun 6, 2019
Data Quality and Management参考文献 26被引用数 9
ひとこと要約

本稿では、クエリのコストと選択性を同時に推定するエンド・ツー・エンドのディープラーニングベースのコスト・カーディナリティ推定器を初めて提案する。木構造ニューラルネットワークを用い、パターンベースの文字列エンコーディングとツリー・プーリングを導入することで、一般化性能を向上させ、複雑な述語を効果的に処理する。実世界のワークロードにおいて、従来手法に比べて著しく低い推定誤差を達成した。

ABSTRACT

Cost and cardinality estimation is vital to query optimizer, which can guide the plan selection. However traditional empirical cost and cardinality estimation techniques cannot provide high-quality estimation, because they cannot capture the correlation between multiple columns. Recently the database community shows that the learning-based cardinality estimation is better than the empirical methods. However, existing learning-based methods have several limitations. Firstly, they can only estimate the cardinality, but cannot estimate the cost. Secondly, convolutional neural network (CNN) with average pooling is hard to represent complicated structures, e.g., complex predicates, and the model is hard to be generalized. To address these challenges, we propose an effective end-to-end learning-based cost estimation framework based on a tree-structured model, which can estimate both cost and cardinality simultaneously. To the best of our knowledge, this is the first end-to-end cost estimator based on deep learning. We propose effective feature extraction and encoding techniques, which consider both queries and physical operations in feature extraction. We embed these features into our tree-structured model. We propose an effective method to encode string values, which can improve the generalization ability for predicate matching. As it is prohibitively expensive to enumerate all string values, we design a patten-based method, which selects patterns to cover string values and utilizes the patterns to embed string values. We conducted experiments on real-world datasets and experimental results showed that our method outperformed baselines.

研究の動機と目的

  • 従来のコスト・カーディナリティ推定器には、多変数間の相関関係を捉えられず、手動でのチューニングが必要であるという限界があるため、それを是正すること。
  • コストとカーディナリティを同時に推定する統合的でエンド・ツー・エンドの学習ベースのフレームワークを構築し、従来の学習ベース手法が一方向に偏っているのを克服すること。
  • スパarsityと文字列値の高カーディナリティのため、埋め込みが困難な文字列値の述語の一般化性能を向上させること。
  • 階層的かつ木構造的なクエリプランを効果的に捉えるモデルを設計し、複雑なクエリに対しても堅牢な推定を可能にすること。
  • バッチ処理と最適化されたニューラルアーキテクチャを活用して高い効率性を実現し、実データベースシステムへの実用的導入を可能にすること。

提案手法

  • フレームワークは、クエリプランを木構造の深層ニューラルネットワークでモデル化し、各ノードが子ノードからの表現を学習する。
  • クエリ特徴、メタデータ(例:テーブルサイズ、選択性)、述語情報(数値および文字列値を含む)をモデルに統合する。
  • 文字列値のためのパターンベースのエンコーディング法を提案:すべての文字列を埋め込む代わりに、代表的なパターン(例:‘%co-production%’)を抽出し、それらを用いて文字列値をエンコードすることで、一般化性能を向上させる。
  • 述語表現層でMin-Maxプーリングを採用し、標準的なLSTMベースのアプローチに比べて、複雑な合成述語をよりよく捉える。
  • 複数のクエリを並列に処理するバッチ評価技術を適用することで、推論時間を短縮し、計算効率を向上させる。
  • 実実行データを用いて、予測値と実際のコスト・カーディナリティの差を最小化するように、エンド・ツー・エンドでモデルを訓練する。

実験結果

リサーチクエスチョン

  • RQ1ディープラーニングモデルは、エンド・ツー・エンドでクエリコストとカーディナリティを同時に推定可能であり、従来手法や一方向の学習ベース手法を上回る性能を発揮できるか?
  • RQ2高カーディナリティを持つ文字列値の述語を、全列挙を避けながら神経ネットワークに効果的に埋め込む方法は何か?
  • RQ3Min-Maxプーリングを用いた木構造モデルは、標準的なLSTMベースのモデルに比べ、複雑なクエリプランと述語を表現する上で優れているか?
  • RQ4ルールベースの文字列パターン抽出を用いることで、モデルの一般化性能と推定精度がどの程度向上するか?
  • RQ5提案手法は、実用的なデータベースクエリオプティマイザへの導入を想定した高精度と妥当な効率性を両立できるか?

主な発見

  • JOB-LIGHTワークロードにおいて、提案手法は平均誤差を50以上(MSCN)から24.9に、最大誤差を1,000以上から289にまで低減し、顕著な改善を示した。
  • ツリー・プーリングとルールベースの文字列パターンを用いたTPoolEmbRMCostは、TLSTMHashMCostに比べ、コスト推定において平均誤差で2倍、最大誤差で3倍の改善を達成した。
  • パターンベースの文字列エンコーディングを採用したモデル(TLSTMEmbNRMCost)は、ハッシュベースの文字列エンコードに比べ、99パーセンタイル誤差を99%低減し、優れた一般化性能を示した。
  • バッチ処理により推論時間が1桁短縮された:TPoolBatchは1クエリあたり3.63ms、バッチなしのTPoolは47.3msであった。
  • TPoolEmbRMCostの誤差分布は、実実行時間と密接に一致しており、集中的かつ安定していた。一方、PostgreSQLとMSCNは、著しい過大推定と高い分散を示した。
  • ツリー・プーリングは、LSTMベースの述語モデリングに比べ、推論時間で50%の高速化、バッチモードでは2倍の高速化を達成した。これは、計算量の削減とより優れた構造的表現によるものである。

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

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

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

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