All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data dari kluster PolarDB for MySQL ke kluster ApsaraDB for ClickHouse

Last Updated:Mar 29, 2026

Data Transmission Service (DTS) menjaga sinkronisasi real-time antara kluster PolarDB for MySQL dan kluster ApsaraDB for ClickHouse, memungkinkan analitik terpusat tanpa mengganggu database sumber Anda.

Jenis sinkronisasi dan penagihan

Jenis sinkronisasiPenagihan
Schema synchronizationGratis
Full data synchronizationGratis
Incremental data synchronizationDikenai biaya. Untuk detailnya, lihat Billing overview.

Prasyarat

Sebelum memulai, pastikan bahwa:

Penting

Log biner pada kluster sumber harus dipertahankan minimal selama tujuh hari. Periode retensi yang lebih pendek dapat menyebabkan DTS kehilangan posisinya dalam binlog, sehingga menyebabkan kegagalan tugas atau kehilangan data. Mengaktifkan binary logging menimbulkan biaya penyimpanan pada PolarDB for MySQL.

Izin yang diperlukan untuk akun database

DatabaseIzin yang diperlukanReferensi
Kluster sumber PolarDB for MySQLIzin baca pada semua objek yang akan disinkronkanMembuat dan mengelola akun database serta mengelola kata sandi akun database
ApsaraDB for ClickHouse tujuan V22.8 atau versi lebih baruIzin baca dan tulis pada database tujuan (akun istimewa dapat digunakan)Mengelola akun database di kluster Edisi yang Kompatibel dengan Komunitas
ApsaraDB for ClickHouse tujuan V21.8Read, Write and Set Permissions dan Enable DDLSama seperti di atas

Batasan

Batasan instans sumber

  • Server sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth yang tidak mencukupi memperlambat proses sinkronisasi.

  • Jika Anda menyinkronkan tabel dan ingin mengganti nama atau memodifikasi kolom di tujuan, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, bagi menjadi beberapa tugas atau sinkronkan seluruh database.

  • Jangan menjalankan operasi DDL pada sumber selama sinkronisasi data penuh. Melakukannya akan menyebabkan kegagalan tugas.

Batasan lainnya

  • DTS tidak menyinkronkan node read-only atau tabel eksternal Object Storage Service (OSS) dari kluster sumber.

  • Pernyataan DDL yang bukan sintaks standar MySQL dapat menyebabkan kegagalan tugas atau kehilangan data.

  • RENAME TABLE tidak didukung.

  • Nilai DATETIME di sumber harus berada dalam rentang waktu yang didukung oleh ClickHouse (lihat Time range).

  • Semua kolom yang dipilih sebagai Partition Key harus berupa bidang non-kosong.

  • Maksimal 256 database dapat disinkronkan ke satu kluster ApsaraDB for ClickHouse.

  • Nama database, tabel, dan kolom harus mematuhi konvensi penamaan ApsaraDB for ClickHouse. Lihat Limits on object naming conventions.

  • Selama schema synchronization, DTS menambahkan bidang _sign, _is_deleted, dan _version ke tabel tujuan. Jika Anda menonaktifkan Schema Synchronization, buat tabel tujuan secara manual dan sertakan bidang-bidang tersebut.

  • Jangan menulis data dari sumber lain ke database tujuan selama sinkronisasi. Penulisan konkuren menyebabkan ketidakkonsistenan data.

  • Jangan gunakan pt-online-schema-change untuk menjalankan DDL pada tabel yang sedang disinkronkan di tingkat tabel. Gunakan Data Management (DMS) lock-free DDL sebagai gantinya.

  • Jalankan sinkronisasi selama jam sepi jika memungkinkan. Sinkronisasi data penuh menggunakan sumber daya baca dan tulis pada kedua kluster.

  • Jika suatu tugas gagal, tim dukungan DTS akan berusaha memulihkannya dalam waktu 8 jam dan mungkin me-restart tugas atau memodifikasi parameter tugas (bukan parameter database).

Operasi SQL yang mendukung sinkronisasi data

DML

INSERT, UPDATE, dan DELETE

DDL

Operasi DDLDidukung
CREATE TABLEYa
TRUNCATE TABLEYa
ALTER TABLEYa
ADD COLUMNYa
MODIFY COLUMNYa
DROP TABLEYa
DROP COLUMNYa
RENAME TABLETidak

Pemetaan tipe data

PolarDB for MySQL dan ApsaraDB for ClickHouse mendukung tipe data yang berbeda. Selama initial schema synchronization, DTS memetakan tipe sumber ke tipe tujuan yang kompatibel. Lihat Data type mappings for initial schema synchronization.

Buat tugas sinkronisasi

Langkah 1: Buka halaman sinkronisasi data

Konsol DTS

  1. Login ke Konsol DTS

  2. Pada panel navigasi kiri, klik Data Synchronization.

  3. Pada pojok kiri atas, pilih wilayah tempat instans sinkronisasi akan berada.

Konsol DMS

Catatan

