All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data dari PolarDB-X 2.0 ke SelectDB

Last Updated:Mar 29, 2026

Gunakan Data Transmission Service (DTS) untuk mereplikasi data dari instans PolarDB-X 2.0 ke instans ApsaraDB for SelectDB. DTS menangani sinkronisasi skema, pemuatan data penuh, dan replikasi inkremental berkelanjutan melalui binlog.

Penting

Fitur ini berada dalam fase pengujian grayscale dan hanya tersedia untuk sebagian pengguna.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

Penagihan

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

Batasan

Persyaratan database sumber

  • Bandwidth: Server yang menghosting database sumber harus memiliki bandwidth outbound minimal 100 Mbit/s. Bandwidth yang lebih rendah mengurangi kecepatan sinkronisasi.

  • Jenis instans: Instans hanya baca Edisi Perusahaan PolarDB-X 2.0 tidak didukung.

  • Objek yang tidak didukung: INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER, dan FK tidak dapat disinkronkan. Objek TABLEGROUP serta database atau skema dengan atribut Locality juga tidak didukung.

  • Nama tabel: Tabel yang namanya mengandung huruf kapital tidak dapat disinkronkan.

  • Persyaratan kunci primer: Tabel harus memiliki PRIMARY KEY atau kendala UNIQUE dengan semua bidang unik. Tanpa ini, catatan duplikat mungkin muncul di tujuan.

  • Batas tabel per tugas: Jika Anda memilih tabel individual sebagai objek untuk disinkronkan dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 5.000 tabel. Untuk lebih dari 5.000 tabel, bagi menjadi beberapa tugas atau sinkronkan pada tingkat database.

  • Pencatatan biner: Pencatatan biner diaktifkan secara default pada PolarDB-X 2.0. Verifikasi bahwa parameter binlog_row_image diatur ke full. Jika tidak, pemeriksaan awal gagal dan tugas tidak dapat dimulai. Lihat Pengaturan parameter.

  • DDL selama sinkronisasi: Jangan menjalankan pernyataan DDL yang mengubah skema database atau tabel selama sinkronisasi skema atau sinkronisasi data penuh. Melakukannya menyebabkan tugas gagal.

  • Perubahan jaringan: Jika konfigurasi jaringan instans PolarDB-X 2.0 berubah, instans sinkronisasi mungkin mengalami latensi selama periode tertentu.

Persyaratan database tujuan

  • Jenis tabel yang didukung: Data hanya dapat disinkronkan ke tabel dengan mesin Unique atau Duplicate di SelectDB.

  • Tabel mesin Unique: Semua kunci unik di tabel tujuan harus ada di tabel sumber dan termasuk dalam objek yang akan disinkronkan. Kunci yang hilang menyebabkan ketidakkonsistenan data.

  • Tabel mesin Duplicate: Catatan duplikat mungkin muncul ketika instans sinkronisasi dicoba ulang atau dimulai ulang, atau ketika catatan yang sama dimodifikasi oleh operasi DML lebih dari sekali setelah tugas dimulai. DTS mengonversi pernyataan UPDATE dan DELETE menjadi pernyataan INSERT untuk tabel mesin Duplicate. Gunakan kolom tambahan (_is_deleted, _version, _record_id) untuk menghapus duplikat. Lihat Kolom tambahan untuk tabel mesin Duplicate.

  • Jangan membuat kluster selama sinkronisasi: Membuat kluster di instans SelectDB tujuan saat tugas sedang berjalan menyebabkan tugas gagal. Jika tugas gagal, mulai ulang instans sinkronisasi untuk melanjutkan.

  • Jangan menambahkan node backend selama sinkronisasi: Menambahkan node backend ke database SelectDB selama sinkronisasi menyebabkan tugas gagal. Mulai ulang instans sinkronisasi untuk melanjutkan.

  • Persyaratan penamaan: SelectDB hanya mendukung nama database dan tabel yang dimulai dengan huruf. Gunakan fitur pemetaan nama objek untuk mengganti nama database atau tabel apa pun yang namanya dimulai dengan karakter non-huruf.

  • Nama karakter Tionghoa: Jika nama database, tabel, atau kolom mengandung karakter Tionghoa, gunakan fitur pemetaan nama objek untuk mengganti namanya sebelum disinkronkan. Jika tidak, tugas mungkin gagal.

  • Perbedaan panjang VARCHAR: Di PolarDB-X 2.0, VARCHAR(M) mendefinisikan panjang karakter. Di SelectDB, VARCHAR(N) mendefinisikan panjang byte. Jika Anda tidak menggunakan sinkronisasi skema DTS, atur panjang bidang VARCHAR di SelectDB menjadi 4 kali panjang yang sesuai di PolarDB-X 2.0 untuk menghindari kehilangan data.

  • Batasan DDL: Anda tidak dapat memodifikasi operasi DDL pada beberapa kolom sekaligus, atau menjalankan operasi DDL berturut-turut pada tabel yang sama.

