All Products
Search
Document Center

Data Transmission Service:Migrasi\ data\ dari\ database\ TiDB\ yang\ dikelola\ sendiri\ ke\ kluster\ PolarDB\ for\ MySQL

Last Updated:Mar 28, 2026

Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari database TiDB yang dikelola sendiri ke kluster PolarDB for MySQL. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental sehingga Anda dapat meminimalkan downtime dengan menjaga sinkronisasi antara sumber dan tujuan hingga saat cutover.

Proses keseluruhan terdiri dari empat tahap:

  1. Buat kluster PolarDB for MySQL tujuan dan verifikasi izin akun.

  2. (Hanya untuk migrasi inkremental) Siapkan kluster Kafka dan konfigurasikan TiDB Binlog atau TiCDC untuk mengalirkan perubahan ke Kafka.

  3. Buat dan konfigurasikan tugas migrasi DTS.

  4. Jalankan Pemeriksaan Awal, beli instans, dan pantau progres tugas.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Izin yang diperlukan

DatabaseIzin yang diperlukanReferensi
Database TiDBSHOW VIEW, dan SELECT pada objek yang akan dimigrasikanPrivilege management
Kluster PolarDB for MySQLBaca dan tulis pada database tujuanBuat dan kelola akun database

Penagihan

Jenis migrasiBiaya konfigurasi instansBiaya lalu lintas internet
Migrasi skema dan migrasi data penuhGratisDikenakan biaya ketika Access Method diatur ke Public IP Address. Lihat Ikhtisar penagihan.
Migrasi data inkrementalDikenakan biaya. Lihat Ikhtisar penagihan.Lihat Ikhtisar penagihan.

Operasi SQL yang didukung untuk migrasi inkremental

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
DDLCREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN

Catatan penggunaan

Batasan database sumber

  • Egress bandwidth: Server database sumber harus memiliki egress bandwidth yang mencukupi. Bandwidth yang tidak mencukupi akan mengurangi kecepatan migrasi.

  • Kunci primer atau kendala UNIK: Tabel harus memiliki PRIMARY KEY atau UNIQUE constraint dengan semua field unik. Tanpa kendala ini, database tujuan mungkin berisi catatan duplikat.

  • Batas tabel per tugas: Saat memigrasikan tabel individual dengan edit tingkat kolom (seperti mengganti nama kolom), satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, bagi pekerjaan tersebut ke beberapa tugas atau migrasikan seluruh database.

  • Pembatasan DDL selama migrasi: Selama migrasi skema dan migrasi data penuh, jangan lakukan operasi DDL yang mengubah skema database atau tabel. Tugas migrasi akan gagal jika operasi DDL terdeteksi.

  • Indeks awalan: Metadata TiDB tidak menyimpan panjang indeks awalan. Setelah migrasi, panjang indeks awalan hilang, yang dapat mencegah instans berjalan. Perbaiki secara manual panjang indeks awalan untuk tabel yang terpengaruh setelah migrasi.

  • Persyaratan data inkremental: Migrasi data inkremental memerlukan kluster Kafka dan komponen TiDB Binlog atau TiCDC. Lihat (Opsional) Siapkan pengumpulan data inkremental.

Batasan lainnya

  • Incremental data partition: DTS hanya membaca data inkremental dari ID partisi 0 pada topik Kafka.

  • Inisialisasi posisi: Setelah membuat tugas dengan migrasi inkremental, segera lakukan perubahan atau masukkan data uji pada database sumber untuk memperbarui informasi posisi. Jika tidak, tugas mungkin gagal karena latensi berlebihan.

  • Karakter 4-byte: Jika data mencakup karakter langka atau emoji (karakter 4-byte), database dan tabel tujuan harus menggunakan set karakter UTF8mb4. Jika Anda menggunakan migrasi skema DTS, atur juga parameter instans character_set_server ke UTF8mb4 di database tujuan.

  • Penggunaan sumber daya migrasi penuh: Migrasi data penuh mengonsumsi sumber daya baca dan tulis di kedua database sumber dan tujuan, sehingga meningkatkan beban mereka. Evaluasi kinerja database sebelum migrasi dan jalankan migrasi penuh selama jam sepi (misalnya, saat Beban CPU di bawah 30%).

  • Ukuran ruang tabel setelah migrasi penuh: Operasi INSERT konkuren selama migrasi data penuh menyebabkan fragmentasi tabel. Ruang tabel di database tujuan akan lebih besar daripada di database sumber setelah migrasi selesai.

  • Penulisan ke tujuan selama migrasi: Menulis ke database tujuan selama migrasi dapat menyebabkan ketidakkonsistenan data antara sumber dan tujuan.

  • Presisi FLOAT dan DOUBLE: DTS menggunakan ROUND(COLUMN,PRECISION) untuk membaca nilai FLOAT dan DOUBLE. Presisi default adalah 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Verifikasi bahwa pengaturan presisi ini memenuhi kebutuhan Anda.

  • Auto-resume: DTS secara otomatis mencoba melanjutkan tugas yang gagal dalam tujuh hari terakhir. Sebelum mengalihkan beban kerja ke instans tujuan, hentikan atau rilis tugas DTS, atau jalankan REVOKE untuk menghapus izin tulis akun DTS di instans tujuan.

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

  • Intervensi dukungan teknis: Jika tugas DTS gagal, dukungan teknis akan mencoba memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas (bukan parameter database) mungkin dimodifikasi. Untuk parameter yang mungkin dimodifikasi, lihat bagian Modifikasi parameter instans.

