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

AnalyticDB:ゼロ ETL を使用したデータ同期

最終更新日:Aug 25, 2026

AnalyticDB for MySQL は、ApsaraDB for MongoDB から AnalyticDB for MySQL へのデータ同期タスクを作成するためのゼロ ETL 機能を提供します。これにより、エンドツーエンドでデータを同期および管理し、トランザクション処理とデータ分析を統合できます。

概要

ビッグデータ時代において、企業の業務データはさまざまなシステムやプラットフォームに散在しています。これらのデータを効果的に管理・活用するために、企業は多くの場合、ETL ツールを利用して一元的なデータ管理を行います。

ETL とは、上流の業務システムからデータを抽出し、変換 (データクレンジング) し、データウェアハウスにロードするプロセスです。その目的は、上流ソースに散在するデータをターゲットのデータウェアハウスに統合し、さらに計算と分析を行うことで、効果的なビジネス上の意思決定をサポートすることです。

従来の ETL プロセスは、通常、以下の課題に直面します。

  • リソースコストの増加:データソースが異なれば、異なる ETL ツールが必要になる場合があり、ETL パイプラインの構築には追加のリソースコストが発生します。

  • システム複雑性の増大:ユーザーは ETL ツールを自身で保守する必要があり、これにより O&M の難易度が上がり、ビジネスアプリケーション開発に集中できなくなります。

  • データの適時性の低下:一部の ETL プロセスには定期的なバッチ更新が含まれており、ニアリアルタイムのアプリケーションシナリオでは分析結果を迅速に生成できません。

これらの課題に対処するため、Alibaba Cloud Database はゼロ ETL 機能を提供しています。この機能により、業務システム (OLTP) とデータウェアハウス (OLAP) の間にデータ同期パイプラインを迅速に構築できます。業務システム (OLTP) のデータは自動的に抽出、変換、クレンジングされ、データウェアハウス (OLAP) にロードされます。これにより、データ同期と管理をワンストップで完了でき、トランザクション処理とデータ分析を統合し、お客様がデータ分析業務に集中できるよう支援します。

メリット

  • 使いやすさ:ETL (抽出、変換、ロード) 操作を実行する複雑なデータパイプラインを作成・維持する必要はありません。ソースデータとターゲットインスタンスを選択するだけで、リアルタイムのデータ同期パイプラインを自動的に作成できます。これにより、データパイプラインの構築と管理の課題が軽減され、上位層のアプリケーション開発に集中できます。

  • ゼロコスト:ゼロ ETL パイプラインでは追加料金は発生しません。AnalyticDB for MySQL で上流データを無料で分析できます。

  • 複数ソースの集約:ゼロ ETL パイプラインを使用して、複数のインスタンスから AnalyticDB for MySQL クラスターにデータをリアルタイムで同期し、グローバルな分析視点を構築できます。

サポートされるデータ同期タスク

  • RDS for MySQL から AnalyticDB for MySQL への同期パス。詳細については、「ゼロ ETL を使用したデータ同期」をご参照ください。

  • DTS から AnalyticDB for MySQL への同期パス。

  • ApsaraDB for MongoDB から AnalyticDB for MySQL へのデータ同期タスク。

前提条件

  • AnalyticDB for MySQL クラスターと ApsaraDB for MongoDB インスタンスが同じリージョンに作成されていること。

  • AnalyticDB for MySQL クラスターと ApsaraDB for MongoDB インスタンスのデータベースアカウントが作成されていること。

注意事項

  • ゼロ ETL 機能は、中国 (北京)、中国 (杭州)、中国 (上海)、中国 (深圳)、中国 (張家口)、中国 (青島)、中国 (広州)、香港 (中国)、シンガポール、米国 (シリコンバレー)、および米国 (バージニア) のリージョンでのみ利用可能です。

  • AnalyticDB for MySQL クラスターのゼロ ETL パイプラインの数が上限を超えた場合、新しいゼロ ETL パイプラインを作成することはできません。DTS を使用して新しい同期パイプラインを作成するか、未使用のゼロ ETL パイプラインを削除して新しいパイプラインを作成できます。ゼロ ETL パイプラインの上限は以下のとおりです。

    • クラスター内の予約済みリソースの合計 ACU 数が 24 ACU 未満の場合、1 つのゼロ ETL パイプラインを作成できます。

    • クラスター内の予約済みリソースの合計 ACU 数が 24 ACU 以上の場合、3+3*[(合計 ACU-24)/50] 個のゼロ ETL パイプラインを作成できます。

      [(合計 ACU-24)/50] の計算結果は切り捨てられます。たとえば、合計 ACU 数が 48 の場合、結果は 0.48 となり、切り捨てられて 0 になります。この場合、3 つのゼロ ETL パイプラインを作成できます。

    説明
    • Lakehouse Edition の場合、予約済みリソースの合計 ACU 数は、予約済みのコンピューティングリソースと予約済みのストレージリソースの ACU の合計です。

    • Data Warehouse Edition の場合、1 コアは 1 ACU に相当します。エラスティックモードの場合、予約済みリソースの合計 ACU 数は、コンピューティングリソースとエラスティック I/O リソースのコア数の合計です。予約モードの場合、予約済みリソースの合計 ACU 数は、コンピューティングリソースのコア数です。