Pertimbangan operasional

  • Penulisan heartbeat: DTS secara berkala menjalankan CREATE DATABASE IF NOT EXISTS `test` di database sumber untuk menulis data heartbeat yang memajukan posisi binlog. Jika Anda mengatur Whether to delete SQL operations on heartbeat tables of forward and reverse tasks ke Yes (atau akun sumber tidak memiliki izin CREATE DATABASE), dan tidak ada operasi DML yang dijalankan di sumber untuk periode yang lama, latensi sinkronisasi yang ditampilkan mungkin tidak akurat. Untuk memperbarui tampilan latensi, jalankan operasi DML di database sumber.

  • Parameter `bucket_count`: Di bagian Selected Objects, Anda dapat menentukan parameter bucket_count. Nilainya harus bilangan bulat positif. Nilai default adalah auto.

  • Beban sinkronisasi data penuh: Selama sinkronisasi data penuh, DTS menggunakan resource baca dan tulis di kedua database sumber dan tujuan, yang meningkatkan beban server. Jalankan tugas selama jam sepi, ketika penggunaan CPU di kedua database di bawah 30%.

  • Fragmentasi storage: Operasi INSERT konkuren selama inisialisasi penuh mungkin meninggalkan fragmen di tabel tujuan. Setelah inisialisasi penuh, tabel tujuan mungkin menempati ruang penyimpanan lebih besar daripada padanannya di sumber.

  • Penulisan eksternal selama sinkronisasi: Jika sumber selain DTS menulis ke database tujuan selama sinkronisasi, ketidakkonsistenan data mungkin terjadi dan tugas mungkin gagal.

  • Pemulihan kegagalan tugas: Jika tugas DTS gagal, dukungan DTS mencoba memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas mungkin dimodifikasi. Parameter database tidak dimodifikasi. Parameter yang mungkin dimodifikasi mencakup tetapi tidak terbatas pada parameter dalam bagian "Modify instance parameters" pada topik Modify the parameters of a DTS instance.

Operasi SQL yang didukung untuk sinkronisasi inkremental

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
DDLADD COLUMN; DROP COLUMN; DROP TABLE; TRUNCATE TABLE; RENAME TABLE
Penting

RENAME TABLE dapat menyebabkan ketidakkonsistenan data jika Anda memilih tabel (bukan database induknya) sebagai objek sinkronisasi. Jika sebuah tabel diganti namanya dan database induk barunya tidak termasuk dalam objek yang disinkronkan, data untuk tabel tersebut berhenti disinkronkan. Untuk menghindarinya, pilih database sebagai objek sinkronisasi, bukan tabel individual.

Izin yang diperlukan untuk akun database

DatabaseIzin yang diperlukanReferensi
PolarDB-X 2.0 sumberREPLICATION SLAVE, REPLICATION CLIENT, SELECT (pada objek yang akan disinkronkan)Mengelola akun database dan Masalah izin akun saat sinkronisasi data
SelectDB tujuanUsage_priv (akses kluster), Select_priv, Load_priv, Alter_priv, Create_priv, Drop_privCluster permission management dan Basic permission management

Buat tugas sinkronisasi data