(Opsional) Siapkan pengumpulan data inkremental

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

Untuk menangkap perubahan inkremental dari TiDB, Anda memerlukan kluster Kafka dan salah satu dari TiDB Binlog atau TiCDC. Kedua metode menggunakan Kafka sebagai lapisan transport. Selesaikan langkah-langkah pengaturan Kafka bersama terlebih dahulu, lalu ikuti langkah-langkah untuk metode yang Anda pilih.

Langkah 1: Siapkan kluster Kafka

Gunakan salah satu opsi berikut:

  • Kluster Kafka yang dikelola sendiri: Deploy Apache Kafka mengikuti dokumentasi Apache Kafka.

    Peringatan

    Untuk menangani volume data log biner dari TiDB, tingkatkan parameter berikut dalam konfigurasi Kafka Anda. Lihat Konfigurasi Kafka.

    KomponenParameterAlasan
    Brokermessage.max.bytesMenetapkan ukuran maksimum pesan yang diterima broker. Event log biner TiDB bisa sangat besar, sehingga batas default menyebabkan kegagalan penulisan.
    Brokerreplica.fetch.max.bytesMenetapkan jumlah byte maksimum yang dapat diambil follower per permintaan. Harus setidaknya sebesar message.max.bytes agar dapat mereplikasi pesan yang terlalu besar.
    Consumerfetch.message.max.bytesMenetapkan jumlah byte maksimum yang diambil consumer per partisi. Harus setidaknya sebesar message.max.bytes agar DTS dapat membaca event lengkap.
  • Message Queue for Apache Kafka: Gunakan layanan Kafka terkelola Alibaba Cloud. Lihat Memulai.

    Deploy instans Message Queue for Apache Kafka di virtual private cloud (VPC) yang sama dengan server database sumber untuk mengurangi latensi jaringan dan memastikan konektivitas stabil.

Langkah 2: Buat topik Kafka

Buat topik di kluster Kafka atau instans Message Queue for Apache Kafka.

Penting

Topik harus memiliki tepat satu partisi. DTS hanya membaca data inkremental dari partisi dengan ID 0.

Langkah 3: Konfigurasikan TiDB Binlog atau TiCDC

Pilih salah satu metode berdasarkan lingkungan Anda:

<details> <summary>Opsi A: TiDB Binlog</summary>

Untuk meminimalkan dampak latensi jaringan, deploy komponen Pump, komponen Drainer, dan kluster Kafka di server yang berada dalam jaringan internal yang sama dengan server database TiDB sumber.
  1. Deploy komponen Pump dan Drainer. Lihat Penerapan kluster TiDB Binlog.

  2. Edit file konfigurasi Drainer untuk mengatur Kafka sebagai output. Lihat Pengembangan kustom Kafka.Kafka Custom Development

  3. Verifikasi bahwa server database TiDB dapat terhubung ke kluster Kafka.

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

</details>

<details> <summary>Opsi B: TiCDC</summary>

  1. Instal komponen TiCDC. Gunakan TiUP untuk menambah atau menskalakan TiCDC pada kluster TiDB yang sudah ada. Lihat Deploy TiCDC.

  2. Replikasikan data inkremental ke Kafka menggunakan tiup cdc cli changefeed create \ sebagai perintah pertama. Lihat Replikasikan data ke Kafka.

  3. Verifikasi bahwa server database TiDB dapat terhubung ke kluster Kafka.

</details>

Buat tugas migrasi

Langkah 1: Buka halaman Data Migration

Gunakan salah satu metode berikut:

Konsol DTS

  1. Login ke Konsol DTS.DTS console

  2. Di panel navigasi kiri, klik Data Migration.

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

Konsol DMS

Catatan

Langkah aktual dapat berbeda tergantung mode dan tata letak Konsol DMS. Lihat Simple mode dan Sesuaikan tata letak dan gaya Konsol DMS.

  1. Login ke Konsol DMS.DMS console

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

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

