すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:全体アーキテクチャ

最終更新日:Mar 12, 2025

AnalyticDB for MySQL は、Alibaba Cloud によって独自に開発されたリアルタイム データウェアハウスサービスです。AnalyticDB for MySQL は、ペタバイト規模のデータを処理でき、超大規模のコアビジネスで試用およびテストされています。

概要

2012 年の Alibaba グループでの最初のリリース後、AnalyticDB for MySQL は 100 近くのバージョンを経て、e コマース、広告、物流、エンターテインメント、観光、リスク管理など、Alibaba グループが所有するさまざまなビジネス分野のリアルタイム分析をサポートしてきました。 2014 年、AnalyticDB for MySQL は正式に公開されました。AnalyticDB for MySQL は、12 を超える業界の従来の大規模および中規模企業、公共サービス部門、インターネット企業にサービスを提供しています。

AnalyticDB for MySQL は、データベースとビッグデータ機能を統合したクラウドネイティブ データウェアハウスサービスです。

技術アーキテクチャ

AnalyticDB for MySQL は、コンピューティングとストレージ、ホットデータとコールドデータを分離するクラウドネイティブアーキテクチャを採用しています。AnalyticDB for MySQL は、高スループット、強力なデータ整合性、高いクエリ同時実行性、高スループット バッチ処理を備えたリアルタイムデータ書き込み操作をサポートしています。

AnalyticDB for MySQL は、分散アーキテクチャ、エラスティックコンピューティング、クラウドコンピューティングの利点を組み合わせて、スケーラビリティ、使いやすさ、信頼性、セキュリティを大幅に向上させています。 これにより、さまざまなシナリオでのデータウェアハウジングの要件を満たすことができます。 AnalyticDB for MySQL は、より大規模な同時アクセスをサポートし、より高速な読み取りおよび書き込みパフォーマンスを提供し、ハイブリッドクエリワークロードのよりスマートな管理を実装します。 AnalyticDB for MySQL は、よりきめ細かい方法で、より低コストでリソースを活用するのに役立ち、ビジネス開発とデータの価値により集中できます。

ハードウェアデプロイメントに関しては、AnalyticDB for MySQL は、Intel および AMD チップと x86 命令セットをサポートしています。

Enterprise EditionBasic Edition

Enterprise Edition は、数秒以内のフェールオーバーをサポートし、クロスゾーンデプロイメント、自動エラー検出と削除、レプリカの再作成を実装します。 Enterprise Edition は、3 レプリカデータストレージと完全および増分バックアップをサポートし、金融業界で必要なデータ信頼性を提供します。 Enterprise Edition は、データの移行、同期、管理、統合、保護に使用できるツールも提供しているため、ビジネス開発により集中できます。

Basic Edition はシングルレプリカモードで実行され、Enterprise Edition と同じ機能を提供します。 Basic Edition はシングルレプリカストレージアーキテクチャを使用し、高可用性はサポートしていません。 このエディションは、低コストのホットデータストレージを必要とし、高可用性を必要としないビジネスシナリオに適しています。

次の図は、Enterprise EditionBasic Edition のアーキテクチャを示しています。

アクセスレイヤー

アクセスレイヤーは、線形にスケーラブルなコーディネーターノードで構成されています。 アクセスレイヤーは、プロトコルレイヤーアクセス、SQL 解析と最適化、書き込まれたデータのリアルタイムシャーディング、データスケジューリング、クエリスケジューリングに使用されます。

アクセスレイヤーは、統合課金単位、メタデータと権限、開発言語、伝送リンクを活用して、開発効率を向上させます。

コンピューティングレイヤー

独自のコンピューティングエンジンは、超並列処理(MPP)とバルク同期並列(BSP)の 2 つのコンピューティングモードを提供します。 MPP モードはストリームコンピューティングを使用しますが、これは低コストで高スループットのバッチ処理シナリオには適していません。 BSP モードは、DAG 内のタスクを分割し、各タスクのデータを計算します。 このようにして、限られたリソースを使用して大量のデータを処理し、データをディスクに保存できます。 MPP モードが特定の期間内にデータを処理できない場合、コンピューティングエンジンは自動的に BSP モードに切り替えてデータを処理できます。

