All Products
Search
Document Center

Data Transmission Service:Sinkronisasi\ data\ dari\ instans\ RDS\ for\ MySQL\ ke\ instans\ Tablestore

Last Updated:Mar 29, 2026

Ketika Anda memerlukan akses real-time ke data MySQL melalui penyimpanan NoSQL ber-throughput tinggi—untuk offloading kueri, analitik real-time, atau akses multi-model—mereplikasi data secara manual rentan terhadap error dan sulit dipelihara. Data Transmission Service (DTS) mengotomatiskan sinkronisasi ini: DTS melakukan pemuatan data penuh satu kali, lalu terus-menerus mereplikasi perubahan dari instans ApsaraDB RDS for MySQL (atau database MySQL yang dikelola sendiri) ke instans Tablestore, sehingga menjaga kedua penyimpanan tetap selaras tanpa kode kustom.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Batasan

Memahami batasan-batasan ini sebelum mengonfigurasi tugas membantu Anda menghindari kegagalan Pemeriksaan Awal dan error di tengah proses sinkronisasi.

Batasan database sumber

BatasanPemicu dan konsekuensiWorkaround
Kunci primer atau kunci unik wajib adaTabel tanpa kendala PRIMARY KEY atau UNIQUE menghasilkan catatan duplikat di Tablestore.Tambahkan kunci primer atau kunci unik ke setiap tabel sebelum memulai tugas.
Maksimal 1.000 tabel per tugas (ketika memilih tabel sebagai objek)Memilih lebih dari 1.000 tabel menyebabkan error permintaan dan tugas tidak dapat dimulai.Buat beberapa tugas, atau sinkronkan seluruh database alih-alih memilih tabel satu per satu.
binlog_row_image harus diatur ke fullJika tidak diatur ke full, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai.Untuk ApsaraDB RDS for MySQL, lihat Ubah parameter instans.
Retensi log biner minimal 7 hariRetensi yang lebih pendek menyebabkan tugas gagal di tengah proses sinkronisasi. Dalam beberapa kasus, kehilangan data mungkin terjadi.Perpanjang periode retensi log biner sebelum memulai tugas. Lihat Kelola file log biner.
Tidak boleh ada DDL selama sinkronisasi skema atau data penuhMenjalankan pernyataan DDL saat fase-fase ini sedang berlangsung menyebabkan tugas gagal.Tunda perubahan skema hingga kedua fase selesai.
Kolom tak terlihat (MySQL 8.0.23 dan versi lebih baru)DTS tidak dapat membaca data di kolom tak terlihat, sehingga menyebabkan kehilangan data. Tabel tanpa kunci primer eksplisit akan menghasilkan kunci primer tak terlihat secara otomatis, yang juga tidak dapat dibaca oleh DTS.Jalankan ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE; untuk membuat kolom menjadi terlihat sebelum memulai. Lihat Invisible Columns dan Generated Invisible Primary Keys.
Fitur EncDBInstans ApsaraDB RDS for MySQL dengan fitur EncDB yang diaktifkan tidak mendukung sinkronisasi data penuh.Nonaktifkan EncDB, atau gunakan instans tanpa EncDB. Instans dengan Transparent Data Encryption (TDE) yang diaktifkan mendukung ketiga jenis sinkronisasi: skema, penuh, dan inkremental.

Persyaratan tambahan untuk MySQL yang dikelola sendiri:

  • Aktifkan binary logging, dan atur binlog_format ke row serta binlog_row_image ke full. Lihat Buat akun untuk database MySQL yang dikelola sendiri dan konfigurasi binary logging.

  • Pada klaster dual-primary, atur log_slave_updates ke ON agar DTS dapat menangkap semua log biner.

  • Alih bencana primary/secondary saat tugas sedang berjalan menyebabkan tugas gagal.

  • DTS menjalankan pernyataan CREATE DATABASE IF NOT EXISTS 'test' di database sumber sesuai jadwal untuk memajukan posisi file log biner.