Prosedur ini terdiri dari tujuh langkah:

  1. Buka halaman Sinkronisasi Data.

  2. Konfigurasikan database sumber dan tujuan.

  3. Pilih objek untuk disinkronkan.

  4. Konfigurasikan pengaturan lanjutan.

  5. (Opsional) Konfigurasikan bidang database dan tabel.

  6. Jalankan pemeriksaan awal.

  7. Beli instans.

Langkah 1: Buka halaman Sinkronisasi Data

Gunakan Konsol DTS atau Konsol DMS.

Konsol DTS:

  1. Masuk ke Konsol DTS.

  2. Di panel navigasi kiri, klik Data Synchronization.

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

Konsol DMS:

Langkah-langkah tepatnya mungkin berbeda tergantung pada mode dan tata letak Konsol DMS Anda. Lihat Simple mode dan Customize the layout and style of the DMS console.
  1. Masuk ke Konsol DMS.

  2. Di bilah navigasi atas, arahkan kursor 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: Konfigurasikan database sumber dan tujuan

  1. Klik Create Task.

  2. Konfigurasikan parameter yang dijelaskan dalam tabel berikut.

    BagianParameterDeskripsi
    N/ATask NameNama deskriptif untuk tugas DTS ini. DTS menghasilkan nama default. Nama tidak perlu unik.
    Source DatabaseSelect Existing ConnectionPilih instans database terdaftar untuk mengisi otomatis parameter koneksi, atau konfigurasikan koneksi secara manual.
    Database TypePilih PolarDB-X 2.0.
    Access MethodPilih Alibaba Cloud Instance.
    Instance RegionPilih wilayah instans PolarDB-X 2.0 sumber.
    Replicate Data Across Alibaba Cloud AccountsPilih No untuk menggunakan instans di Akun Alibaba Cloud saat ini.
    Instance IDPilih ID instans PolarDB-X 2.0 sumber.
    Database AccountMasukkan akun untuk database sumber. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
    Database PasswordMasukkan password untuk akun database sumber.
    Destination DatabaseSelect Existing ConnectionPilih instans database terdaftar untuk mengisi otomatis parameter koneksi, atau konfigurasikan koneksi secara manual.
    Database TypePilih SelectDB.
    Access MethodPilih Alibaba Cloud Instance.
    Instance RegionPilih wilayah instans SelectDB tujuan.
    Replicate Data Across Alibaba Cloud AccountsPilih No untuk menggunakan instans di Akun Alibaba Cloud saat ini.
    Instance IDPilih ID instans SelectDB tujuan.
    Database AccountMasukkan akun untuk database tujuan. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
    Database PasswordMasukkan password untuk akun database tujuan.
  3. Klik Test Connectivity and Proceed.

    Blok CIDR server DTS harus ditambahkan ke pengaturan keamanan database sumber dan tujuan. Ini mungkin terjadi secara otomatis, atau Anda mungkin perlu menambahkannya secara manual. Lihat Add the CIDR blocks of DTS servers.

Langkah 3: Pilih objek untuk disinkronkan

Pada langkah Configure Objects, konfigurasikan parameter berikut:

ParameterDeskripsi
Synchronization TypesPilih Schema Synchronization, Full Data Synchronization, dan Incremental Data Synchronization. Incremental Data Synchronization dipilih secara default. Sinkronisasi data penuh memuat data yang ada di sumber ke tujuan sebelum sinkronisasi inkremental dimulai.
Penting

Jika Anda tidak memilih Schema Synchronization, buat tabel model Unique atau Duplicate di instans SelectDB tujuan secara manual sebelum memulai tugas. Lihat Data type mapping, Additional columns for Duplicate engine tables, dan Data model.

Processing Mode of Conflicting TablesPrecheck and Report Errors: Pemeriksaan awal gagal jika tujuan berisi tabel dengan nama yang sama seperti tabel sumber. Ini adalah opsi default yang aman. Jika nama tabel identik ada dan tidak dapat dihapus atau diganti namanya di tujuan, gunakan fitur pemetaan nama objek untuk mengganti namanya. Lihat Map object names. Ignore Errors and Proceed: Melewati pemeriksaan nama tabel identik.
Peringatan

