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

AnalyticDB:ゼロETL

最終更新日:Jan 15, 2025

AnalyticDB for PostgreSQLはゼロETL機能を提供し、エンドツーエンドでデータを同期および管理し、トランザクション処理とデータ分析を統合するのに役立ちます。

概要

ビッグデータの時代では、企業は抽出、変換、負荷 (ETL) ツールを使用して、さまざまなシステムやプラットフォームに分散された大量のビジネスデータを効率的に管理および使用する必要があります。

ETLツールは、上位レベルのビジネスシステムからデータを抽出し、データを変換した後、データをデータウェアハウスにロードします。 このプロセスは、さらなるコンピューティング、分析、およびビジネス意思決定のために、分散データをデータウェアハウスに組み込む。

従来のETLプロセスには、次の課題があります。

  • リソースコストの増加: データソースごとに異なるETLツールが必要になる場合があり、ETLタスクの作成に追加料金が発生します。

  • システムの複雑さの増加: ETLツールのメンテナンスは、O&Mの難易度を高め、ビジネスアプリケーションの開発に集中できなくなります。

  • データの適時性の低下: 特定のETLプロセスには定期的なバッチ更新が含まれます。 ほぼリアルタイムのシナリオでは、分析結果を迅速に生成することはできません。

上記の問題を解決するために、Alibaba Cloud ApsaraDBは、オンライントランザクション処理 (OLTP) システムとオンライン分析処理 (OLAP) システム間でデータ同期タスクを作成できるゼロETL機能を提供しています。 ゼロETL機能は、OLTPシステムからデータを抽出し、データを変換し、データをOLAPシステムにロードして、エンドツーエンドでデータを同期および管理し、トランザクション処理とデータ分析を統合し、データ分析に集中するのに役立ちます。

AnalyticDB for PostgreSQLは、次のゼロETLタスクのみをサポートします。

  • PolarDB for PostgreSQLからAnalyticDB for PostgreSQLへのデータ同期タスク。

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

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

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

メリット

  • 使いやすさ: ETL操作を実行するために、複雑なデータパイプラインを作成または維持する必要はありません。 リアルタイムのデータ同期タスクを作成するには、ソースとターゲットのインスタンスまたはクラスターのみを選択する必要があります。 これにより、データパイプラインの構築と管理の課題が軽減され、アプリケーション開発に集中できるようになります。

  • ゼロコスト: ゼロETLタスクの追加料金は発生しません。 ゼロETL機能を使用すると、AnalyticDB for PostgreSQLに同期されたデータを無料で分析できます。

  • マルチソース集約: ゼロETL機能を使用すると、複数のソースインスタンスまたはクラスターからAnalyticDB for PostgreSQLインスタンスにデータをリアルタイムで同期してグローバル分析を行うことができます。

使用上の注意

データ同期タスクに関する使用状況のメモ:

サポートされるリージョン

次の地域はゼロETL機能をサポートしています: 中国 (深セン) 、中国 (杭州) 、中国 (上海) 、中国 (北京) 、中国 (張家口) 、中国 (ウランカブ) 、中国 (青島) 、中国 (広州) 、中国東部2金融、中国 (成都) 、中国 (香港) 、マレーシア (クアラルンプール) 、米国 (バージニア) 、米国 (シリコンバレー) 、ドイツ (フランクフルト) 、インドネシア (ジャカルタ) 、日本 (東京) 、シンガポール。

課金ルール

データ同期タスクに対しては課金されません。 ソースPolarDB for PostgreSQLクラスター、PolarDB for MySQLクラスター、ApsaraDB RDS for PostgreSQLインスタンス、またはApsaraDB RDS for MySQLインスタンス、およびターゲットAnalyticDB for PostgreSQLインスタンスに対してのみ課金されます。

前提条件

準備

サービスにリンクされたロールの作成AnalyticDB for PostgreSQL

  1. Resource Access Management (RAM) コンソールにログインします。 左側のナビゲーションウィンドウで、[アイデンティティ]> [ロール] を選択します。

  2. AliyunServiceRoleForADBPGという名前のサービスにリンクされたロールがロールリストに存在するかどうかを確認します。 サービスにリンクされたロールが存在しない場合は、ロールを作成します。

  3. [ロール] ページの左上隅にある [ロールの作成] をクリックします。

  4. [ロールタイプの選択] ステップで、[Alibaba Cloud Service] を選択し、[次へ] をクリックします。

    image

  5. [ロールの設定] ステップで、[ロールの種類] パラメーターに [サービスにリンクされたロール] を選択し、[サービスの選択] ドロップダウンリストから AnalyticDB for PostgreSQL を選択します。

    image

  6. [OK] をクリックします。 [ロール] ページに戻り、サービスにリンクされたロールが作成されているかどうかを確認します。