Persyaratan tambahan untuk ApsaraDB RDS for MySQL:

  • Instans ApsaraDB RDS for MySQL yang tidak mencatat log transaksi, seperti instans ApsaraDB RDS for MySQL 5.6 read-only, tidak dapat digunakan sebagai database sumber.

  • DTS menjalankan pernyataan CREATE DATABASE IF NOT EXISTS 'test' di database sumber sesuai jadwal untuk memajukan posisi file log biner.

Batasan database tujuan

BatasanPemicu dan konsekuensiWorkaround
Maksimal 64 tabel per instans TablestoreSinkronisasi lebih dari 64 tabel menyebabkan error permintaan.Hubungi dukungan teknis Tablestore untuk menaikkan batas tersebut.
Konvensi penamaan TablestoreNama tabel dan kolom yang melanggar aturan penamaan menyebabkan tugas gagal. Nama hanya boleh menggunakan huruf, angka, dan garis bawah (_); harus dimulai dengan huruf atau garis bawah; dan panjangnya antara 1–255 karakter.Ganti nama tabel dan kolom yang tidak sesuai sebelum memulai tugas.

Batasan umum

BatasanKonsekuensiRekomendasi
Data ditulis dari sumber lain ke tujuan selama sinkronisasiTerjadi ketidakkonsistenan data antara sumber dan tujuan.Hanya tulis ke tujuan melalui DTS selama tugas berjalan.
Alat DDL Online (seperti pt-online-schema-change) pada objek yang disinkronkanTugas gagal.Hindari menjalankan DDL Online pada objek yang sedang disinkronkan.
Operasi INSERT konkuren selama sinkronisasi data penuh awalTerjadi fragmentasi tabel; ruang tabel tujuan akan lebih besar daripada sumber setelah fase ini.Rencanakan kapasitas penyimpanan tujuan sesuai kebutuhan.
Data dari operasi perubahan log biner (dipulihkan dari backup fisik atau operasi bertingkat)Data ini tidak disinkronkan ke tujuan.Hapus tabel yang terdampak dari objek sinkronisasi, lalu tambahkan kembali. Lihat Ubah objek yang akan disinkronkan.
Jalankan sinkronisasi selama jam sepi untuk mengurangi dampak performa pada database sumber dan tujuan Anda.

Penagihan

Jenis sinkronisasiBiaya
Sinkronisasi skema dan sinkronisasi data penuhGratis
Sinkronisasi data inkrementalDikenai biaya. Lihat Ikhtisar penagihan.

Operasi SQL yang didukung untuk sinkronisasi inkremental

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE

Izin yang diperlukan

Akun database untuk instans ApsaraDB RDS for MySQL sumber memerlukan izin baca dan tulis pada objek yang akan disinkronkan.

Jika akun tidak dibuat melalui Konsol ApsaraDB RDS for MySQL, berikan izin berikut secara manual:

  • REPLICATION CLIENT

  • REPLICATION SLAVE

  • SHOW VIEW

  • SELECT

Buat tugas sinkronisasi data

Konfigurasi tugas melibatkan sembilan langkah: menuju halaman Sinkronisasi Data, membuat tugas, mengonfigurasi database sumber dan tujuan, menguji konektivitas, memilih objek sinkronisasi, mengonfigurasi pengaturan lanjutan, memetakan kolom kunci primer, menjalankan Pemeriksaan Awal, dan membeli instans.

Langkah 1: Buka halaman Sinkronisasi Data

Buka Konsol DTS atau Konsol DMS dan navigasikan ke halaman Sinkronisasi Data.

Konsol DTS

  1. Masuk ke Konsol DTS.

  2. Di panel navigasi kiri, klik Data Synchronization.

  3. Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi data berada.

Konsol DMS

Catatan

Operasi aktual dapat berbeda tergantung mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Simple mode dan Sesuaikan tata letak dan gaya Konsol DMS.

  1. Masuk ke Konsol DMS.

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

  3. Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi data berada.

Langkah 2: Buat tugas

  1. Klik Create Task untuk membuka halaman konfigurasi tugas.

  2. (Opsional) Klik New Configuration Page di pojok kanan atas jika diminta.

    Lewati langkah ini jika tombol Back to Previous Version ditampilkan. Parameter tertentu mungkin berbeda antara versi baru dan versi sebelumnya dari halaman konfigurasi. Kami menyarankan menggunakan versi baru.

