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

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