事前準備

AnalyticDB for MySQL のサービスリンクロールの作成

  1. RAM コンソール[Roles] (ロール) ページに移動します。

  2. サービスリンクロール [AliyunServiceRoleForAnalyticDBForMySQL] がロールの一覧にすでに存在するかどうかを確認します。存在しない場合は、ロールを作成します。

  3. [Create Role] をクリックします。

  4. [Create Role] ダイアログボックスで、[Alibaba Cloud Service] を選択し、[Next] をクリックします。

  5. ロールタイプを [Alibaba Cloud Service] に設定し、AnalyticDB for MySQL を選択します。

  6. [Complete] をクリックします。ロールの一覧に戻り、サービスリンクロールが作成されたことを確認します。

RAM ユーザーへの管理権限の付与

RAM ユーザーがゼロ ETL パイプラインを作成および管理するには、以下の 2 種類の権限が必要です。

RAM ユーザーは、ゼロ ETL パイプラインを作成および管理するために、AnalyticDB for MySQL に対する管理権限 (AliyunADBFullAccess) が必要です。詳細については、「RAM ユーザーへの権限付与」をご参照ください。

以下に、カスタムポリシーのスクリプトを示します。

すべての ApsaraDB for MongoDB インスタンスと AnalyticDB for MySQL クラスターに対する権限の付与

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "dts:*",
            "Resource": [
                "acs:adb:*:*:*",
                "acs:dds:*:*:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "dts:DescribeRegions",
                "dts:DescribeConfigRelations",
                "dts:DescribeSrcLinkConfig",
                "dts:DescribeDestLinkConfig",
                "dts:DescribeLinkConfig"
            ],
            "Resource": [
                "acs:dts:*:*:*"
            ]
        }
    ]
}

特定の ApsaraDB for MongoDB インスタンスと特定の AnalyticDB for MySQL クラスターに対する権限の付与

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "dts:*",
            "Resource": [
                "acs:adb:*:*:dbcluster/am-2zeod8ax4b9a****",
                "acs:dds:*:*:dbinstance/dds-t4n8aaa4dcdb****"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "dts:DescribeRegions",
                "dts:DescribeConfigRelations",
                "dts:DescribeSrcLinkConfig",
                "dts:DescribeDestLinkConfig",
                "dts:DescribeLinkConfig"
            ],
            "Resource": "acs:dts:*:*:*"
        }
    ]
}

