All Products
Search
Document Center

Data Transmission Service:Migrasikan data dari database TiDB yang dikelola sendiri ke AnalyticDB for MySQL 3.0

Last Updated:Aug 28, 2026

Layanan Transmisi Data (DTS) memungkinkan migrasi data dari database TiDB yang dikelola sendiri ke kluster AnalyticDB for MySQL V3.0, mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental.

Cara kerja migrasi

Migrasi berlangsung dalam hingga tiga fase berurutan:

  1. Schema migration — DTS mereplikasi definisi tabel ke kluster tujuan.

  2. Full data migration — DTS membaca seluruh data dari TiDB dan memuatnya ke AnalyticDB for MySQL V3.0.

  3. Incremental data migration (opsional) — DTS membaca peristiwa perubahan dari kluster Kafka dan menerapkannya ke tujuan untuk menjaga sinkronisasi antara sumber dan tujuan selama cutover.

Pilih jalur Anda:

Prasyarat

Sebelum memulai:

Izin yang diperlukan

Database

Izin yang diperlukan

TiDB database

SELECT pada objek yang akan dimigrasikan, SHOW VIEW

AnalyticDB for MySQL V3.0 cluster

Izin baca dan tulis pada database tujuan. Lihat Buat akun database.

Penagihan

Jenis migrasi

Biaya konfigurasi instans

Biaya traffic internet

Schema migration dan full data migration

Gratis

Dikenakan biaya hanya jika Access Method untuk tujuan adalah Public IP Address. Lihat Ikhtisar penagihan.

Incremental data migration

Dikenakan biaya. Lihat Ikhtisar penagihan.

Siapkan pengumpulan data inkremental

Lewati bagian ini jika Anda hanya memerlukan migrasi skema dan migrasi data penuh.

Migrasi data inkremental mengharuskan TiDB mengalirkan peristiwa perubahan ke kluster Kafka. Pilih salah satu metode berikut berdasarkan versi TiDB Anda.

Pilih metode

Metode

Kapan digunakan

TiDB Binlog

Kluster TiDB yang sudah menggunakan Pump dan Drainer untuk replikasi binlog

TiCDC

TiDB v4.0 dan seterusnya; disarankan untuk penerapan baru

Konfigurasi parameter Kafka

Sebelum menghubungkan ke DTS, tingkatkan parameter Kafka berikut. Tanpa perubahan ini, kluster Kafka dapat menolak muatan log biner besar dari TiDB.

Komponen

Parameter

Tindakan

Kafka broker

message.max.bytes

Tingkatkan agar sesuai dengan pesan log biner TiDB

Kafka broker

replica.fetch.max.bytes

Tingkatkan agar sesuai dengan message.max.bytes

Kafka consumer

fetch.message.max.bytes

Tingkatkan agar sesuai dengan message.max.bytes broker

Siapkan kluster Kafka

Gunakan salah satu opsi berikut:

  • Kluster Kafka yang dikelola sendiri — Terapkan kluster Anda sendiri. Lihat situs resmi Apache Kafka.

  • Instance ApsaraMQ for Kafka — Buat instance terkelola. Lihat Ikhtisar memulai. Terapkan instance di virtual private cloud (VPC) yang sama dengan server database TiDB.

Penting

Terapkan server database TiDB, Pump (jika menggunakan TiDB Binlog), Drainer, dan kluster Kafka di jaringan internal yang sama untuk meminimalkan latensi jaringan.

Setelah kluster Kafka siap, buat topik dengan exactly one partition. DTS hanya membaca dari partisi ID 0. Partisi tambahan menyebabkan kehilangan data.

Gunakan TiDB Binlog

  1. Terapkan Pump dan Drainer di server yang berada di jaringan internal yang sama dengan database TiDB. Lihat Penerapan kluster TiDB Binlog.

  2. Edit file konfigurasi Drainer agar mengarah ke kluster Kafka. Lihat Panduan pengguna klien konsumen binlog.

  3. Verifikasi bahwa server TiDB dapat mencapai kluster Kafka.

  4. Tambahkan blok CIDR server DTS ke daftar izin database TiDB. Lihat Tambahkan blok CIDR server DTS.