RAMユーザーに管理権限を付与

RAMユーザーがゼロETLタスクを作成および管理できるようにするには、次の操作を実行する必要があります。

RAMユーザーにAnalyticDB for PostgreSQLを管理する権限を付与する

RAMユーザーがAnalyticDB for PostgreSQLのゼロETLタスクを作成および管理する前に、AnalyticDB for PostgreSQLAliyunGPDBFullAccessポリシーをRAMユーザーにアタッチする必要があります。 詳細については、「RAMユーザーへの権限付与」をご参照ください。

RAMユーザーにゼロETL機能を管理する権限を付与する

RAMユーザーがゼロETLタスクを作成および管理する前に、RAMユーザーはデータソースとAnalyticDB for PostgreSQL間でデータ同期タスクを作成する権限を持っている必要があります。 RAMユーザーがデータソースおよびAnalyticDB for PostgreSQLのすべてのインスタンスまたはクラスターに対してデータ同期タスクを作成できるようにするカスタムポリシーを設定できます。

  1. すべてのApsaraDB RDS for PostgreSQL、ApsaraDB RDS for MySQL、PolarDB for PostgreSQL、PolarDB for MySQL、およびAnalyticDB for PostgreSQLインスタンスとクラスターに対する権限を付与します。 スクリプト例:

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:*",
                "Resource": [
                    "acs:gpdb:*:*:*",
                    "acs:rds:*:*:*",
                    "acs:polardb:*:*:*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "dts:DescribeRegions",
                    "dts:DescribeConfigRelations",
                    "dts:DescribeSrcLinkConfig",
                    "dts:DescribeDestLinkConfig",
                    "dts:DescribeLinkConfig"
                ],
                "Resource": [
                    "acs:gpdb:*:*:*"
                ]
            }
        ]
    }
  2. 特定のApsaraDB RDS for PostgreSQLインスタンス、ApsaraDB RDS for MySQLインスタンス、PolarDB for PostgreSQLクラスター、PolarDB for MySQLクラスター、およびAnalyticDB for PostgreSQLインスタンスに対する権限を付与します。 スクリプト例:

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:*",
                "Resource": [
                    "acs:gpdb:*:*:dbinstanc****",
                    "acs:rds:*:*:dbinstance****",
                    "acs:polardb:*:*:dbclus****"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "dts:DescribeRegions",
                    "dts:DescribeConfigRelations",
                    "dts:DescribeSrcLinkConfig",
                    "dts:DescribeDestLinkConfig",
                    "dts:DescribeLinkConfig"
                ],
                "Resource": "acs:dts:*:*:*"
            }
        ]
    }

RAMコンソールでカスタムポリシーを作成します。 詳細については、「カスタムポリシーの作成」をご参照ください。

