本トピックでは、MaxQA (MaxCompute Query Accelerator 2.0) エンジンの概要として、そのアーキテクチャ、ユースケース、制限事項、使用方法について説明します。
MaxQA は一般提供されています。ご不明な点がございましたら、チケットを起票してください。MaxCompute の技術チームがサポートします。
操作の詳細については、「クエリアクセラレーション MaxQA」をご参照ください。
機能説明
MaxQA (MaxCompute Query Accelerator 2.0、旧称 MCQA 2.0) は、リアルタイムおよびニアリアルタイムのデータ分析に対する需要の高まりに対応する、MaxCompute 向けのクエリアクセラレーションソリューションです。専用のアクセラレーションリソースプールと、コントロールパス、クエリオプティマイザ、実行エンジン、ストレージエンジン、キャッシュメカニズムにわたる包括的な最適化により、クエリの応答時間を大幅に短縮します。MaxQA は、ビジネスインテリジェンス (BI)、インタラクティブ分析、ニアリアルタイムのデータウェアハウスシナリオなど、高い安定性が求められるレイテンシーセンシティブなワークロードに最適です。
MaxCompute の MaxQA (旧称 MCQA 2.0) は、以下の機能を提供します。
高性能なクエリと挿入
テラバイト規模のデータセットに対するクエリとデータ挿入ジョブを高速化し、サブ秒レベルの実行時間を実現します。
SQL 互換性
ユーザー定義関数 (UDF)、Delta Tables、増分マテリアライズドビューなど、MaxCompute SQL の機能と完全な互換性があります。
リソース分離と弾力的な管理
シングルテナント専用の分離されたクエリアクセラレーションリソースプールを提供し、安定性を向上させます。
インタラクティブなクォータグループとバッチ処理リソースプールの両方に対して、時間ベースのリソース割り当てルールとオートスケーリングをサポートし、リソース使用率を向上させます。
エンドツーエンドのキャッシュ機能を備えており、ジョブは複数の実行段階からの中間結果と最終結果を自動的にキャッシュします。後続のジョブはどの段階でもこのキャッシュを利用でき、クエリの実行を大幅に高速化します。
複数の BI ツール (FineBI、Tableau、Quick BI) をサポートしています。
制限事項
MaxQA では DDL/DML/DQL ステートメントのみ実行できます (権限操作ステートメント、Tunnel 関連ステートメント、リソースのアップロード/ダウンロードなどは除きます)。
MaxQA はユーザー定義関数 (UDF) をサポートしています。セキュリティを確保するため、各 UDF は分離された環境で起動されます。急激なパフォーマンスの変動を防ぐため、MaxQA インスタンス内のリソースの最大 50% のみが UDF の実行に使用できます。
DQL ステートメントの場合、デフォルトでは最大 100 万行のデータが返されます。この制限を超えるには、
odps.sql.select.auto.limitパラメータをより大きな値に設定してください (戻り値が大きすぎると実行効率に影響する可能性があるため、実際のビジネスニーズに応じて慎重に設定することを推奨します)。実行計画で常駐ワーカーを必要とするジョブ (Distributed MapJoin など) は、現在サポートされていません。
これらの制限により MaxQA ジョブが失敗した場合、ジョブを手動で再試行するか、バッチ処理リソースプールに送信する必要があります。
サービスアーキテクチャ
MaxQA の中核的な技術的利点には、インテリジェントで動的に分離されたリソースプール、エンドツーエンドのキャッシュメカニズム、ローカル I/O、レイテンシーが最適化された実行計画 (QueryPlan)、およびクエリ効率を向上させるためのより効率的な実行エンジンが含まれます。
インテリジェントで動的に分離されたリソースプール
各 MaxQA インスタンスは、完全に分離されたコンピューティング環境で動作します。テナントは複数のインスタンスを作成でき、各インスタンスはインタラクティブなクォータグループに対応します。このモデルは、マルチテナント環境で一般的な「ノイジーネイバー」問題を防ぎ、安定したクエリレイテンシーを保証します。
エンドツーエンドのキャッシュメカニズム
スキャンされたテーブル、メタデータ、実行計画、中間結果、最終クエリ結果などのデータは自動的にキャッシュされます。後続のジョブは複数の段階でこのキャッシュを利用でき、実行が高速化されます。コンピューティング環境はインスタンスレベルで分離されているため、キャッシュの寿命は長く、他のインスタンスのジョブの影響を受けません。
ローカル I/O
シャッフルやスピルなどの操作による I/O データには、ローカルストレージを最大限に活用します。これにより、外部システムへの依存が減り、レイテンシーの安定性が向上します。
レイテンシーが最適化された実行計画
クエリオプティマイザは、物理的な実行計画の選択、同時実行数の計算、圧縮アルゴリズムの選択など、クエリ計画のあらゆる側面で低レイテンシーを優先します。
簡素化されたコントロールパス
フロントエンドはコーディネーターに直接接続します。コントロールパスのアーキテクチャは最適化され、非同期であるため、インタラクションがより効率的になります。
MaxQA の技術アーキテクチャを次の図に示します。

