All Products
Search
Document Center

Lindorm:Migrasi RDS

Last Updated:Jun 21, 2026

Topik ini menjelaskan cara menyinkronkan data penuh dan inkremental dari instans ApsaraDB RDS.

Penting

Fitur Migrasi RDS telah ditinggalkan pada 10 Maret 2023. Instans LTS yang dibeli setelah tanggal tersebut tidak dapat menggunakan fitur ini. Instans LTS yang dibeli sebelum 10 Maret 2023 masih dapat terus menggunakan fitur ini.

Kasus penggunaan

  • Mengarsipkan data historis dari ApsaraDB RDS untuk mengurangi biaya.

  • Memigrasikan data penuh dari ApsaraDB RDS ke Lindorm.

Prasyarat

  • Instans LTS Anda dibeli sebelum 10 Maret 2023.

  • Masuk ke Konsol LTS. Untuk informasi selengkapnya, lihat Mengakses Tugas Sinkronisasi.

  • Pastikan koneksi jaringan telah terbentuk antara LTS, kluster ApsaraDB for HBase tujuan, dan instans ApsaraDB RDS sumber. Langkah ini tidak diperlukan jika semuanya dideploy dalam virtual private cloud (VPC) yang sama.

Fitur

  • Menyinkronkan data penuh dan inkremental dari ApsaraDB RDS ke instans model wide-table Lindorm yang kompatibel dengan akses HBase.

  • Transformasi data ApsaraDB RDS selama migrasi. Untuk informasi selengkapnya, lihat Konfigurasi.

  • Menyinkronkan data dari beberapa tabel ApsaraDB RDS.

Batasan

  • Sumber data untuk sinkronisasi data penuh harus berupa MySQL.

  • Sumber data untuk sinkronisasi data inkremental harus berupa Data Transmission Service (DTS).

  • Sumber data tujuan dapat berupa Lindorm dengan akses SQL atau instans model wide-table Lindorm yang kompatibel dengan akses HBase.

Prosedur

  1. Di Konsol LTS, pilih Data Import > RDS Migration.

  2. Klik Create a task.

  3. Pilih sumber data ApsaraDB RDS, sumber data Data Transmission Service (DTS), dan sumber data tujuan.

    Masukkan nama tugas di bidang Task Name. Di bagian Select Tables, pilih tabel yang ingin Anda sinkronkan, lalu klik Generate Configuration. Di bagian Operations, pilih opsi yang diperlukan, seperti Schema Migration, Incremental Data Synchronization, dan Historical Data Migration. Setelah menyelesaikan konfigurasi, klik Create.

  4. Klik Edit untuk melihat atau mengubah konfigurasi default. Untuk informasi selengkapnya, lihat Konfigurasi.

  5. Pilih tabel yang akan disinkronkan, lalu klik Generate Configurations.

    Catatan
    • Tugas Migrasi RDS pertama kali memigrasikan data historis. Setelah migrasi ini selesai, tugas akan memulai sinkronisasi data inkremental.

    • Saat Anda memigrasikan data ke instans Lindorm yang kompatibel dengan Cassandra Query Language (CQL), sistem secara default menghasilkan konfigurasi di mana kolom tujuan sesuai dengan kolom ApsaraDB RDS sumber dalam hal nama dan tipe. Anda dapat mengedit konfigurasi secara manual untuk mengubah nama kolom dan pemetaannya. Untuk detailnya, lihat Konfigurasi.

    • Saat Anda memigrasikan data ke instans ApsaraDB for HBase atau Lindorm, sistem secara default menghasilkan keluarga kolom bernama f. Sistem memetakan kolom dari tabel ApsaraDB RDS ke kolom dalam keluarga kolom f. Kunci baris dihasilkan dengan menggabungkan string primary key dari tabel ApsaraDB RDS sumber.

    • Secara default, konfigurasi yang dihasilkan melewatkan operasi delete dari database ApsaraDB RDS sumber. Jika Anda ingin mereplikasi penghapusan, Anda harus mengubah konfigurasi secara manual. Untuk detailnya, lihat Konfigurasi.

  6. Klik Create.

Konfigurasi

Kode berikut menyediakan contoh konfigurasi untuk menyinkronkan data ke tabel SQL. Untuk detail sintaksis, lihat Jtwig Reference Manual.

{
    "reader": {
        "querySql": [
            "select * from dts.cluster where id < 1000",// Kueri untuk sinkronisasi data penuh. Setiap pernyataan sesuai dengan satu thread baca.
      "select * from dts.cluster where id >= 1000"// Kami menyarankan membagi kueri untuk meningkatkan performa dan mengurangi biaya retry.
        ]
    },
    "writer": {
        "columns": [
            {
                "name": "id", // Nama kolom di tabel tujuan.
                "value": "id",// Nama kolom di tabel sumber.
                "isPk": true , // Menentukan apakah kolom merupakan primary key.
                "type": "BIGINT" // Opsional. Jika Anda tidak menentukan parameter ini, tipe data kolom tujuan akan sama dengan kolom ApsaraDB RDS sumber.
            },
      {
                "name": "cluster_id",
                "value": "cluster_id",
                "isPk": false
            },
      {
                "name": "id_and_cluster",
                "value": "{{concat(id, cluster_id)}}",// Ekspresi Jtwig didukung untuk transformasi data.
                "isPk": true
            },
        ],
        "config": {
            "skipDelete": true // Melewatkan operasi delete.
        },
     "table": {
         "name": "dts.cluster", // Nama tabel Lindorm. Gunakan titik (.) sebagai pemisah.
         "parameter": {
             "compression": "ZSTD"
        }
    },
    "sourceTable": "dts.cluster" 
    }
}

Kode berikut menyediakan contoh konfigurasi untuk menyinkronkan data menggunakan API HBase.

{
    "reader": {
        "querySql": [
            "select * from dts.cluster where id < 1000",// Kueri untuk sinkronisasi data penuh. Setiap pernyataan sesuai dengan satu thread baca.
      "select * from dts.cluster where id >= 1000"// Kami menyarankan membagi kueri untuk meningkatkan performa dan mengurangi biaya retry.
        ]
    },
    "writer": {
        "columns": [
            {
                "name": "f:id",// Nama kolom di tabel tujuan.
                "value": "id", // Nama kolom di tabel sumber.
        "isPk": false // Parameter ini diabaikan dan tidak memengaruhi sinkronisasi.
            },
            {
                "name": "f:cluster_id",
                "value": "cluster_id",
                "isPk": false
            },
      {
        "name": "f:id_and_cluster",
                "value": "{{concat(id, cluster_id)}}",// Ekspresi Jtwig didukung untuk transformasi data.
       }
        ],
        "rowkey": {
            "value": "id" // Menentukan kolom dari tabel ApsaraDB RDS yang membentuk row key dalam model HBase. Sintaksis Jtwig didukung.
        },
        "config": {
            "skipDelete": true// Melewatkan operasi delete.
        },
        "table": {
            "name": "dts:cluster",// Nama tabel di Lindorm atau ApsaraDB for HBase.
            "parameter": {
                "compression": "ZSTD",// Algoritma kompresi untuk tabel baru di Lindorm atau ApsaraDB for HBase. Kami menyarankan menggunakan ZSTD.
        "split":["1", "5", "9", "b"] // Menentukan kunci pemisahan untuk pre-split tabel baru.
            }
        },
        "sourceTable": "dts.cluster"
    }
}