オープンソースの Spark コンピューティングエンジンもサポートされており、より複雑なバッチ処理と機械学習シナリオの要件を満たしています。 Spark コンピューティングレイヤーとストレージレイヤーは分離されていますが、相互接続されています。 コンピューティングレイヤーリソースを使用して、ストレージレイヤーデータを処理できます。 これにより、Spark リソースグループを簡単に作成および構成できます。 また、GPU および FPGA ハードウェアアクセラレーションを使用して、より高いコストパフォーマンスを実現することもできます。

独自のストレージエンジンは、分散アーキテクチャを提供し、共有ストレージに基づく強力な整合性と高可用性を備えています。 ストレージエンジンは、データシャーディングとマルチ Raft を使用して、並列リアルタイム書き込み、コスト削減のためのホットデータとコールドデータの階層型ストレージ、究極のパフォーマンスを提供するためのハイブリッド行-列ストレージとインテリジェントインデックス作成をサポートします。

ストレージレイヤー

完全データのコピー 1 つをバッチ処理とリアルタイム分析の両方で使用できます。

バッチ処理シナリオでは、コストを削減するために、データを低コストのストレージメディアに保存する必要があります。 リアルタイム分析シナリオでは、パフォーマンスを向上させるために、データを高速ストレージメディアに保存する必要があります。 バッチ処理の要件を満たすために、AnalyticDB for MySQL は完全データのコピー 1 つを低コストで高スループットのストレージメディアに保存します。 これにより、データストレージと I/O コストが削減され、高スループットが保証されます。 100 ミリ秒以内のリアルタイム分析の要件を満たすために、AnalyticDB for MySQL はリアルタイムデータを SSD に保存します。 これにより、行データクエリ、完全インデックス作成、キャッシュアクセラレーションの時間的要件を満たすことができます。

AnalyticDB for MySQL は、統合ストレージ API レイヤーと Arrow フォーマットを提供して、データを公開します。 ユーザーデータはロックされていません。 Spark や Presto などのオープンソースコンピューティングエンジンを使用して、AnalyticDB for MySQL に保存されているデータにアクセスできます。 Iceberg、Hudi、Delta Lake、Paimon などのデータレイクエコシステムのデータにもアクセスできます。

過去のエディション

Data Warehouse Edition

Data Warehouse Edition は、高パフォーマンスのリアルタイムデータ分析に適しています。

次の図は、Data Warehouse Edition のアーキテクチャを示しています。

アクセスレイヤー

アクセスレイヤーは、線形にスケーラブルなコーディネーターノードで構成されています。 アクセスレイヤーは、プロトコルレイヤーアクセス、SQL 解析と最適化、書き込まれたデータのリアルタイムシャーディング、データスケジューリング、クエリスケジューリングに使用されます。

コンピューティングエンジン

コンピューティングエンジンは、分散 MPP と有向非循環グラフ(DAG)機能を統合しています。 コンピューティングエンジンは、インテリジェントオプティマイザーを活用して、高同時実行性と複雑な SQL クエリをサポートします。 クラウドネイティブインフラストラクチャにより、コンピューティングノードを数秒以内にスケーリングできます。 このようにして、リソースが効率的に活用されます。

ストレージエンジン

ストレージエンジンは、Raft コンセンサスプロトコルに基づいて、強力な整合性と高可用性を備えたリアルタイムデータ書き込み操作をサポートしています。 ストレージエンジンは、データシャーディングとマルチ Raft を使用して、並列処理、コスト削減のためのホットデータとコールドデータの階層型ストレージ、究極のパフォーマンスを提供するためのハイブリッド行-列ストレージとインテリジェントインデックス作成をサポートします。