Gunakan TiCDC

  1. Instal TiCDC menggunakan TiUP untuk menambahkan node TiCDC baru atau melakukan scaling out node yang sudah ada di kluster TiDB. Lihat Terapkan dan kelola TiCDC.

  2. Buat changefeed untuk mereplikasi data inkremental ke Kafka. Gunakan tiup cdc cli changefeed create sebagai perintah awal. Lihat Replikasi data ke Kafka.

  3. Verifikasi bahwa server TiDB dapat mencapai kluster Kafka.

Batasan

Tinjau batasan berikut sebelum memulai tugas.

Database sumber

  • Server TiDB harus memiliki bandwidth outbound yang cukup. Bandwidth rendah mengurangi kecepatan migrasi.

  • Tabel yang akan dimigrasikan harus memiliki PRIMARY KEY atau kendala UNIQUE dengan semua bidang unik. Tabel tanpa kendala ini dapat menghasilkan catatan duplikat di tujuan.

  • Jika Anda mengganti nama tabel atau kolom selama migrasi, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, bagi migrasi menjadi beberapa tugas atau migrasikan seluruh database dalam satu tugas.

  • Jika Anda ingin memigrasikan data inkremental dari database TiDB sumber, Anda harus menerapkan kluster Kafka dan menginstal komponen terkait untuk database TiDB guna mengumpulkan data inkremental.

  • Indeks awalan tidak dapat dimigrasikan. Jika database sumber berisi indeks awalan, tugas migrasi dapat gagal.

Migrasi inkremental

  • DTS hanya membaca data dari partisi ID 0 topik Kafka. Konfigurasikan topik dengan tepat satu partisi.

  • Setelah membuat tugas migrasi inkremental, segera lakukan operasi pada database sumber atau masukkan data uji untuk memperbarui informasi offset tugas. Penundaan lama sebelum peristiwa data pertama dapat menyebabkan tugas gagal.

Tujuan dan perilaku tugas

  • Tentukan primary key kustom di database tujuan atau konfigurasikan Primary Key Column pada langkah Configurations for Databases, Tables, and Columns. Konfigurasi primary key yang tidak lengkap menyebabkan migrasi data gagal.

  • Jika kluster AnalyticDB for MySQL V3.0 sedang dibackup saat tugas DTS berjalan, tugas tersebut gagal.

  • Jika penggunaan disk pada node AnalyticDB for MySQL V3.0 melebihi 80%, tugas migrasi tertunda dan mengembalikan error. Perkirakan ruang disk yang diperlukan sebelum memulai.

  • Migrasi data penuh meningkatkan beban pada database sumber dan tujuan. Jalankan migrasi selama jam sepi ketika beban CPU di bawah 30%.

  • Migrasi data penuh menggunakan operasi INSERT konkuren, yang menyebabkan fragmentasi pada tabel tujuan. Setelah migrasi penuh selesai, ukuran ruang tabel tujuan lebih besar daripada sumber.

  • Jika sumber lain menulis ke tujuan selama migrasi, ketidaksesuaian data dapat terjadi.

  • DTS menggunakan fungsi ROUND(COLUMN,PRECISION) untuk mengambil nilai FLOAT dan DOUBLE. Presisi default adalah 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Verifikasi bahwa nilai default ini memenuhi kebutuhan Anda sebelum memulai.

  • Selama migrasi skema, DTS tidak mendukung migrasi materialized views ke instance AnalyticDB for MySQL tujuan. Untuk menggunakan materialized views, buat secara manual di instance tujuan setelah migrasi selesai.

  • DTS secara otomatis mencoba melanjutkan tugas yang gagal hingga tujuh hari. Sebelum beralih beban kerja ke tujuan, hentikan atau rilis tugas yang gagal, atau jalankan pernyataan REVOKE untuk menghapus izin tulis dari akun DTS. Jika tidak, tugas yang dilanjutkan dapat menimpa data tujuan.

  • Jika pernyataan DDL gagal di tujuan, tugas DTS tetap berjalan. Lihat pernyataan DDL yang gagal di log tugas. Lihat Lihat log tugas.

  • Jika tugas DTS gagal, dukungan teknis DTS mencoba memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas dapat dimulai ulang dan parameter tugas (bukan parameter database) dapat dimodifikasi. Untuk daftar parameter yang dapat berubah, lihat Modifikasi parameter instans.