手順

  1. AnalyticDB for PostgreSQLコンソールにログインします。

  2. ホームページの左上でリージョンを選択します。

  3. 管理するインスタンスを検索し、インスタンスIDをクリックします。

  4. 左側のナビゲーションウィンドウで、ゼロETLを選択します。 ページの左上隅にある [ゼロETLタスクの作成] をクリックします。

    image

  5. [ゼロETLタスクの作成] ページの [ソースデータベースと宛先データベースの設定] ステップで、ソースインスタンスと宛先インスタンスとクラスターのパラメーターを設定します。

    1. 次の表に、ソースインスタンスまたはクラスターのパラメーターを示します。

      パラメーター

      説明

      タスク名

      ゼロETLタスクの名前。

      Zeroetltest

      データベースエンジン

      ソースインスタンスまたはクラスターのデータベースエンジン。 RDS for PostgreSQL、RDS for MySQL、PolarDB for MySQL、またはPolarDB for PostgreSQLを選択します。

      RDS for PostgreSQL

      アクセス方法

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

      Alibaba Cloudインスタンス

      インスタンスリージョン

      ソースインスタンスまたはクラスターが存在するリージョン。

      中国 (上海)

      インスタンス ID

      ソースインスタンスまたはクラスターのID。

      pgm-2ze ****

      データベース名

      ソースインスタンスまたはクラスター内のデータベースの名前。

      testdb

      データベースアカウント

      ソースインスタンスまたはクラスターのデータベースアカウントの名前。

      test

      データベースパスワード

      ソースインスタンスまたはクラスターのデータベースアカウントのパスワード。

      パスワード ****

      暗号化

      ソースインスタンスまたはクラスターへの接続に使用される暗号化方法。 非暗号化またはSSL暗号化を選択します。

      説明

      SSL暗号化は、証明書を使用して送信データを暗号化します。 これにより、データ漏洩が発生してもデータが復号化されない。

      SSL暗号化

    2. 次の表に、ターゲットインスタンスのパラメーターを示します。

      パラメーター

      説明

      データベースエンジン

      ターゲットインスタンスのデータベースエンジン。 値は自動的にAnalyticDB for PostgreSQLに設定されます。

      AnalyticDB for PostgreSQL

      アクセス方法

      ターゲットインスタンスのアクセス方法。 値は自動的にAlibaba Cloudインスタンスに設定されます。

      Alibaba Cloudインスタンス

      インスタンスリージョン

      AnalyticDB for PostgreSQLインスタンスが存在するリージョン。

      中国 (上海)

      インスタンス ID

      AnalyticDB for PostgreSQLインスタンスのID。

      gp-2zeod ****

      データベース名

      AnalyticDB for PostgreSQLインスタンス内のデータベースの名前。

      testdb

      データベースアカウント

      AnalyticDB for PostgreSQLインスタンスのデータベースアカウントの名前。

      test

      データベースパスワード

      AnalyticDB for PostgreSQLインスタンスのデータベースアカウントのパスワード。

      パスワード ****

  6. [Test Connectivity] をクリックして続行します。 [ゼロETLの設定] ステップで、次の表に示すパラメーターを設定します。

    パラメーター

    説明

    同期するDDLおよびDML操作

    DML操作 (INSERT、UPDATE、およびDELETE)

    および同期するDDL操作 (CREATE、ALTER、DROP、RENAME、およびTRUNCATE) 。

    DML操作 (INSERT、UPDATE、およびDELETE) 。

    DDL操作 (CREATE、ALTER、DROP、RENAME、およびTRUNCATE) 。

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

    同期するソースオブジェクトとオブジェクト。

    パブリック

    詳細設定 (オプション)

    ソースインスタンスとターゲットインスタンスとクラスター間の接続が失敗した場合のリトライ時間、およびソースインスタンスとターゲットインスタンスとクラスターで発生したその他の問題のリトライ時間。

    失敗した接続の再試行時間: 10分。

    その他の問題の再試行時間: 10分。

  7. [次へ: データベースフィールドとテーブルフィールドの設定] をクリックします。 [データベースおよびテーブルフィールドの設定] ステップで、次の表に示すパラメーターを設定します。

    パラメーター

    説明

    データベース名

    選択したデータベースの名前。

    パブリック

    テーブル名

    選択したテーブルの名前。

    table1

    主キー列

    選択したテーブルの主キー列。

    id

    配布キー

    選択したテーブルの1つ以上の配布キー列。

    id

    Type

    選択したテーブルのデータパーティションタイプ。

    ハッシュ分散テーブル

    定义ステータス

    選択したテーブルのステータス。 テーブルフィールドを設定すると、テーブルのステータスが未定義から定義に変わります。

    定義済み

  8. 上記のパラメーターを設定したら、[次へ: タスク設定の保存と事前チェック] をクリックします。

    image

  9. 事前チェックが成功すると、システムは自動的にゼロETLタスクを開始します。 タスクリストでタスクの進行状況を表示します。

    image

ゼロETLタスクのモニタリングとアラート

zero-ETLタスクを作成してタスクを開始した後、CloudMonitorコンソールでタスクのアラートルールを設定し、タスクの実行ステータスをモニタリングできます。 以下の手順を実行します。

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

  2. モニタリング情報を表示します。

    1. 左側のナビゲーションウィンドウで、[クラウドサービスモニタリング] > [クラウドサービスモニタリング] > [データベース] を選択します。

    2. ポインタをAnalyticDB for PostgreSQLカードに移動し、AnalyticDB for PostgreSQL - Zero-ETL Latencyをクリックします。

    3. 管理するインスタンスを見つけ、インスタンスIDをクリックして、ゼロETLタスクに関するモニタリング情報を表示します。

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

    1. 左側のナビゲーションウィンドウで、[アラーム] > [アラームルール] を選択します。

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

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

    1. 左側のナビゲーションウィンドウで、[イベントセンター] > [イベントサブスクリプション] を選択します。

    2. [サブスクリプションポリシーの作成] をクリックします。 [サブスクリプションポリシーの作成] ページで、zero-ETLタスクのサブスクリプションポリシーパラメーターを設定します。 詳細については、「イベント購読ポリシーの管理 (推奨) 」トピックの「購読ポリシーの作成」セクションをご参照ください。