Jalur navigasi yang tepat bervariasi tergantung mode konsol DMS. Lihat Simple mode dan Customize the layout and style of the DMS console.

  1. Login ke Konsol DMS

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

  3. Dari daftar drop-down di samping Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi akan berada.

Langkah 2: Konfigurasi database sumber dan tujuan

Klik Create Task, lalu isi parameter berikut.

BagianParameterDeskripsi
N/ATask NameNama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Gunakan nama deskriptif agar mudah mengidentifikasi tugas. Nama tidak perlu unik.
Source DatabaseSelect Existing ConnectionPilih instans database terdaftar dari daftar drop-down, atau konfigurasi koneksi secara manual jika instans belum terdaftar.
Database TypePilih PolarDB for MySQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat kluster sumber PolarDB for MySQL berada.
Replicate Data Across Alibaba Cloud AccountsPilih No untuk sinkronisasi dalam akun yang sama.
PolarDB Cluster IDID kluster sumber PolarDB for MySQL.
Database AccountAkun database untuk kluster sumber.
Database PasswordKata sandi untuk akun tersebut.
EncryptionApakah koneksi ke database sumber dienkripsi. Lihat Configure SSL encryption.
Destination DatabaseSelect Existing ConnectionPilih instans terdaftar atau konfigurasi koneksi secara manual.
Database TypePilih ClickHouse.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat kluster tujuan ApsaraDB for ClickHouse berada.
Replicate Data Across Alibaba Cloud AccountsPilih No untuk sinkronisasi dalam akun yang sama.
Cluster TypeJenis kluster tujuan ApsaraDB for ClickHouse.
Cluster IDID kluster tujuan ApsaraDB for ClickHouse.
Database AccountAkun database untuk kluster tujuan.
Database PasswordKata sandi untuk akun tersebut.

Klik Test Connectivity and Proceed.

Pastikan blok CIDR server DTS telah ditambahkan ke aturan grup keamanan database sumber dan tujuan. Lihat Add the CIDR blocks of DTS servers.

Langkah 3: Konfigurasi objek yang akan disinkronkan

Pada langkah Configure Objects, atur parameter berikut.