Langkah 2: Konfigurasikan database sumber dan tujuan

  1. Klik Create Task.

  2. Di halaman konfigurasi tugas, konfigurasikan database sumber dan tujuan.

Parameter database sumber

ParameterDeskripsi
Task NameNama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar mudah diidentifikasi. Nama tidak perlu unik.
Select Existing ConnectionPilih instans database terdaftar dari daftar drop-down, atau konfigurasikan koneksi secara manual. Di Konsol DMS, pilih dari Select a DMS database instance.
Database TypePilih TiDB.
Access MethodPilih jenis koneksi berdasarkan lokasi deployment database TiDB. Contoh ini menggunakan Self-managed Database on ECS. Untuk jenis koneksi lain, lengkapi persiapan yang sesuai.
Instance RegionWilayah tempat database TiDB berada.
ECS Instance IDID instans Elastic Compute Service (ECS) yang menjalankan database TiDB.
Port NumberPort layanan database TiDB. Default: 4000.
Database AccountAkun untuk database TiDB.
Database PasswordKata sandi untuk akun database TiDB.
Migrate Incremental DataUntuk memigrasikan data inkremental, pilih Yesalert notification settings dan isi informasi kluster Kafka. Lihat Parameter kluster Kafka.

Parameter database tujuan

ParameterDeskripsi
Select Existing ConnectionPilih instans database terdaftar dari daftar drop-down, atau konfigurasikan koneksi secara manual. Di Konsol DMS, pilih dari Select a DMS database instance.
Database TypePilih PolarDB for MySQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat kluster PolarDB for MySQL tujuan berada.
Replicate Data Across Alibaba Cloud AccountsPilih No saat menggunakan instans database di bawah Akun Alibaba Cloud saat ini.
PolarDB Cluster IDPilih ID kluster PolarDB for MySQL tujuan.
Database AccountAkun untuk kluster PolarDB for MySQL tujuan.
Database PasswordKata sandi untuk akun kluster PolarDB for MySQL tujuan.
EncryptionApakah koneksi dienkripsi atau tidak. Untuk detail enkripsi SSL, lihat Configure SSL encryption.

Langkah 3: Uji konektivitas

Di bagian bawah halaman, klik Test Connectivity and Proceed. Di kotak dialog CIDR Blocks of DTS Servers, klik Test Connectivity.

Pastikan blok CIDR server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan. Lihat Tambahkan blok CIDR server DTS.

Langkah 4: Konfigurasikan objek migrasi

  1. Di halaman Configure Objects, atur parameter berikut.

Jenis migrasi dan penanganan konflik

ParameterDeskripsi
Migration TypesPilih jenis migrasi sesuai kebutuhan Anda: <br>- Schema Migration + Full Data Migration: hanya memigrasikan skema dan data yang ada. <br>- Schema Migration + Full Data Migration + Incremental Data Migration: meminimalkan downtime dengan juga menangkap perubahan selama migrasi. <br>
Catatan

Jika Anda melewatkan Schema Migration, buat database dan tabel tujuan secara manual dan aktifkan pemetaan nama objek di Selected Objects. Jika Anda melewatkan Incremental Data Migration, hindari menulis ke database sumber selama migrasi untuk menjaga konsistensi data.

Processing Mode of Conflicting Tables- Precheck and Report Errors (default): gagal dalam Pemeriksaan Awal jika tujuan berisi tabel dengan nama yang sama seperti sumber. Gunakan pemetaan nama objek untuk mengganti nama tabel yang bentrok. <br>- Ignore Errors and Proceed: melewati Pemeriksaan Awal untuk konflik nama.
Peringatan

Opsi ini berisiko menyebabkan ketidakkonsistenan data — selama migrasi penuh, DTS melewati catatan yang bentrok; selama migrasi inkremental, DTS menimpanya. Jika skema berbeda, hanya kolom tertentu yang dimigrasikan atau tugas mungkin gagal.

Capitalization of Object Names in Destination InstanceMengontrol kapitalisasi nama database, nama tabel, dan nama kolom di tujuan. Default: DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan.

Pemilihan objek

ParameterDeskripsi
Source ObjectsPilih tabel atau database yang akan dimigrasikan. Klik 向右小箭头 untuk memindahkan objek yang dipilih ke Selected Objects.
Selected ObjectsKlik kanan objek untuk mengganti namanya. Lihat Pemetaan nama objek tunggal. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Lihat Pemetaan nama beberapa objek sekaligus. Klik kanan tabel untuk mengonfigurasi kondisi filter WHERE.
Catatan

Mengganti nama objek dapat mencegah objek dependen dimigrasikan.