手順

  1. AnalyticDB for MySQL コンソールにログインします。左上のコーナーで、クラスターが存在するリージョンを選択します。左側メニューで [Clusters] をクリックし、対象クラスターの ID をクリックします。

  2. 左側メニューで、[Data Transmission Service] > [Free Data Sync] を選択します。

  3. [Create Zero-ETL Task] をクリックします。 [Create Zero-ETL Task] ページの「ソースデータベースと宛先データベースの設定」ステップで、ソースインスタンスと宛先クラスターのパラメーターを設定します。

    • 次の表に、ソースインスタンスのパラメータを示します。

      パラメータ

      説明

      タスク名

      ゼロ ETL タスクの名前です。

      データベースタイプ

      ソースインスタンスのデータベースエンジン。選択: [MongoDB]

      アクセス方法

      ソースインスタンスのアクセス方法です。値は自動的に [Alibaba Cloud Instance] に設定されます。

      インスタンスリージョン

      ApsaraDB for MongoDB インスタンスが存在するリージョンです。

      アーキテクチャ

      ApsaraDB for MongoDB インスタンスのアーキテクチャです。[ReplicaSet] のみがサポートされます。

      移行方法

      増分データ同期に使用する方法です。有効な値は次のとおりです。

      • [Oplog] (推奨)

        このオプションは、ソースインスタンスで Oplog 機能が有効な場合に利用できます。

        説明

        Oplog は、セルフマネージドの MongoDB データベースおよび ApsaraDB for MongoDB インスタンスでデフォルトで有効になっています。この方法で増分データを同期する場合、ログのプル速度が速いため、増分同期タスクのレイテンシーが低くなります。したがって、[Oplog] を選択することを推奨します。

      • [ChangeStream]

        このオプションは、ソースインスタンスで変更ストリーム が有効な場合に利用できます。

        説明

        ソースインスタンスが Amazon DocumentDB (非エラスティッククラスター) の場合、[ChangeStream] のみを選択できます。

      インスタンス ID

      ApsaraDB for MongoDB インスタンスの ID です。

      認証データベース

      ApsaraDB for MongoDB インスタンスのデータベースアカウントが属するデータベースの名前です。データベースを変更していない場合、admin が使用されます。

      データベースアカウント

      ApsaraDB for MongoDB インスタンスのデータベースアカウントの名前です。

      データベースパスワード

      ApsaraDB for MongoDB インスタンスのデータベースアカウントのパスワードです。

      暗号化

      ApsaraDB for MongoDB インスタンスへの接続に使用される暗号化方式です。[Non-encrypted] または [SSL-encrypted] を選択します。

      説明

      [SSL-encrypted] を選択した場合は、まず ApsaraDB for MongoDB インスタンスの SSL 暗号化機能を有効にする必要があります。

    • ターゲットデータベースを設定します。

      ターゲットデータベース

      説明

      データベースタイプ

      ターゲットデータベースは、[AnalyticDB for MySQL] のみがサポートされます。

      アクセス方法

      [Alibaba Cloud Instance] のみがサポートされます。

      インスタンスリージョン

      AnalyticDB for MySQL クラスターが存在するリージョンです。

      インスタンス ID

      AnalyticDB for MySQL クラスターの ID です。

      データベースアカウント

      AnalyticDB for MySQL クラスターのデータベースアカウントです。

      データベースパスワード

      AnalyticDB for MySQL クラスターのデータベースアカウントのパスワードです。

  4. 上記のパラメータを設定した後、[Test Connectivity and Proceed] をクリックします。[Configure Zero-ETL] ステップで、次の表に示すパラメータを設定します。

    パラメータ

    説明

    同期するDML操作

    同期するDML操作 ([INSERT]、[UPDATE]、[DELETE]) です。デフォルトでは、すべての操作が選択されています。

    ソースオブジェクトと選択されたオブジェクト

    同期対象のソースオブジェクトです。

    詳細設定 (オプション)

    ソースインスタンスとターゲットインスタンス/クラスター間の接続失敗時や、その他の問題が発生した場合の再試行時間です。

  5. 上記のすべてのパラメータを設定した後、[Next: Save Task and Precheck] をクリックします。

  6. 事前チェックに合格したら、[Start] をクリックしてゼロ ETL タスクを開始します。

    [Free Data Sync] ページでは、対象のゼロ ETL タスクの [Name][Source/Target][Status]、およびその他の情報を表示できます。

ゼロ ETL タスクの監視とアラート

ゼロ ETL タスクを作成して開始した後、CloudMonitor コンソールでタスクのアラートルールを設定することで、実行ステータスをリアルタイムで監視できます。手順は以下のとおりです。

  1. CloudMonitor コンソールにログインします。

  2. 監視情報を表示します。

    1. 左側メニューで、[Cloud Resource Monitoring] > [Cloud Service Monitoring] を選択します。

    2. [AnalyticDB for MySQL] カードにマウスポインターを合わせ、[AnalyticDB for MySQL 3.0 - ZeroETL Latency] をクリックします。

    3. [Clusters] ページで、クラスター ID をクリックして、クラスター配下のゼロ ETL タスクの監視情報を表示します。

  3. アラートルールを作成します。

    1. 左側メニューで、[Alert Service] > [Alert Rules] を選択します。

    2. [Create Alert Rule] をクリックします。[Create Alert Rule] パネルで、ゼロ ETL タスクのアラートルールを設定します。詳細については、「しきい値トリガーのアラートルールの作成」をご参照ください。

      説明

      [Product][AnalyticDB for MySQL 3.0 - ZeroETL Latency] に設定します。

  4. サブスクリプションを作成します。

    1. 左側メニューで、[Event Center] > [Event Subscriptions] を選択します。

    2. [Create Subscription] をクリックします。[Create Subscription] ページで、ゼロ ETL タスクのサブスクリプションを設定します。詳細については、「イベントサブスクリプションの作成」をご参照ください。

      説明
      • [Product][AnalyticDB for MySQL 3.0] を選択します。

      • [Event Type][Exception] または [Restore] を選択します。

      • [Event Name][ZeroETL Task Exception] または [ZeroETL Task Recovery] を選択します。