ParameterDeskripsi
Synchronization TypesPilih Schema Synchronization, Full Data Synchronization, dan Incremental Data Synchronization. Sinkronisasi data penuh memuat data historis sebelum sinkronisasi inkremental dimulai.
Processing Mode of Conflicting TablesPrecheck and Report Errors (default): gagal dalam pemeriksaan awal jika tujuan memiliki tabel dengan nama yang sama dengan sumber. Gunakan object name mapping untuk menghindari konflik. Ignore Errors and Proceed: melewati pemeriksaan konflik. Selama sinkronisasi penuh, catatan yang sudah ada di tujuan dipertahankan; selama sinkronisasi inkremental, catatan tersebut ditimpa. Jika skema berbeda, tugas mungkin gagal. Gunakan dengan hati-hati.
Capitalization of Object Names in Destination InstanceMengontrol penanganan huruf besar/kecil untuk nama database, tabel, dan kolom. Default: DTS default policy. Lihat Specify the capitalization of object names in the destination instance.
Source ObjectsPilih database, tabel, atau kolom yang akan disinkronkan lalu klik ikon panah untuk menambahkannya ke Selected Objects.
Selected ObjectsKlik kanan objek untuk mengganti namanya, atau klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Klik kanan tabel untuk menambahkan kondisi filter SQL. Lihat Map object names dan Set filter conditions
    .
    Jika Anda menggunakan pemetaan nama objek, objek yang bergantung pada objek yang diganti nama mungkin gagal disinkronkan.

    Klik Next: Advanced Settings dan konfigurasi parameter berikut.

    ParameterDeskripsi
    Dedicated Cluster for Task SchedulingSecara default, DTS menggunakan kluster bersama. Untuk stabilitas lebih tinggi, beli kluster khusus. Lihat What is a DTS dedicated cluster.
    Time zone of destination databaseZona waktu yang diterapkan pada data DateTime yang ditulis ke kluster ClickHouse tujuan.
    Retry Time for Failed ConnectionsDurasi DTS mencoba kembali koneksi yang gagal setelah tugas dimulai. Nilai valid: 10–1440 menit. Default: 720 menit. Atur minimal 30 menit. Jika beberapa tugas berbagi sumber atau tujuan yang sama, waktu coba ulang terpendek yang berlaku. Biaya DTS tetap berjalan selama percobaan ulang.
    Retry Time for Other IssuesDurasi DTS mencoba kembali operasi DDL atau DML yang gagal. Nilai valid: 1–1440 menit. Default: 10 menit. Atur minimal 10 menit. Nilai ini harus lebih kecil dari Retry Time for Failed Connections.
    Enable Throttling for Full Data SynchronizationMembatasi beban baca dan tulis selama sinkronisasi penuh. Konfigurasi 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 SynchronizationMembatasi beban selama sinkronisasi inkremental. Konfigurasi 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 tasksYesalert notification settings: DTS tidak menulis SQL heartbeat ke sumber, yang dapat menunjukkan latensi tugas. No: DTS menulis SQL heartbeat, yang dapat memengaruhi backup fisik dan kloning sumber.
    Environment TagTag opsional untuk mengkategorikan instans sinkronisasi.
    Configure ETLApakah fitur extract, transform, and load (ETL) diaktifkan. Yes: masukkan pernyataan pemrosesan data di editor kode. Lihat Configure ETL in a data migration or data synchronization task. No: lewati ETL.
    Monitoring and AlertingYes: konfigurasi ambang batas peringatan dan kontak notifikasi agar DTS memberi peringatan saat tugas gagal atau latensi sinkronisasi melebihi ambang batas. Lihat Configure monitoring and alerting. No: tanpa peringatan.

    Klik Next: Configure Database and Table Fields untuk mengatur Type, Primary Key Column, Sort Key, Distribution Key, dan Partition Key untuk setiap tabel tujuan ClickHouse.

    DTS mengonfigurasi bidang-bidang ini secara otomatis secara default. Untuk mengubahnya, atur Definition Status ke All.
    Primary Key Column dan Sort Key menerima beberapa kolom. Distribution Key hanya menerima satu kolom.
    Partition Key bersifat opsional. Jika dikonfigurasi, semua kolom yang dipilih harus berupa bidang non-kosong.
    Untuk detail parameter tabel ClickHouse, lihat CREATE TABLE.

    Langkah 4: Jalankan pemeriksaan awal

    Klik Next: Save Task Settings and Precheck.

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

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

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

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

    Langkah 5: Beli instans

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

    2. Pada halaman buy, konfigurasi parameter berikut.

    ParameterDeskripsi
    Billing MethodSubscription: bayar di muka, lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: ditagih per jam, cocok untuk penggunaan jangka pendek. Lepaskan instans saat tidak lagi diperlukan untuk menghentikan biaya.
    Resource Group SettingsKelompok sumber daya untuk instans sinkronisasi. Default: default resource group. Lihat What is Resource Management?
    Instance ClassKelas instans menentukan kecepatan sinkronisasi. Lihat Instance classes of data synchronization instances.
    Subscription DurationTersedia hanya untuk penagihan Subscription. Opsi: 1–9 bulan, atau 1, 2, 3, atau 5 tahun.
    1. Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

    2. Klik Buy and Start, lalu klik OK dalam kotak dialog konfirmasi.

    Tugas muncul dalam daftar tugas. Pantau perkembangannya di sana.

    Kueri data yang telah disinkronkan

    Setelah sinkronisasi selesai, gunakan pernyataan berikut untuk mengkueri data di kluster ClickHouse tujuan:

    SELECT * FROM table_name FINAL WHERE _sign > 0;

    Kata kunci FINAL menggabungkan baris dengan kunci pengurutan yang sama dan mengembalikan versi terbaru. Filter WHERE _sign > 0 mengecualikan baris yang ditandai untuk penghapusan.

    Lampiran

    Rentang waktu

    Tipe dataNilai minimumNilai maksimum
    Date1970-01-01 00:00:002149-06-06 00:00:00
    Date321925-01-01 00:00:002283-11-11 00:00:00
    DateTime1970-01-01 08:00:002106-02-07 14:28:15
    DateTime641925-01-01 08:00:002283-11-12 07:59:59

    Tabel

    Jika Anda membuat tabel tujuan secara manual (tanpa schema synchronization), tabel tersebut harus memenuhi persyaratan berikut.

    Penting

    Jika tabel tujuan mencakup parameter ENGINE, atur ke ENGINE = ReplicatedReplacingMergeTree(_version, _is_deleted). Nilai lain menyebabkan ketidakkonsistenan data.

    • Community-compatible Edition: buat tabel lokal dan tabel terdistribusi. Nama tabel terdistribusi harus sesuai dengan nama tabel sumber. Nama tabel lokal mengikuti format <distributed_table_name>_local.

    • Enterprise Edition: buat tabel dengan nama yang sama dengan tabel sumber.

    Bidang

    DTS menambahkan bidang metadata berikut ke tabel tujuan.

    ApsaraDB for ClickHouse Community-compatible Edition yang menjalankan V23.8 atau versi lebih lama

    BidangTipe dataNilai defaultDeskripsi
    _signInt81Jenis operasi DML: INSERT atau UPDATE = 1; DELETE = -1.
    _versionUInt641Waktu saat baris ditulis ke kluster ClickHouse.

    ApsaraDB for ClickHouse Enterprise Edition atau Community-compatible Edition yang menjalankan V23.8 atau versi lebih baru

    BidangTipe dataNilai defaultDeskripsi
    _signInt81Jenis operasi DML: INSERT atau UPDATE = 1; DELETE = -1.
    _is_deletedUInt80Apakah baris tersebut dihapus: INSERT atau UPDATE = 0; DELETE = 1.
    _versionUInt641Timestamp saat baris ditulis ke kluster ClickHouse.