Ini dapat menyebabkan ketidakkonsistenan data. Selama sinkronisasi penuh, catatan dengan nilai kunci primer atau unik yang cocok dilewati; catatan tujuan yang ada dipertahankan. Selama sinkronisasi inkremental, catatan yang cocok menimpa tujuan. Jika skema berbeda, inisialisasi mungkin gagal atau hanya beberapa kolom yang disinkronkan.

Capitalization of Object Names in Destination InstanceMengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default adalah DTS default policy. Lihat Specify the capitalization of object names in the destination instance.
Source ObjectsPilih database atau tabel dari bagian Source Objects lalu klik ikon 向右 untuk memindahkannya ke Selected Objects.
Selected ObjectsKlik kanan objek untuk mengganti namanya, memfilter baris dengan kondisi WHERE, atau memilih operasi SQL tertentu untuk disinkronkan. Jika Anda memilih Schema Synchronization, klik kanan tabel, aktifkan Parameter Settings, atur bucket_count ke bilangan bulat positif, lalu klik OK.
Catatan

Mengganti nama objek dengan fitur pemetaan nama objek dapat menyebabkan objek dependen gagal disinkronkan. Lihat Specify filter conditions.

Langkah 4: Konfigurasikan pengaturan lanjutan

Klik Next: Advanced Settings dan konfigurasikan parameter berikut:

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menggunakan kluster bersama. Untuk stabilitas lebih tinggi, beli dan pilih kluster khusus. Lihat What is a DTS dedicated cluster.
Retry Time for Failed ConnectionsBerapa lama DTS mencoba ulang koneksi yang gagal sebelum tugas gagal. Nilai valid: 10–1.440 menit. Default: 720. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 30. Jika beberapa tugas berbagi sumber atau tujuan yang sama, waktu coba ulang terpendek yang berlaku. DTS menagih instans selama percobaan ulang.
Retry Time for Other IssuesBerapa lama DTS mencoba ulang operasi DDL atau DML yang gagal sebelum tugas gagal. Nilai valid: 1–1.440 menit. Default: 10. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 10. Harus kurang dari Retry Time for Failed Connections.
Enable Throttling for Full Data SynchronizationBatasi beban baca/tulis di sumber dan tujuan selama sinkronisasi data penuh dengan mengatur Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Tersedia hanya jika Full Data Synchronization dipilih.
Enable Throttling for Incremental Data SynchronizationBatasi beban selama sinkronisasi inkremental dengan mengatur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Whether to delete SQL operations on heartbeat tables of forward and reverse tasksYes: DTS tidak menulis operasi heartbeat ke database sumber. Latensi sinkronisasi yang ditampilkan mungkin tidak akurat jika tidak ada aktivitas DML di sumber untuk periode yang lama. No: DTS menulis operasi heartbeat, yang mungkin memengaruhi pencadangan fisik dan kloning database sumber.
Environment TagTag opsional untuk mengidentifikasi instans DTS.
Configure ETLYes: Konfigurasikan pemrosesan ekstrak, transformasi, dan muat (ETL) dengan pernyataan pemrosesan data. Lihat Configure ETL in a data migration or data synchronization task. No: Lewati konfigurasi ETL.
Monitoring and AlertingYes: Konfigurasikan ambang batas peringatan dan penerima notifikasi untuk kegagalan tugas atau lonjakan latensi. Lihat Configure monitoring and alerting when you create a DTS task. No: Tidak ada peringatan.

Langkah 5: (Opsional) Konfigurasikan bidang database dan tabel

Klik Next: Configure Database and Table Fields untuk menentukan cara DTS memetakan struktur tabel sumber ke tujuan.

Langkah ini hanya tersedia jika Schema Synchronization dipilih. Atur Definition Status ke All untuk melihat dan mengedit semua tabel.
ParameterDeskripsi
Primary Key ColumnPilih satu atau beberapa kolom sebagai kunci primer di tujuan.
Distribution KeyPilih satu atau beberapa kolom dari kolom kunci primer sebagai kunci distribusi.
EnginePilih mesin tabel tujuan: Unique atau Duplicate. Jika tabel sumber tidak memiliki kunci primer atau kendala UNIQUE, pilih duplicate. Menggunakan mesin yang salah dapat menyebabkan tugas gagal atau kehilangan data.