Catatan
    1. Klik Next: Advanced Settings.

    Advanced settings

    ParameterDeskripsi
    Select the engine type of the destination databaseMesin penyimpanan untuk database tujuan: InnoDB (default) atau X-Engine (untuk beban kerja online transaction processing (OLTP)).
    Retry Time for Failed ConnectionsBerapa lama DTS mencoba kembali koneksi yang gagal setelah tugas dimulai. Rentang: 10–1.440 menit. Default: 720. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 30 menit. Jika koneksi dipulihkan dalam periode ini, tugas dilanjutkan; jika tidak, tugas gagal.
    Catatan

    Saat beberapa tugas berbagi database sumber atau tujuan yang sama, nilai yang paling baru diatur akan berlaku. DTS mengenakan biaya untuk instans selama waktu percobaan ulang.

    Retry Time for Other IssuesBerapa lama DTS mencoba kembali operasi DDL atau DML yang gagal. Rentang: 1–1.440 menit. Default: 10. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 10 menit.
    Penting

    Nilai ini harus kurang dari Retry Time for Failed Connections.

    Enable Throttling for Full Data MigrationMembatasi penggunaan sumber daya selama migrasi data penuh. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Tersedia hanya saat Full Data Migration dipilih.
    Enable Throttling for Incremental Data MigrationMembatasi penggunaan sumber daya selama migrasi data inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Tersedia hanya saat Incremental Data Migration dipilih.
    Environment TagTag opsional untuk mengidentifikasi instans migrasi.
    Configure ETLApakah akan mengaktifkan ekstrak, transformasi, dan muat (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan data. Lihat Apa itu ETL? dan Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data.
    Monitoring and AlertingApakah akan mengonfigurasi peringatan untuk tugas. Pilih Yes untuk mengatur ambang batas peringatan dan kontak notifikasi. Lihat Konfigurasikan pemantauan dan peringatan saat membuat tugas DTS.
    1. Klik Next Step: Data Verification untuk mengonfigurasi verifikasi data. Untuk informasi selengkapnya, lihat Mengonfigurasi tugas verifikasi data.

    Langkah 5: Jalankan Pemeriksaan Awal

    1. Untuk melihat pratinjau parameter API untuk tugas ini, arahkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

    2. Klik Next: Save Task Settings and Precheck.

    DTS menjalankan Pemeriksaan Awal sebelum memulai migrasi. Tugas hanya dimulai setelah Pemeriksaan Awal berhasil.
    Untuk item Pemeriksaan Awal yang gagal, klik View Details untuk mendiagnosis masalah, selesaikan, lalu jalankan Pemeriksaan Awal lagi.
    Untuk item peringatan: jika peringatan tidak dapat diabaikan, perbaiki masalah dan jalankan kembali Pemeriksaan Awal. Jika peringatan dapat diabaikan, klik Confirm Alert Details, lalu klik Ignore > OK > Precheck Again.

    Langkah 6: Beli dan mulai instans

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

    2. Di halaman Purchase Instance, konfigurasikan kelas instans.

    ParameterDeskripsi
    Resource GroupKelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management?
    Instance ClassKelas instans menentukan kecepatan migrasi. Lihat Kelas instans untuk instans migrasi data.
    1. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.

    2. Klik Buy and Start, lalu klik OK.

    Tugas muncul di halaman Data Migration. Pantau progresnya di sana.

    Parameter kluster Kafka

    Konfigurasikan parameter berikut saat Migrate Incremental Data diatur ke Yes.

    ParameterDeskripsi
    Kafka Cluster TypeJenis koneksi berdasarkan lokasi deployment kluster Kafka. Contoh ini menggunakan Self-managed Database on ECS. Jika Anda memilih Express Connect, VPN Gateway, or Smart Access Gateway, pilih juga Connected VPC dan masukkan Domain Name or IP.
    Kafka Data Source ComponentPilih berdasarkan metode pengumpulan inkremental yang telah Anda konfigurasikan: Gunakan format binlog bawaan database TiDB. (TiDB Binlog) atau Gunakan format TiCDC Canal-JSON. (TiCDC).
    ECS Instance IDID instans ECS yang menjalankan kluster Kafka.
    Port NumberPort layanan kluster Kafka.
    Kafka Cluster AccountUsername kluster Kafka. Biarkan kosong jika autentikasi tidak diaktifkan.
    Kafka Cluster PasswordKata sandi kluster Kafka. Biarkan kosong jika autentikasi tidak diaktifkan.
    Kafka VersionVersi kluster Kafka. Jika versinya 1.0 atau lebih baru, pilih 1.0.
    EncryptionPilih Non-encrypted atau SCRAM-SHA-256 berdasarkan kebutuhan keamanan Anda.
    TopicTopik yang berisi data inkremental.