本トピックでは、MaxQA (MaxCompute Query Accelerator 2.0) エンジンのアーキテクチャ、ユースケース、制限事項、および使用方法を含む概要について説明します。
MaxQA は一般提供されています。ご不明な点がございましたら、チケットを起票してください。MaxCompute のテクニカルチームがサポートします。
操作の詳細については、「クエリ高速化 MaxQA 操作ガイド」をご参照ください。
機能説明
MaxQA (旧称 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パラメーターをより大きな値に設定します (戻り値が大きすぎると実行効率に影響する可能性があるため、実際のビジネスニーズに応じて慎重に設定することを推奨します)。分散 MapJoin など、実行計画で常駐 Worker を必要とするジョブは現在サポートされていません。
これらの制限により 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 数 | 最大並列ジョブ数 | ジョブのタイムアウト (分) | ジョブごとの最大同時実行数 |
32CU | 32 | 120 分 | CU 数 × 30 |
64CU | 48 | 120 分 | CU 数 × 30 |
96CU | 64 | 120 分 | CU 数 × 30 |
128CU | 80 | 120 分 | CU 数 × 30 |
160CU | 96 | 120 分 | CU 数 × 30 |
192CU | 112 | 120 分 | CU 数 × 30 |
224CU | 128 | 120 分 | CU 数 × 30 |
[256, 1024) CU | 144 | 120 分 | CU 数 × 30 |
[1024, 1536) CU | 288 | 120 分 | CU 数 × 30 |
[1536, 2048) CU | 432 | 180 分 | CU 数 × 30 |
[2048, 2560) CU | 576 | 240 分 | CU 数 × 30 |
[2560, 3072) CU | 720 | 300 分 | CU 数 × 30 |
[3072, 3584) CU | 864 | 360 分 | CU 数 × 30 |
[3584, 4096) CU | 1008 | 420 分 | CU 数 × 30 |
[4096, 4608) CU | 1152 | 480 分 | CU 数 × 30 |
[4608, 5120) CU | 1296 | 540 分 | CU 数 × 30 |
[5120, 5632) CU | 1440 | 600 分 | CU 数 × 30 |
[5632, 6144) CU | 1584 | 660 分 | CU 数 × 30 |
TPC-DS パフォーマンステストの結果
結果はリージョンによって若干異なる場合があります。ご利用の環境での実際のパフォーマンスは異なる場合があります。
仕様 | 10 GB | 100 GB | 1 TB |
64 CU | 468 秒 | 672 秒 | 1978s |
128CU | 319 秒 | 418 秒 | 1001 秒 |
上記のパフォーマンステストレポートは、中国 (北京) リージョンのテスト環境から取得したものです。
詳細なテスト計画と内容については、「TPC-DS パフォーマンステスト」をご参照ください。
MaxQA と MCQA の比較
比較項目 | MCQA | MaxQA (MCQA2.0) |
アーキテクチャ | サーバーレスリソースプールに基づいています。 | シングルテナントの分離されたコンピューティング環境です。 |
遅延の安定性 | 普通。 | 良好。 |
コンピューティングパフォーマンス | オフラインモードより大幅に優れていますが、安定性が不十分です。 | 複数の最適化が組み込まれており、パフォーマンスが向上しています。 |
サポートされるジョブタイプ | DQL のみをサポートします。 | DDL、DQL、DML を含むすべてのタイプの SQL 機能をサポートします。 |
使用方法 | インタラクティブモードを有効にします。 | ジョブを送信する際にインタラクティブクォータグループの名前を指定します。詳細については、「MaxQA 機能の接続方法」をご参照ください。 |
クォータルーティング | サポートされています。 | 現在サポートされていません。 |
従量課金 | サポートされています。 | 現在サポートされていません。 |
セッションの概念 | はい。隣接する時間帯に同じクライアントから送信されたジョブは 1 つのセッションに属することがあり、各セッションは 1 つのインスタンス ID に対応します。 | いいえ。各 SQL ジョブは 1 つのインスタンス ID に対応します。 |
フォールバックメカニズム | バッチ処理モードに自動的にフォールバックする機能があります。 | 自動フォールバックはサポートしていません。 |
使用方法
MaxQA の具体的な使用方法については、「クエリ高速化 MaxQA 操作ガイド」をご参照ください。