Langkah 6: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

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

DTS menjalankan pemeriksaan awal sebelum tugas dimulai. Jika pemeriksaan awal gagal:

  • Klik View Details di sebelah item yang gagal, perbaiki masalah yang dilaporkan, lalu klik Precheck Again.

  • Jika suatu item menghasilkan peringatan yang dapat diabaikan, klik Confirm Alert Details, lalu Ignore, lalu OK, kemudian Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

Langkah 7: Beli instans

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

  2. Di halaman buy, konfigurasikan parameter berikut:

    BagianParameterDeskripsi
    New Instance ClassBilling MethodSubscription: Bayar di muka untuk jangka waktu tetap. Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: Ditagih per jam. Lepaskan instans saat tidak lagi diperlukan untuk menghentikan tagihan.
    Resource Group SettingsKelompok sumber daya untuk instans ini. Default: default resource group. Lihat What is Resource Management?
    Instance ClassKecepatan sinkronisasi bervariasi berdasarkan kelas instans. Lihat Instance classes of data synchronization instances.
    Subscription DurationTersedia hanya untuk metode penagihan Subscription. Nilai valid: 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun.
  3. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms.

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

Tugas muncul di daftar tugas. Pantau perkembangannya di sana.

Pemetaan tipe data

DTS secara otomatis mengonversi tipe data PolarDB-X 2.0 ke tipe SelectDB yang kompatibel selama sinkronisasi skema. Tinjau pemetaan sebelum sinkronisasi untuk mengidentifikasi kolom yang memerlukan penyesuaian skema.

KategoriTipe PolarDB-X 2.0Tipe SelectDBCatatan
NumerikTINYINTTINYINT
TINYINT UNSIGNEDSMALLINTRentang unsigned melebihi TINYINT; dinaikkan ke SMALLINT.
SMALLINTSMALLINT
SMALLINT UNSIGNEDINT
MEDIUMINTINT
MEDIUMINT UNSIGNEDBIGINT
INTINT
INT UNSIGNEDBIGINT
BIGINTBIGINT
BIGINT UNSIGNEDLARGEINT
BIT(M)INT
DesimalDECIMALDECIMALzerofill tidak didukung.
NUMERICDECIMAL
FLOATFLOAT
DOUBLEDOUBLE
BOOL / BOOLEANBOOLEAN
Tanggal dan waktuDATEDATEV2
DATETIME[(fsp)]DATETIMEV2
TIMESTAMP[(fsp)]DATETIMEV2
TIME[(fsp)]VARCHARSelectDB tidak memiliki tipe TIME; disimpan sebagai string.
YEAR[(4)]INT
StringCHAR, VARCHARVARCHARDikonversi ke VARCHAR(4xn) untuk mencegah kehilangan data, karena PolarDB-X 2.0 menghitung karakter sedangkan SelectDB menghitung byte. Jika panjang tidak ditentukan, default menjadi VARCHAR(65533). Jika panjang yang dikonversi melebihi 65533, tipe menjadi STRING.
BINARY, VARBINARYSTRING
TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXTSTRING
TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOBSTRING
ENUMSTRING
SETSTRING
JSONSTRING

Kolom tambahan untuk tabel mesin Duplicate

DTS secara otomatis menambahkan kolom berikut ke tabel mesin Duplicate di tujuan. Jika Anda membuat tabel tujuan secara manual (tanpa menggunakan sinkronisasi skema DTS), tambahkan kolom ini sebelum memulai tugas.

KolomTipe dataDefaultDeskripsi
_is_deletedINT0Menunjukkan apakah catatan dihapus. 0 untuk INSERT dan UPDATE; 1 untuk DELETE.
_versionBIGINT0Timestamp versi. 0 untuk catatan yang dimuat selama sinkronisasi penuh. Untuk catatan inkremental, timestamp (dalam detik) dari binlog sumber.
_record_idBIGINT0Pengidentifikasi catatan unik. 0 untuk catatan sinkronisasi penuh. Untuk catatan inkremental, ID catatan unik yang bertambah dari log inkremental.

Gunakan kolom ini untuk mengidentifikasi dan menghapus catatan duplikat saat deduplikasi diperlukan.