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

Lindorm:RDS 移行

最終更新日:Jun 21, 2026

このトピックでは、ApsaraDB RDS インスタンスから完全データと増分データを同期する方法について説明します。

重要

RDS 移行機能は、2023 年 3 月 10 日に非推奨になりました。2023 年 3 月 10 日以降に購入された LTS インスタンスでは、この機能は使用できません。2023 年 3 月 10 日より前に購入された LTS インスタンスでは、引き続きこの機能を使用できます。

ユースケース

  • ApsaraDB RDS から履歴データをアーカイブしてコストを削減します。

  • ApsaraDB RDS から Lindorm へ完全データを移行します。

前提条件

  • LTS インスタンスが 2023 年 3 月 10 日より前に購入されていること。

  • LTS コンソールにログインしていること。詳細については、「同期タスクへのアクセス」をご参照ください。

  • LTS、移行先の ApsaraDB for HBase クラスター、およびソースの ApsaraDB RDS インスタンス間のネットワーク接続が確立されていること。これらがすべて同じ仮想プライベートクラウド (VPC) にデプロイされている場合、この手順は不要です。

機能

  • ApsaraDB RDS から、HBase アクセスと互換性のある Lindorm ワイドテーブルモデルインスタンスに、完全データと増分データを同期します。

  • 移行中に ApsaraDB RDS データを変換します。詳細については、「設定」をご参照ください。

  • 複数の ApsaraDB RDS テーブルからデータを同期します。

制限事項

  • 完全データ同期のデータソースは MySQL です。

  • 増分データ同期のデータソースは Data Transmission Service (DTS) です。

  • 移行先データソースは、SQL アクセスを持つ Lindorm、または HBase アクセスと互換性のある Lindorm ワイドテーブルモデルインスタンスのいずれかです。

手順

  1. LTS コンソールで、[データインポート] > [RDS 移行] を選択します。

  2. タスクの作成 をクリックします。

  3. タスクの作成ページで、データソースを選択し、タスクを設定します。

    [タスク名] フィールドにタスクの名前を入力します。 [テーブルの選択] セクションで、同期するテーブルを選択し、[設定の生成] をクリックします。 [操作] セクションで、[スキーマ移行][増分データ同期][履歴データ移行] などの必要なオプションを選択します。 設定が完了したら、[作成] をクリックします。

  4. 編集 をクリックして、デフォルト設定を表示または変更します。詳細については、「設定」をご参照ください。

  5. Select the tables to synchronize, and then click [Generate Configurations].

    説明
    • The RDS Migration task first migrates historical data. After this migration is complete, the task starts incremental data synchronization.

    • When you migrate data to a Lindorm instance that is compatible with Cassandra Query Language (CQL), the system, by default, generates a configuration where the destination columns match the source ApsaraDB RDS columns in name and type. You can manually edit the configuration to change column names and mappings. For details, see Configurations.

    • When you migrate data to an ApsaraDB for HBase or Lindorm instance, the system, by default, generates a column family named f. The system maps the columns from the ApsaraDB RDS table to columns in the f column family. The row key is generated by concatenating the primary key strings from the source ApsaraDB RDS table.

    • By default, the generated configuration skips delete operations from the source ApsaraDB RDS database. If you want to replicate deletions, you must manually modify the configuration. For details, see Configurations.

  6. 作成 をクリックします。

設定

次のコードは、SQL テーブルにデータを同期するための設定例です。構文の詳細については、Jtwig リファレンスマニュアルをご参照ください。

{
    "reader": {
        "querySql": [
            "select * from dts.cluster where id < 1000",// 完全データ同期用のクエリ。各ステートメントは 1 つの読み取りスレッドに対応します。
      "select * from dts.cluster where id >= 1000"// パフォーマンスを向上させ、再試行のコストを削減するために、クエリを分割することを推奨します。
        ]
    },
    "writer": {
        "columns": [
            {
                "name": "id", // 移行先テーブルの列名。
                "value": "id",// ソーステーブルの列名。
                "isPk": true , // 列がプライマリキーであるかどうかを指定します。
                "type": "BIGINT" // オプション。このパラメーターを指定しない場合、移行先の列のデータ型はソースの ApsaraDB RDS 列と同じになります。
            },
      {
                "name": "cluster_id",
                "value": "cluster_id",
                "isPk": false
            },
      {
                "name": "id_and_cluster",
                "value": "{{concat(id, cluster_id)}}",// データ変換には Jtwig 式を使用できます。
                "isPk": true
            },
        ],
        "config": {
            "skipDelete": true // 削除操作をスキップします。
        },
     "table": {
         "name": "dts.cluster", // Lindorm テーブルの名前。区切り文字としてピリオド (.) を使用します。
         "parameter": {
             "compression": "ZSTD"
        }
    },
    "sourceTable": "dts.cluster" 
    }
}

次のコードは、HBase API を使用してデータを同期するための設定例です。

{
    "reader": {
        "querySql": [
            "select * from dts.cluster where id < 1000",// 完全データ同期用のクエリ。各ステートメントは 1 つの読み取りスレッドに対応します。
      "select * from dts.cluster where id >= 1000"// パフォーマンスを向上させ、再試行のコストを削減するために、クエリを分割することを推奨します。
        ]
    },
    "writer": {
        "columns": [
            {
                "name": "f:id",// 移行先テーブルの列名。
                "value": "id", // ソーステーブルの列名。
        "isPk": false // このパラメーターは無視され、同期には影響しません。
            },
            {
                "name": "f:cluster_id",
                "value": "cluster_id",
                "isPk": false
            },
      {
        "name": "f:id_and_cluster",
                "value": "{{concat(id, cluster_id)}}",// データ変換には Jtwig 式を使用できます。
       }
        ],
        "rowkey": {
            "value": "id" // HBase モデルの行キーを構成する ApsaraDB RDS テーブルの列を定義します。Jtwig 構文がサポートされています。
        },
        "config": {
            "skipDelete": true// 削除操作をスキップします。
        },
        "table": {
            "name": "dts:cluster",// Lindorm または ApsaraDB for HBase のテーブル名。
            "parameter": {
                "compression": "ZSTD",// Lindorm または ApsaraDB for HBase の新しいテーブルの圧縮アルゴリズム。ZSTD の使用を推奨します。
        "split":["1", "5", "9", "b"] // 新しいテーブルを事前分割するためのスプリットキーを指定します。
            }
        },
        "sourceTable": "dts.cluster"
    }
}