Langkah 3: Konfigurasi database sumber dan tujuan

Konfigurasikan detail koneksi untuk instans ApsaraDB RDS for MySQL sumber dan instans Tablestore tujuan.

BagianParameterDeskripsi
N/ANama TugasDTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tugas tidak perlu unik.
Database SumberSelect a DMS database instancePilih database terdaftar yang sudah ada, atau konfigurasi detail koneksi secara manual. Jika Anda memilih database yang sudah ada, DTS akan mengisi parameter secara otomatis. Untuk mendaftarkan instans database Alibaba Cloud, lihat Daftarkan instans database Alibaba Cloud. Untuk mendaftarkan database yang dikelola sendiri atau database cloud pihak ketiga, lihat Daftarkan database yang di-host di layanan cloud pihak ketiga atau database yang dikelola sendiri.
Jenis DatabasePilih MySQL.
Metode AksesPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat instans ApsaraDB RDS for MySQL sumber berada.
Replikasi Data Antar Akun Alibaba CloudPilih No untuk menggunakan database dalam Akun Alibaba Cloud saat ini.
ID Instans RDSID instans ApsaraDB RDS for MySQL sumber.
Akun DatabaseAkun database. Lihat Izin yang diperlukan untuk mengetahui izin apa saja yang dibutuhkan akun ini.
Database PasswordPassword untuk akun database.
EnkripsiPilih Non-encrypted atau SSL-encrypted. Untuk menggunakan enkripsi SSL, aktifkan terlebih dahulu di instans ApsaraDB RDS for MySQL. Lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.
Database TujuanSelect a DMS database instancePilih database terdaftar yang sudah ada, atau konfigurasi detail koneksi secara manual. Untuk mendaftarkan database, lihat tautan di atas di bawah Database Sumber.
Jenis DatabasePilih Tablestore.
Metode AksesPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat instans Tablestore tujuan berada.
Instance IDID instans Tablestore tujuan.
ID AccessKey Akun Alibaba CloudID AccessKey dari Akun Alibaba Cloud yang memiliki instans Tablestore. Menggunakan ID AccessKey Pengguna Resource Access Management (RAM) dapat menyebabkan tugas gagal jika Pengguna RAM tidak memiliki izin yang diperlukan.
Rahasia AccessKey Akun Alibaba CloudRahasia AccessKey dari Akun Alibaba Cloud yang memiliki instans Tablestore.

Langkah 4: Uji konektivitas

Klik Test Connectivity and Proceed.

DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih instans database Alibaba Cloud (seperti ApsaraDB RDS for MySQL) dan ke aturan grup keamanan instans Elastic Compute Service (ECS) yang meng-host database yang dikelola sendiri. Untuk database yang di-host di pusat data lokal atau penyedia cloud pihak ketiga, tambahkan blok CIDR tersebut secara manual. Lihat Blok CIDR server DTS.

Peringatan

Menambahkan blok CIDR server DTS ke daftar putih database atau aturan grup keamanan membawa risiko keamanan. Ambil tindakan pencegahan sebelum melanjutkan, termasuk: gunakan kredensial kuat, batasi port yang terbuka, autentikasi panggilan API, audit aturan daftar putih secara berkala, dan batasi blok CIDR yang tidak sah. Sebagai alternatif, hubungkan melalui Express Connect, VPN Gateway, atau Smart Access Gateway.

Langkah 5: Konfigurasi objek sinkronisasi

Langkah ini menentukan tabel mana yang direplikasi oleh DTS, bagaimana konflik ditangani, dan bagaimana data ditulis ke Tablestore.

Synchronization options:

ParameterDeskripsi
Synchronization TypesPilih Schema Synchronization, Full Data Synchronization, dan Incremental Data Synchronization. Sinkronisasi data penuh memuat data historis terlebih dahulu; sinkronisasi inkremental kemudian menjaga tujuan tetap selaras dengan perubahan yang sedang berlangsung.
Processing Mode of Conflicting TablesPrecheck and Report Errors (default): gagal dalam Pemeriksaan Awal jika tujuan sudah memiliki tabel dengan nama yang sama. Gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang konflik jika diperlukan. Lihat Pemetaan nama objek. Ignore Errors and Proceed: melewati pemeriksaan ini. Selama sinkronisasi penuh, catatan yang sudah ada dengan kunci primer atau unik yang cocok tetap dipertahankan. Selama sinkronisasi inkremental, catatan tersebut ditimpa. Ketidaksesuaian skema antara sumber dan tujuan dapat menyebabkan sinkronisasi parsial atau kegagalan tugas. Lanjutkan dengan hati-hati.
Operation TypesOperasi DML yang akan disinkronkan. Semua jenis operasi dipilih secara default. Sesuaikan berdasarkan kebutuhan Anda.
Processing Policy of Dirty DataCara menangani error penulisan: Lewati atau Blokir.
Data Write ModeCara data ditulis ke Tablestore: Timpa Baris menggunakan operasi UpdateRowChange; Perbarui Baris menggunakan operasi PutRowChange.
Batch Write ModeCara beberapa baris ditulis sekaligus: BulkImportRequest (penulisan offline) atau BatchWriteRowRequest (penulisan multi-baris). BulkImportRequest direkomendasikan untuk throughput lebih tinggi dan biaya lebih rendah.
Capitalization of Object Names in Destination InstanceKebijakan kapitalisasi untuk nama database, tabel, dan kolom di Tablestore. Default: DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan.
Source ObjectsPilih database atau tabel yang akan disinkronkan, lalu klik 向右 untuk menambahkannya ke Selected Objects.
Selected ObjectsUntuk mengganti nama objek di tujuan, klik kanan objek tersebut. Untuk mengganti nama beberapa objek, klik Batch Edit. Lihat Pemetaan nama objek. Untuk memfilter baris berdasarkan kondisi, klik kanan tabel dan tentukan klausa WHERE. Lihat Atur kondisi filter.
Pemetaan nama database tidak didukung. Pemetaan nama objek hanya berlaku ketika tabel dipilih sebagai objek sinkronisasi. Mengganti nama objek dapat merusak objek lain yang bergantung padanya. Perubahan tipe kolom dapat dilakukan menggunakan fitur pemetaan nama kolom.

Optimasi performa (opsional):

Klik More untuk mengonfigurasi parameter penulisan Tablestore berikut:

ParameterDeskripsi
Queue SizePanjang antrian penulisan.
Thread QuantityJumlah thread callback untuk penulisan.
ConcurrencyJumlah maksimum thread konkuren untuk penulisan Tablestore.
BucketsJumlah bucket konkuren untuk penulisan inkremental berurutan. Nilai yang lebih tinggi meningkatkan throughput penulisan konkuren. Harus kurang dari atau sama dengan Konkurensi.

