ColumnStoreにおけるユーザーモジュール、パフォーマンスモジュールでのクエリ処理の流れ

MariaDB ColumnStore

MariaDB ColumnStoreのユーザーモジュールとパフォーマンスモジュールでは、エンドユーザーからのクエリの要求を以下のように処理します。:

  1. MariaDBインターフェースからの要求が入力されます。MariaDBは全てのテーブルに対してリクエストを満たすためのテーブル操作を行い、最初の実行計画が提供されます。
  2. ColumnStoreはMariaDBストレージエンジンインターフェースにて、MariaDBテーブルオブジェクトをInfiniDBオブジェクトに変換します。これらのオブジェクトがユーザーモジュールへ提供されます。
  3. ユーザーモジュールではMariaDB実行計画を変換および最適化を行い、ColumnStore実行計画を生成します。ユーザーモジュールはクエリの実行に必要なステップと順序を定義します。
  4. ユーザーモジュールはエクステントマップ情報に基づき、クエリ処理を満たしたり、エクステントの削除を実行するためのエクステント位置情報を取得します。
  5. ユーザーモジュールは1つまたは複数のパフォーマンスモジュールに対してブロックI/O処理を行うよう指示を送ります。
  6. パフォーマンスモジュールはフィルタ処理、ジョイン操作、初期データ集計処理を行い、ユーザーモジュールへ結果を返します。
  7. ユーザーモジュールは最終的な結果を集計統合し、最終結果を用意します。
  8. ユーザーモジュールは実行結果をユーザーに返します。

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.