シナリオ
MaxQA 機能は、日々の運用レポートから高度なデータ分析まで、さまざまなアプリケーションシナリオをカバーしており、特にクエリの応答時間と安定性に対する要件が高いビジネスシナリオに適しています。短期的な意思決定支援であれ、長期的な戦略計画であれ、MaxQA は企業に強力な技術サポートを提供し、データ駆動型の価値創造能力を強化します。
シナリオ | 説明 | 特徴 | 例 |
アドホッククエリ | 実際のニーズに基づいてクエリ条件を柔軟に選択し、クエリ結果を迅速に取得し、クエリロジックを調整します。これは、使い慣れたクライアントツールを使用してクエリ分析を行いたいデータ開発者やデータアナリストに適しています。 | • 数秒から数十秒のクエリレイテンシーが求められます。 • 通常、SQL スキルを持つデータ開発者やデータアナリストによって使用されます。 • 柔軟なクエリ条件により、変化するビジネスニーズに迅速に対応できます。 | • 探索的データ分析を行うデータサイエンティスト。• ETL プロセスで一時的なクエリをデバッグするデータエンジニア。 |
ビジネスインテリジェンス (BI) | MaxCompute を使用してエンタープライズレベルのデータウェアハウスを構築し、ETL を通じてデータをビジネスで利用可能な集計データに加工します。MaxQA の低レイテンシー、リソース分離、弾力的な同時実行性、データキャッシュなどの機能を活用して、多重同時実行、高速応答のレポート生成、統計分析、および固定レポート分析の要件を満たします。 | • クエリは通常、集計された結果データに対して実行されます。 • データ量が少なく、多次元クエリ、固定クエリ、およびクエリ頻度が高いシナリオに最適です。 • 高いパフォーマンスが求められ、応答は秒単位で返されます (たとえば、ほとんどのクエリは 5 秒未満で完了します)。 | • 日次売上レポートの生成。 • 主要なビジネス指標のリアルタイム監視。 • 財務レポートの定期的生成。 |
インタラクティブデータ分析 | セルフサービスの BI ツールとインタラクティブなデータ探索プラットフォームにより、技術者以外のユーザーでも複雑なデータ分析を簡単に行うことができます。これらのツールは通常、一連の短いクエリを通じて動的なフィルタリング、ソート、集計などの機能を実現し、柔軟で直感的な操作体験を提供します。 | • ドラッグアンドドロップ操作をサポートし、複雑な SQL ステートメントを記述する必要がありません。 • 迅速なクエリフィードバックを提供し、ユーザーの分析の反復を支援します。 • 初心者から専門家まで、あらゆるスキルレベルのデータアナリストに適しています。 | • Tableau または Fine BI を使用した可視化分析。• オンラインデータ分析プラットフォームでのデータ探索。 |
大量データの詳細クエリと分析 | MaxQA はクエリジョブの特性を自動的に識別し、小規模なジョブを迅速に処理し、大規模なジョブのリソース要件に自動的に適合させることで、さまざまな規模と複雑さのクエリを分析するアナリストのニーズを満たします。 | 大規模な履歴データセットの探索。通常、データの小さなサブセットのみが必要です。 • リアルタイム処理とバッチ処理の速度のバランスを考慮した、中程度のレイテンシー要件。 • 通常、ビジネスアナリストが詳細データからパターンを発見し、機会を特定し、仮説を検証するために使用されます。 | • ユーザー行動パスの分析。 • 顧客セグメントとプロファイルの構築。 • 製品利用パターンのマイニング。 |
CU 仕様別のシステムパラメーター
CU 数 | 最大並列ジョブ数 | ジョブタイムアウト (分) | ジョブごとの最大同時実行数 |
25 CU | 25 | 120 分 | CU 数 × 30 |
50 CU | 50 | 120 分 | CU 数 × 30 |
75 CU | 75 | 120 分 | CU 数 × 30 |
100 CU | 100 | 120 分 | CU 数 × 30 |
125 CU | 125 | 120 分 | CU 数 × 30 |
150 CU | 150 | 120 分 | CU 数 × 30 |
200 CU | 200 | 120 分 | CU 数 × 30 |
[200, 600) CU | CU 数と同じ | 120 分 | CU 数 × 30 |
[600, 1000) CU | CU 数と同じ | 120 分 | CU 数 × 30 |
[1000, 2000) CU | CU 数と同じ | 240 分 | CU 数 × 30 |
[2000, 3000) CU | CU 数と同じ | 360 分 | CU 数 × 30 |
[3000, 4000) CU | CU 数と同じ | 480 分 | CU 数 × 30 |
[4000, 5000) CU | CU 数と同じ | 600 分 | CU 数 × 30 |
[5000, 6000) CU | CU 数と同じ | 720 分 | CU 数 × 30 |
TPC-DS パフォーマンステストの結果
結果はリージョンによって若干異なる場合があります。お客様の環境における実際のパフォーマンスは異なる場合があります。
仕様 | 10 GB | 100 GB | 1 TB |
25 CU | 550 秒 | 498 秒 | 3634 秒 |
50 CU | 203 秒 | 295 秒 | 1531 秒 |
100 CU | 198 秒 | 260 秒 | 692 秒 |
上記のパフォーマンステストレポートは、China (Beijing) リージョンのテスト環境から取得したものです。
詳細なテスト計画と内容については、「TPC-DS パフォーマンステスト」をご参照ください。
MaxQA と MCQA (新規受付は終了) の比較
比較項目 | MCQA | MaxQA (MCQA 2.0) |
アーキテクチャ | サーバーレスリソースプールに基づいています。 | シングルテナントの分離されたコンピューティング環境です。 |
レイテンシーの安定性 | 平均的です。 | 良好です。 |
コンピューティングパフォーマンス | オフラインモードより大幅に優れていますが、安定性が不十分です。 | 複数の最適化が組み込まれており、パフォーマンスが向上しています。 |
サポートされるジョブタイプ | DQL のみをサポートします。 | DDL、DQL、DML を含むすべての SQL 機能をサポートします。 |
使用方法 | インタラクティブモードを有効にします。 | ジョブを送信する際にインタラクティブなクォータグループの名前を指定するか、DataWorks の SQL ノードの実行またはスケジューリング設定ページで直接選択します。詳細については、「クエリアクセラレーション MaxQA」をご参照ください。 |
クォータルーティング | サポートされています。 | サポートされています。 |
従量課金 | サポートされています。 | 現在サポートされていません。 |
セッションの概念 | はい。隣接する時間帯に同じクライアントから送信されたジョブは 1 つのセッションに属することがあり、各セッションは 1 つのインスタンス ID に対応します。 | いいえ。各 SQL ジョブは 1 つのインスタンス ID に対応します。 |
フォールバックメカニズム | 自動的にバッチ処理モードにフォールバックする機能があります。 | サポートされています。DataWorks のスケジューリング設定ページでフォールバックルールを設定することもできます。詳細については、「DataWorks DataStudio の使用」をご参照ください。 |
使用方法
MaxQA の具体的な使用方法については、「クエリアクセラレーション MaxQA」をご参照ください。