Catatan
  • Jika tujuan adalah kluster AnalyticDB for MySQL, DTS hanya mendukung penulisan tipe data yang didukung secara native oleh AnalyticDB for MySQL. Ini mencakup tipe data dasar dan tipe data kompleks seperti ARRAY, MAP, dan JSON. Tipe data seperti MULTIVALUE tidak didukung.

Operasi SQL yang didukung untuk migrasi inkremental

Jenis operasi

Pernyataan yang didukung

DML

INSERT, UPDATE, DELETE. Pernyataan UPDATE secara otomatis dikonversi menjadi REPLACE INTO. Jika UPDATE menargetkan primary key, dikonversi menjadi DELETE diikuti oleh INSERT.

DDL

CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN

Pemetaan tipe data

Untuk pemetaan lengkap antara tipe data TiDB dan AnalyticDB for MySQL V3.0, lihat Pemetaan tipe data antar database heterogen.

Buat tugas migrasi

Langkah 1: Buka halaman Data Migration

Gunakan Konsol DTS atau Konsol DMS.

Konsol DTS

  1. Masuk ke Konsol DTS.

  2. Di panel navigasi kiri, klik Data Migration.

  3. Di pojok kiri atas, pilih wilayah tempat instans migrasi akan berada.

Konsol DMS

Langkah-langkah dapat berbeda tergantung mode dan tata letak Konsol DMS. Lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS.
  1. Masuk ke Konsol DMS.

  2. Di bilah navigasi atas, arahkan kursor ke Data + AI > DTS (DTS) > Data Migration.

  3. Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi akan berada.

Langkah 2: Konfigurasi database sumber dan tujuan

  1. Klik Create Task.

  2. Masukkan Task Name. DTS menghasilkan nama secara otomatis; tentukan nama deskriptif agar tugas mudah diidentifikasi nanti.

  3. Konfigurasi database sumber:

    Parameter

    Deskripsi

    Select Existing Connection

    Pilih instance database terdaftar untuk mengisi parameter di bawah secara otomatis, atau biarkan kosong dan masukkan detail koneksi secara manual.

    Database Type

    Pilih TiDB.

    Access Method

    Pilih metode akses berdasarkan lokasi penerapan TiDB. Contoh ini menggunakan Self-managed Database on ECS. Untuk metode akses lain, siapkan lingkungan yang diperlukan terlebih dahulu. Lihat Ikhtisar persiapan.

    Instance Region

    Wilayah tempat database TiDB berada.

    ECS Instance ID

    ID instance ECS yang menjalankan TiDB.

    Port Number

    Port layanan TiDB. Default: 4000.

    Database Account

    Akun database TiDB.

    Database Password

    Kata sandi untuk akun database.

    Migrate Incremental Data

    Pilih Yes jika Anda ingin migrasi data inkremental, lalu masukkan detail kluster Kafka di bagian Kafka cluster configuration.

  4. Konfigurasi database tujuan:

    Parameter

    Deskripsi

    Select Existing Connection

    Pilih instance terdaftar untuk mengisi parameter di bawah secara otomatis, atau biarkan kosong dan masukkan detail koneksi secara manual.

    Database Type

    Pilih AnalyticDB for MySQL 3.0.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat kluster tujuan berada.

    Instance ID

    ID kluster AnalyticDB for MySQL V3.0 tujuan.

    Database Account

    Akun database untuk kluster tujuan. Lihat Izin yang diperlukan.

    Database Password

    Kata sandi untuk akun database.

  5. Klik Test Connectivity and Proceed. Di kotak dialog CIDR Blocks of DTS Servers, klik Test Connectivity.

    Blok CIDR DTS harus ditambahkan ke pengaturan keamanan database sumber dan tujuan. Lihat Tambahkan blok CIDR server DTS.

