AnalyticDB for MySQL Data Warehouse Edition は、インタラクティブ モードと [バッチ] モードの 2 つのクエリ実行モードをサポートしています。これらのモードをリソースグループ機能と組み合わせることで、混合ワークロードを処理できます。
前提条件
お使いのクラスターは Data Warehouse Edition 製品シリーズである必要があります。
背景情報
AnalyticDB for MySQL は、Alibaba Cloud が提供するクラウドサービスであり、大規模なデータセットに対してリアルタイムで高い同時実行性を備えたオンライン分析処理 (OLAP) を提供します。これにより、即時の多次元分析とビジネス探索が可能になります。AnalyticDB for MySQL の実行エンジンは、ハイブリッド MPP DAG アーキテクチャとメモリベースのコンピューティングを使用して高速化を実現します。分析クエリのワークロードは、低レイテンシーのリアルタイム分析クエリから高スループットの Extract-Transform-Load (ETL) クエリまで多岐にわたります。完全なインメモリコンピューティングにより、リアルタイム分析クエリの低レイテンシーを実現します。対照的に、ETL クエリはレイテンシーに対する感度が低く、より高いスループットと低い処理コストを優先します。
これらのさまざまな要件をサポートするために、AnalyticDB for MySQL Data Warehouse Edition では、従来の完全インメモリの インタラクティブ 実行モードに加えて、新しい [バッチ] 実行モードを導入しています。インタラクティブ モードと比較して、[バッチ] モードはクエリ タスクをバッチで実行します。メモリが不足している場合、データを適応的にディスクにスピルすることで、計算コストを削減し、データ処理能力を向上させます。
インタラクティブ モード
AnalyticDB for MySQL がクエリを受信すると、オプティマイザがクエリを解析し、実行計画を生成します。実行エンジンはこの計画を受け取り、計画のロジックに基づいて分散タスクを生成し、これらのタスクをスケジュールして管理します。
インタラクティブ モードでは、クエリのすべての分散タスクが同時にスケジュールされ、実行されます。各タスクは完全にメモリ内で実行され、データはパイプライン内のアップストリーム タスクとダウンストリーム タスクの間でストリーミングされます。
適用シナリオ:レイテンシーの影響を受けやすいリアルタイム分析クエリに最適です。
バッチ モード
[バッチ] モードでは、実行エンジンは依存関係に基づいてタスクをバッチでスケジュールします。計算中にメモリが不足すると、タスクは適応的にデータをディスクにスピルして、データ処理能力を向上させます。中間結果もディスクに書き込まれます。ダウンストリーム タスクがスケジュールされると、計算のためにディスクから中間データを読み取ります。
適用シナリオ:Extract-Transform-Load (ETL) ジョブなど、大量のデータを処理する実行時間の長いクエリに最適です。
デフォルトの実行モード
|
エディション |
製品シリーズ |
デフォルト モード |
バッチ モードのサポート |
|
Data Warehouse Edition |
Reserved |
インタラクティブ |
いいえ |
|
Elastic |
はい |
実行モードの切り替え
-
インスタンスの実行モードを切り替えるには:
-
インスタンスを インタラクティブ モードに切り替えるには:
set adb_config query_type=interactive -
インスタンスを [バッチ] モードに切り替えるには:
set adb_config query_type=batch説明インスタンスレベルで実行モードを [バッチ] に切り替えることは推奨されません。代わりに、クエリレベルまたはリソースグループレベルで [バッチ] モードを設定してください。
-
-
クエリの実行モードを切り替えるには:
/* query_type=batch|interactive*/ SELECT * FROM test_table;
混合ワークロード
AnalyticDB for MySQL の リソースグループ 機能は、インスタンス内にマルチテナント機能を提供します。クエリ実行モードとリソースグループを組み合わせることで、各リソースグループに特定の実行モードを設定できます。これにより、単一のインスタンスで混合ワークロードを処理できます。詳細については、「リソースグループ」をご参照ください。