Data Warehouse Edition は、3 層アーキテクチャを使用して、数秒以内のフェールオーバーをサポートし、クロスゾーンデプロイメント、自動エラー検出、レプリカの削除と再作成を実装します。 Data Warehouse Edition は、3 レプリカデータストレージと完全および増分バックアップをサポートし、金融業界で必要なデータ信頼性を提供します。 Data Warehouse Edition は、データの移行、同期、管理、統合、保護に使用できるツールも提供しているため、ビジネス開発により集中できます。

Data Lakehouse Edition

Data Warehouse Edition と比較して、Data Lakehouse Edition は、低コストのバッチ処理と高パフォーマンスのリアルタイムデータ分析を実装できます。 Data Lakehouse Edition は、収集、ストレージ、コンピューティング、管理、アプリケーションにおけるデータ処理機能を大幅に向上させます。

次の図は、Data Lakehouse Edition のアーキテクチャを示しています。

データソース

AnalyticDB Pipeline Service(APS)は、データベース、ログ、ビッグデータプラットフォームなどのデータソースへの低コストアクセスを実装するために提供されています。

アクセスレイヤー

アクセスレイヤーは、統合課金単位、メタデータと権限、開発言語、伝送リンクを活用して、開発効率を向上させます。

ストレージレイヤーコンピューティングレイヤー

Data Lakehouse Edition は、2 つの独自のエンジン、XIHE コンピューティングエンジンと XUANWU ストレージエンジンを提供します。 Data Lakehouse Edition は、オープンソースの Spark コンピューティングエンジンと Hudi ストレージエンジンもサポートしています。 Data Lakehouse Edition は、さまざまなデータ分析シナリオに適しており、社内エンジンとオープンソースエンジンの間のアクセスをサポートして、集中データ管理を実装します。

  • ストレージレイヤー: 完全データのコピー 1 つをバッチ処理とリアルタイム分析の両方で使用できます。

    バッチ処理シナリオでは、コストを削減するために、データを低コストのストレージメディアに保存する必要があります。 リアルタイム分析シナリオでは、パフォーマンスを向上させるために、データを高速ストレージメディアに保存する必要があります。 バッチ処理の要件を満たすために、AnalyticDB for MySQL は完全データのコピー 1 つを低コストで高スループットのストレージメディアに保存します。 これにより、データストレージと I/O コストが削減され、高スループットが保証されます。 100 ミリ秒以内のリアルタイム分析の要件を満たすために、AnalyticDB for MySQL はリアルタイムデータを個々のエラスティック I/O ユニット(EIU)に保存します。 これにより、行データクエリ、完全インデックス作成、キャッシュアクセラレーションの時間的要件を満たすことができます。

  • コンピューティングレイヤー: AnalyticDB for MySQL は、XIHE コンピューティングエンジンの適切なコンピューティングモードを自動的に選択します。 オープンソースの Spark コンピューティングエンジンは、さまざまなシナリオに適しています。

    XIHE コンピューティングエンジンと Spark コンピューティングエンジンは、AnalyticDB for MySQL のコンピューティングレイヤーの基盤を形成します。 2 つのコンピューティングエンジンの組み合わせは、エンドツーエンドのデータウェアハウスソリューションを提供し、高パフォーマンスのリアルタイムデータ分析を保証し、バッチ処理と複雑な分析の要件を満たします。

    XIHE コンピューティングエンジンは、MPP と BSP の 2 つのコンピューティングモードを提供します。 MPP モードはストリームコンピューティングを使用しますが、これは低コストで高スループットのバッチ処理シナリオには適していません。 BSP モードは、DAG 内のタスクを分割し、各タスクのデータを計算します。 このようにして、限られたリソースを使用して大量のデータを処理し、データをディスクに保存できます。 MPP モードが特定の期間内にデータを処理できない場合、XIHE コンピューティングエンジンは自動的に BSP モードに切り替えてデータを処理できます。

    オープンソースの Spark コンピューティングエンジンもサポートされており、より複雑なバッチ処理と機械学習シナリオの要件を満たしています。 コンピューティングレイヤーとストレージレイヤーは分離されていますが、相互接続されています。 コンピューティングレイヤーリソースを使用して、ストレージレイヤーデータを処理できます。 これにより、Spark リソースグループを簡単に作成および構成できます。