Langkah 3: Konfigurasi objek yang akan dimigrasikan

Di halaman Configure Objects, atur parameter berikut:

Parameter

Deskripsi

Migration Types

Pilih fase migrasi yang akan dijalankan: Schema Migration, Full Data Migration, dan opsional Incremental Data Migration. Jika Schema Migration tidak dipilih, buat database dan tabel tujuan sebelum memulai tugas. Jika Incremental Data Migration tidak dipilih, hindari menulis ke database sumber selama migrasi untuk menjaga konsistensi data.

Merge Tables

Yes menambahkan kolom __dts_data_source ke setiap tabel tujuan untuk mencatat sumber data. Semua tabel sumber yang dipilih digabung menjadi satu tabel tujuan. No (default) menjaga tabel tetap terpisah. Jangan menjalankan operasi DDL yang mengubah skema sumber selama migrasi; perubahan skema dapat menyebabkan ketidaksesuaian data atau kegagalan tugas.

Processing Mode of Conflicting Tables

Precheck and Report Errors: gagal dalam pemeriksaan awal jika sumber dan tujuan memiliki tabel dengan nama yang sama. Gunakan pemetaan nama objek untuk mengganti nama tabel yang bentrok sebelum memulai. Ignore Errors and Proceed: melewati pemeriksaan awal. Selama migrasi penuh, DTS mempertahankan catatan tujuan yang sudah ada untuk primary key yang bentrok. Selama migrasi inkremental, DTS menimpanya. Jika skema berbeda antara sumber dan tujuan, hanya kolom yang cocok yang dimigrasikan atau tugas dapat gagal.

Capitalization of Object Names in Destination Instance

Mengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default: DTS default policy. Lihat Tentukan kapitalisasi nama objek di instance tujuan.

Source Objects

Pilih tabel atau database yang akan dimigrasikan, lalu klik ikon panah untuk memindahkannya ke Selected Objects.

Selected Objects

Klik kanan objek untuk mengganti namanya atau menambahkan kondisi filter WHERE. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Mengganti nama objek dapat menyebabkan objek dependen gagal dimigrasikan.

Klik Next: Advanced Settings.

Langkah 4: Konfigurasi pengaturan lanjutan

Parameter

Deskripsi

Retry Time for Failed Connections

Berapa lama DTS mencoba lagi setelah kegagalan koneksi. Rentang valid: 10–1.440 menit. Default: 720 menit. Atur minimal 30 menit. Jika beberapa tugas berbagi database sumber atau tujuan yang sama, nilai yang paling baru ditetapkan berlaku. DTS mengenakan biaya untuk instans selama periode percobaan ulang.

Retry Time for Other Issues

Berapa lama DTS mencoba lagi setelah kegagalan DDL atau DML. Rentang valid: 1–1.440 menit. Default: 10 menit. Atur minimal 10 menit. Harus lebih kecil dari Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Membatasi penggunaan sumber daya baca/tulis selama migrasi penuh. Konfigurasikan QPS (queries per second) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Tersedia hanya jika Full Data Migration dipilih.

Enable Throttling for Incremental Data Migration

Membatasi penggunaan sumber daya selama migrasi inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Tersedia hanya jika Incremental Data Migration dipilih.

Environment Tag

Tag opsional untuk mengidentifikasi instans DTS.