Langkah 6: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings untuk mengonfigurasi opsi berikut.

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menjadwalkan tugas di klaster bersama. Beli klaster khusus untuk stabilitas lebih tinggi. Lihat Apa itu klaster khusus DTS.
Retry Time for Failed ConnectionsBerapa lama DTS mencoba ulang saat sumber atau tujuan tidak dapat dijangkau. Nilai valid: 10–1440 menit. Default: 720. Kami menyarankan mengatur parameter ini ke nilai lebih dari 30. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan; jika tidak, tugas gagal. Saat beberapa tugas berbagi sumber atau tujuan, jendela coba ulang terpendek yang berlaku. Perhatikan bahwa Anda dikenai biaya untuk instans DTS selama masa coba ulang.
Retry Time for Other IssuesBerapa lama DTS mencoba ulang operasi DDL atau DML yang gagal. Nilai valid: 1–1440 menit. Default: 10. Kami menyarankan mengatur parameter ini ke nilai lebih dari 10. Harus kurang dari Retry Time for Failed Connections.
Enable Throttling for Full Data MigrationBatasi permintaan per detik (QPS) ke database sumber dan kecepatan migrasi (RPS dan MB/s) selama sinkronisasi data penuh untuk mengurangi beban pada server database tujuan. Hanya terlihat saat Full Data Synchronization dipilih.
Enable Throttling for Incremental Data SynchronizationBatasi RPS dan kecepatan sinkronisasi data (MB/s) untuk sinkronisasi inkremental.
Environment TagTag opsional untuk mengidentifikasi instans DTS di lingkungan Anda.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasksApakah DTS menulis operasi SQL tabel heartbeat ke database sumber. Yespengaturan pemberitahuan peringatan: melewati penulisan (latensi sinkronisasi mungkin muncul di Konsol). No: menulis operasi heartbeat (dapat memengaruhi backup fisik dan kloning database sumber).
Configure ETLApakah akan mengaktifkan ekstrak, transformasi, dan muat (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan data. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
Monitoring and AlertingKonfigurasi peringatan untuk kegagalan tugas atau latensi sinkronisasi tinggi. Pilih Yes untuk mengatur ambang batas peringatan dan kontak notifikasi. Lihat Konfigurasi pemantauan dan peringatan saat membuat tugas DTS.

Langkah 7: Konfigurasi kolom kunci primer untuk Tablestore

Klik Next: Configure Database and Table Fields, lalu klik OK di dialog konfirmasi.

DTS secara default memetakan kolom kunci primer setiap tabel sumber ke Tablestore. Untuk menggunakan kolom berbeda, atur Definition Status ke Semua dan pilih kolom dari daftar drop-down Primary Key Column.

Pilih beberapa kolom untuk membentuk kunci primer komposit.

Langkah 8: Jalankan Pemeriksaan Awal

Klik Next: Save Task Settings and Precheck untuk menyimpan konfigurasi dan memulai Pemeriksaan Awal.

Untuk melihat pratinjau parameter OpenAPI untuk konfigurasi tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.

DTS menjalankan Pemeriksaan Awal sebelum memulai tugas. Jika ada item yang gagal:

  1. Klik View Details di sebelah item yang gagal untuk melihat penyebabnya.

  2. Perbaiki masalah tersebut, lalu klik Precheck Again.

Jika peringatan dipicu untuk suatu item:

  • Jika peringatan dapat diabaikan: klik Confirm Alert Details, klik Ignore, klik OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

  • Jika peringatan tidak dapat diabaikan: perbaiki masalah yang mendasarinya sebelum melanjutkan.

Langkah 9: Beli instans sinkronisasi data

Tunggu hingga Tingkat Keberhasilan mencapai 100%, lalu klik Next: Purchase Instance.

Di halaman pembelian, konfigurasikan hal berikut:

ParameterDeskripsi
Billing MethodSubscription: bayar di muka; lebih hemat biaya untuk penggunaan jangka panjang. Opsi durasi: 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun. Pay-as-you-go: ditagih per jam; cocok untuk penggunaan jangka pendek. Lepaskan instans saat Anda tidak lagi membutuhkannya untuk menghindari biaya berkelanjutan.
Resource Group SettingsKelompok sumber daya untuk instans. Default: default resource group. Lihat Apa itu Resource Management?
Instance ClassTier throughput sinkronisasi. Lihat Spesifikasi instans sinkronisasi data.

Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start.

Klik OK di dialog konfirmasi. Tugas akan muncul di daftar tugas, tempat Anda dapat memantau progresnya.

Langkah selanjutnya

  • Pantau latensi sinkronisasi di Konsol DTS. Jika tidak ada operasi DML yang dilakukan di sumber dalam waktu lama, nilai latensi yang ditampilkan mungkin tidak akurat. Jalankan operasi DML apa pun di sumber untuk memperbarui nilai latensi. Jika Anda menyinkronkan seluruh database, pertimbangkan untuk membuat tabel heartbeat yang diperbarui setiap detik.

  • Untuk mengubah tabel yang disinkronkan, lihat Ubah objek yang akan disinkronkan.

  • Untuk mengoptimalkan performa penulisan setelah tugas dimulai, sesuaikan parameter Ukuran Antrian, Jumlah Thread, Konkurensi, dan Bucket di halaman pengaturan tugas.