Configure ETL

Pilih Yes untuk mengaktifkan ekstrak, transformasi, dan muat (ETL) serta masukkan pernyataan pemrosesan data. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. Pilih No untuk melewati.

Monitoring and Alerting

Pilih Yes untuk menerima notifikasi ketika tugas gagal atau latensi migrasi melebihi ambang batas. Konfigurasikan ambang batas peringatan dan kontak. Lihat Konfigurasi pemantauan dan peringatan.

Langkah 5: Konfigurasi verifikasi data (opsional)

Klik Next Step: Data Verification untuk menyiapkan tugas verifikasi data. Lihat Konfigurasi tugas verifikasi data.

Langkah 6: Konfigurasi bidang database dan tabel (opsional)

Klik Next: Configure Database and Table Fields untuk mengatur Type, Primary Key Column, Distribution Key, Partition Key, Partitioning Rules, dan Partition Lifecycle untuk tabel tujuan.

Langkah ini tersedia hanya jika Schema Migration dipilih. Atur Definition Status ke All untuk melihat dan mengedit semua tabel. Untuk membentuk primary key komposit, tentukan beberapa kolom di Primary Key Column dan tunjuk satu atau lebih sebagai Distribution Key dan Partition Key. Lihat CREATE TABLE.

Langkah 7: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

Untuk melihat parameter API untuk konfigurasi tugas ini, arahkan kursor ke tombol dan klik Preview OpenAPI parameters sebelum melanjutkan.

DTS menjalankan pemeriksaan awal sebelum memulai migrasi. Jika pemeriksaan awal gagal:

  • Klik View Details di sebelah item yang gagal, selesaikan masalahnya, lalu klik Precheck Again.

  • Untuk item peringatan yang dapat diabaikan dengan aman, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidaksesuaian data.

Langkah 8: Beli instans dan mulai tugas

  1. Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.

  2. Di halaman Purchase Instance, konfigurasikan hal berikut:

    Parameter

    Deskripsi

    Resource Group

    Kelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management?.

    Instance Class

    Kelas instans menentukan kecepatan migrasi. Lihat Kelas instans untuk instans migrasi data.

  3. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms.

  4. Klik Buy and Start, lalu klik OK di dialog konfirmasi.

Monitor progres tugas di halaman Data Migration.

  • Tugas tanpa migrasi inkremental berhenti secara otomatis saat selesai. Status menunjukkan Completed.

  • Tugas dengan migrasi inkremental berjalan terus-menerus. Status menunjukkan Running. Hentikan tugas secara manual setelah cutover.

Konfigurasi kluster Kafka

Ketika Migrate Incremental Data diatur ke Yes, konfigurasikan kluster Kafka dengan parameter berikut:

Parameter

Deskripsi

Kafka Cluster Type

Lokasi penerapan kluster Kafka. Contoh ini menggunakan Self-managed Database on ECS. Jika Anda memilih Express Connect, VPN Gateway, or Smart Access Gateway, pilih juga VPC dari Connected VPC dan tentukan Domain Name or IP.

Kafka Data Source Component

Pilih Use the default binlog format of the TiDB database atau Use the TiCDC Canal-JSON format berdasarkan pengaturan Anda.

ECS Instance ID

ID instance ECS yang menjalankan kluster Kafka.

Port Number

Port layanan Kafka.

Kafka Cluster Account

Username Kafka. Biarkan kosong jika autentikasi dinonaktifkan.

Kafka Cluster Password

Kata sandi Kafka. Biarkan kosong jika autentikasi dinonaktifkan.

Kafka Version

Versi kluster Kafka. Pilih 1.0 jika versinya 1.0 atau lebih baru.

Encryption

Pilih Non-encrypted atau SCRAM-SHA-256 berdasarkan kebutuhan keamanan Anda.

Topic

Topik Kafka yang menerima data inkremental.

Langkah selanjutnya