Topik ini menjelaskan cara menyinkronkan data dari PolarDB untuk MySQL ke cluster ApsaraDB untuk ClickHouse menggunakan Data Transmission Service (DTS). Ini membantu Anda mentransfer data dengan mudah dan menganalisisnya secara terpusat.
Prasyarat
Sebuah cluster ApsaraDB untuk ClickHouse yang menjalankan ClickHouse V20.8 atau lebih baru telah dibuat sebagai cluster tujuan. Untuk informasi lebih lanjut, lihat Buat Cluster ApsaraDB untuk ClickHouse.
Ruang penyimpanan yang tersedia di cluster ApsaraDB untuk ClickHouse tujuan harus lebih besar daripada ukuran total data di cluster PolarDB untuk MySQL sumber.
Catatan Penggunaan
Batasan | Deskripsi |
Batasan pada instance sumber |
|
Batasan lainnya |
|
Penagihan
| Jenis Sinkronisasi | Biaya Konfigurasi Tugas |
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
| Sinkronisasi data tambahan | Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan. |
Operasi SQL yang mendukung sinkronisasi data
Jenis Operasi | Pernyataan SQL |
DML | INSERT, UPDATE, dan DELETE |
DDL |
|
Pemetaan tipe data
Tipe data yang didukung oleh cluster PolarDB untuk MySQL dan cluster ApsaraDB untuk ClickHouse berbeda dan tidak memiliki korespondensi satu-satu. Selama sinkronisasi skema awal, DTS melakukan pemetaan tipe data berdasarkan tipe data yang didukung oleh database tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Tipe Data untuk Sinkronisasi Skema Awal.
Izin yang diperlukan untuk akun database
Tipe Database | Izin yang Diperlukan | Referensi |
Sumber cluster PolarDB for MySQL | Izin baca pada objek yang akan disinkronkan | Buat dan kelola akun database dan Kelola kata sandi akun database. |
Cluster ApsaraDB untuk ClickHouse Tujuan |
|
Prosedur
Gunakan salah satu metode berikut untuk pergi ke halaman Sinkronisasi Data dan pilih wilayah tempat instance sinkronisasi data berada.
Konsol DTS
Masuk ke Konsol DTS.
Di bilah navigasi sebelah kiri, klik Data Synchronization.
Di pojok kiri atas halaman, pilih wilayah tempat tugas sinkronisasi data berada.
Konsol DMS
CatatanOperasi aktual mungkin bervariasi berdasarkan mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Mode Sederhana dan Sesuaikan Tata Letak dan Gaya Konsol DMS.
Masuk ke Konsol DMS.
Di bilah navigasi atas, arahkan pointer ke Data + AI dan pilih .
Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instance sinkronisasi data berada.
Klik Create Task untuk pergi ke halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter.
Bagian
Parameter
Deskripsi
N/A
Task Name
Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami sarankan Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menentukan nama tugas unik.
Source Database
Select Existing Connection
Jika Anda menggunakan instance database yang terdaftar dengan DTS, pilih instance dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instance tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.
CatatanDi Konsol DMS, Anda dapat memilih instance database dari daftar drop-down Select a DMS database instance.
Jika Anda gagal mendaftarkan instance dengan DTS, atau Anda tidak perlu menggunakan instance yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Tipe database sumber. Pilih PolarDB for MySQL.
Access Method
Metode akses database sumber. Pilih Alibaba Cloud Instance.
Instance Region
Wilayah tempat cluster PolarDB untuk MySQL sumber berada.
Replicate Data Across Alibaba Cloud Accounts
Menentukan apakah data disinkronkan di antar akun Alibaba Cloud. Dalam contoh ini, No dipilih.
PolarDB Cluster ID
ID cluster PolarDB untuk MySQL sumber.
Database Account
Akun database cluster PolarDB untuk MySQL sumber. Untuk informasi lebih lanjut tentang izin yang diperlukan untuk akun database, lihat bagian Izin yang diperlukan untuk akun database dari topik ini.
Database Password
Kata sandi yang digunakan untuk mengakses database.
Encryption
Menentukan apakah akan mengenkripsi koneksi ke database sumber. Anda dapat mengonfigurasi parameter ini berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang fitur enkripsi SSL, lihat Konfigurasikan enkripsi SSL.
Destination Database
Select Existing Connection
Jika Anda menggunakan instance database yang terdaftar dengan DTS, pilih instance dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instance tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.
CatatanDi Konsol DMS, Anda dapat memilih instance database dari daftar drop-down Select a DMS database instance.
Jika Anda gagal mendaftarkan instance dengan DTS, atau Anda tidak perlu menggunakan instance yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Tipe database tujuan. Pilih ClickHouse.
Access Method
Metode akses database tujuan. Pilih Alibaba Cloud Instance.
Instance Region
Wilayah tempat cluster ApsaraDB untuk ClickHouse tujuan berada.
Replicate Data Across Alibaba Cloud Accounts
Menentukan apakah data disinkronkan di antar akun Alibaba Cloud. Dalam contoh ini, No dipilih.
Cluster Type
Tipe cluster ApsaraDB untuk ClickHouse tujuan
Cluster ID
ID cluster ApsaraDB untuk ClickHouse tujuan.
Database Account
Akun database cluster ApsaraDB untuk ClickHouse tujuan. Untuk informasi tentang izin yang diperlukan untuk akun database, lihat bagian Izin yang diperlukan untuk akun database dari topik ini.
Database Password
Kata sandi yang digunakan untuk mengakses database.
Di bagian bawah halaman, klik Test Connectivity and Proceed.
CatatanPastikan bahwa blok CIDR server DTS dapat ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS.
Konfigurasikan objek yang akan disinkronkan.
Di langkah Configure Objects, konfigurasikan objek yang ingin Anda sinkronkan.
Parameter
Deskripsi
Synchronization Types
Jenis sinkronisasi. Secara default, Incremental Data Synchronization dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pra-pemeriksaan selesai, DTS menyinkronkan data historis objek yang dipilih dari database sumber ke cluster tujuan. Data historis adalah dasar untuk sinkronisasi tambahan selanjutnya.
Processing Mode of Conflicting Tables
Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang memiliki nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama yang identik, pra-pemeriksaan berhasil dilewati. Jika tidak, kesalahan akan dikembalikan selama pra-pemeriksaan, dan tugas sinkronisasi data tidak dapat dimulai.
CatatanJika database sumber dan tujuan berisi tabel dengan nama yang sama dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang disinkronkan ke database tujuan. Untuk informasi lebih lanjut, lihat Peta nama objek.
Ignore Errors and Proceed: melewati pra-pemeriksaan untuk nama tabel yang identik di database sumber dan tujuan.
PeringatanJika Anda memilih Ignore Errors and Proceed, ketidaksesuaian data mungkin terjadi dan bisnis Anda mungkin terpapar risiko potensial.
Jika database sumber dan tujuan memiliki skema yang sama dan catatan data di database tujuan memiliki nilai kunci utama atau nilai kunci unik yang sama dengan catatan data di database sumber:
Selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.
Selama sinkronisasi data tambahan, DTS menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.
Jika database sumber dan tujuan memiliki skema yang berbeda, data mungkin gagal diinisialisasi. Dalam hal ini, hanya beberapa kolom yang disinkronkan, atau instance sinkronisasi data gagal. Lanjutkan dengan hati-hati.
Capitalization of Object Names in Destination Instance
Huruf besar-kecil nama database, tabel, dan kolom di instance tujuan. Secara default, DTS default policy dipilih. Anda dapat memilih opsi lain untuk memastikan bahwa huruf besar-kecil nama objek konsisten dengan yang ada di database sumber atau tujuan. Untuk informasi lebih lanjut, lihat Tentukan huruf besar-kecil nama objek di instance tujuan.
Source Objects
Pilih satu atau lebih objek dari bagian Source Objects dan klik ikon
untuk menambahkan objek ke bagian Selected Objects. CatatanAnda dapat memilih database, tabel, atau kolom sebagai objek yang akan disinkronkan.
Selected Objects
Untuk mengganti nama objek yang ingin Anda sinkronkan ke instance tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi lebih lanjut, lihat bagian "Peta nama objek tunggal" dari topik Peta nama objek.
Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi lebih lanjut, lihat bagian "Peta beberapa nama objek sekaligus" dari topik Peta nama objek.
CatatanUntuk menentukan kondisi filter untuk menyinkronkan data yang memenuhi kondisi tertentu, klik kanan tabel yang akan disinkronkan di bagian Selected Objects. Di kotak dialog yang muncul, tentukan satu atau lebih kondisi SQL. Untuk informasi lebih lanjut, lihat Atur kondisi filter.
Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang diganti namanya mungkin gagal disinkronkan.
Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas instance sinkronisasi data, beli klaster khusus. Untuk informasi lebih lanjut, lihat Apa Itu Klaster Khusus DTS.
Time zone of destination database
Zona waktu untuk tipe data tanggal dan waktu seperti DateTime. Anda dapat memilih zona waktu selama sinkronisasi data ke cluster ClickHouse tujuan.
Retry Time for Failed Connections
Rentang waktu ulang untuk koneksi gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas sinkronisasi data dimulai, DTS segera mencoba kembali koneksi dalam rentang waktu tersebut. Nilai valid: 10 hingga 1440. Unit: menit. Nilai default: 720. Kami sarankan Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS tersambung kembali ke database sumber dan tujuan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
CatatanJika Anda menentukan rentang waktu ulang yang berbeda untuk beberapa tugas sinkronisasi data yang memiliki database sumber atau tujuan yang sama, rentang waktu ulang terpendek yang diambil.
Ketika DTS mencoba kembali koneksi, Anda akan dikenakan biaya untuk instance DTS. Kami sarankan Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS sesegera mungkin setelah instance sumber dan tujuan dilepaskan.
Retry Time for Other Issues
Rentang waktu ulang untuk masalah lainnya. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas sinkronisasi data dimulai, DTS segera mencoba lagi operasi dalam rentang waktu tersebut. Nilai valid: 1 hingga 1440. Unit: menit. Nilai default: 10. Kami sarankan Anda mengatur parameter ini ke nilai lebih dari 10. Jika operasi yang gagal berhasil dilakukan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
PentingNilai parameter Retry Time for Other Issues harus lebih kecil dari nilai parameter Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama sinkronisasi data penuh, DTS menggunakan sumber daya baca-tulis dari database sumber dan tujuan. Ini dapat meningkatkan beban pada server database. Anda dapat mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk tugas sinkronisasi data penuh untuk mengurangi beban pada server database tujuan.
CatatanAnda hanya dapat mengonfigurasi parameter ini jika Full Data Synchronization dipilih untuk parameter Synchronization Types.
Enable Throttling for Incremental Data Synchronization
Menentukan apakah akan mengaktifkan pembatasan untuk sinkronisasi data tambahan. Anda dapat mengaktifkan pembatasan untuk sinkronisasi data tambahan berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s). Ini mengurangi beban pada server database tujuan.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Menentukan apakah akan menulis operasi SQL pada tabel denyut nadi ke database sumber saat instance DTS sedang berjalan. Nilai valid:
Yes: tidak menulis operasi SQL pada tabel denyut nadi. Dalam hal ini, latensi instance DTS mungkin ditampilkan.
No: menulis operasi SQL pada tabel denyut nadi. Dalam hal ini, fitur seperti cadangan fisik dan kloning database sumber mungkin terpengaruh.
Environment Tag
Anda dapat menambahkan tag lingkungan ke instance database berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, tidak ada tag lingkungan yang dipilih.
Configure ETL
Menentukan apakah akan mengaktifkan fitur ekstraksi, transformasi, dan pemuatan (ETL). Untuk informasi lebih lanjut, lihat Apa Itu ETL? Nilai valid:
Yes: mengonfigurasi fitur ETL. Anda dapat memasukkan pernyataan pemrosesan data di editor kode. Untuk informasi lebih lanjut, lihat Konfigurasikan ETL dalam Tugas Migrasi Data atau Sinkronisasi Data.
No: tidak mengonfigurasi fitur ETL.
Monitoring and Alerting
Menentukan apakah akan mengonfigurasi peringatan untuk instance sinkronisasi data. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai valid:
No: tidak mengaktifkan peringatan.
Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi lebih lanjut, lihat bagian "Konfigurasikan Pemantauan dan Peringatan Saat Membuat Tugas DTS" dari topik Konfigurasikan Pemantauan dan Peringatan.
Klik Next: Configure Database and Table Fields untuk mengonfigurasi informasi Type, Primary Key Column, Sort Key, Distribution Key, dan Partition Key untuk tabel yang akan disinkronkan di ClickHouse.
CatatanSecara default, parameter ini dikonfigurasi oleh DTS. Untuk memodifikasi parameter, atur parameter Definition Status ke All.
Anda dapat memilih beberapa kolom untuk parameter Primary Key Column atau Sort Key dari daftar drop-down yang sesuai. Satu atau lebih kolom yang ditentukan untuk parameter Primary Key Column dapat dipilih untuk parameter Partition Key. Anda hanya dapat memilih satu kolom untuk parameter Distribution Key. Untuk informasi lebih lanjut, lihat CREATE TABLE.
Parameter Partition Key bersifat opsional. Namun, jika Anda mengonfigurasi parameter ini, semua kolom yang dipilih dari parameter Kunci Partisi harus berupa bidang non-kosong. Jika tidak, tugas sinkronisasi gagal.
Simpan pengaturan tugas dan jalankan pra-pemeriksaan.
Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, arahkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Jika Anda tidak perlu melihat atau telah melihat parameter tersebut, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pra-pemeriksaan. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas berhasil melewati pra-pemeriksaan.
Jika tugas sinkronisasi data gagal dalam pra-pemeriksaan, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Lalu, jalankan kembali pra-pemeriksaan.
Jika peringatan dipicu untuk suatu item selama pra-pemeriksaan:
Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Lalu, jalankan pra-pemeriksaan lagi.
Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Lalu, klik Precheck Again untuk menjalankan pra-pemeriksaan lagi. Jika Anda mengabaikan item peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.
Beli instance.
Tunggu hingga Success Rate menjadi 100%. Lalu, klik Next: Purchase Instance.
Di halaman buy, konfigurasikan parameter Metode Penagihan dan Kelas Instance untuk tugas sinkronisasi data. Tabel berikut menjelaskan parameter.
Bagian
Parameter
Deskripsi
New Instance Class
Metode Penagihan
Langganan: Anda membayar langganan saat membuat instance sinkronisasi data. Metode penagihan langganan lebih hemat biaya daripada metode penagihan bayar sesuai pemakaian untuk penggunaan jangka panjang.
Bayar sesuai pemakaian: Instance bayar sesuai pemakaian dibebankan per jam. Metode penagihan bayar sesuai pemakaian cocok untuk penggunaan jangka pendek. Jika Anda tidak lagi memerlukan instance sinkronisasi data bayar sesuai pemakaian, Anda dapat melepaskan instance untuk mengurangi biaya.
Pengaturan Grup Sumber Daya
Grup sumber daya tempat instance sinkronisasi data berada. Nilai default: default resource group. Untuk informasi lebih lanjut, lihat Apa itu Manajemen Sumber Daya?
Kelas Instance
DTS menyediakan kelas instance yang bervariasi dalam kecepatan sinkronisasi. Anda dapat memilih kelas instance berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Kelas instance dari instance sinkronisasi data.
Durasi Langganan
Jika Anda memilih metode penagihan langganan, tentukan durasi langganan dan jumlah instance sinkronisasi data yang ingin Anda buat. Durasi langganan bisa satu hingga sembilan bulan, satu tahun, dua tahun, tiga tahun, atau lima tahun.
CatatanParameter ini tersedia hanya jika Anda memilih metode penagihan Subscription.
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start. Di kotak dialog yang muncul, klik OK.
Anda dapat melihat kemajuan tugas di daftar tugas.
Lampiran
Rentang Waktu
Tipe Data | Nilai Minimum | Nilai Maksimum |
Date | 1970-01-01 00:00:00 | 2149-06-06 00:00:00 |
Date32 | 1925-01-01 00:00:00 | 2283-11-11 00:00:00 |
DateTime | 1970-01-01 08:00:00 | 2106-02-07 14:28:15 |
DateTime64 | 1925-01-01 08:00:00 | 2283-11-12 07:59:59 |
Tabel dan Bidang
Tabel
Jika Anda tidak menggunakan fitur pemetaan nama objek, pastikan bahwa tabel yang Anda buat memenuhi persyaratan berikut:
Jika tabel tujuan berisi parameter ENGINE, parameter tersebut harus diatur ke ENGINE = ReplicatedReplacingMergeTree(_version, _is_deleted). Jika tidak, ketidaksesuaian data mungkin terjadi.
Jika database tujuan adalah cluster ApsaraDB untuk ClickHouse Edisi Kompatibel Komunitas, Anda harus membuat tabel lokal dan tabel terdistribusi. Nama tabel terdistribusi harus sama dengan nama tabel sumber. Nama tabel lokal dalam format
<Nama Tabel Terdistribusi>+_local.Jika database tujuan adalah cluster ApsaraDB untuk ClickHouse Edisi Perusahaan, Anda harus membuat tabel dengan nama yang sama dengan tabel sumber.
Bidang
Anda dapat menjalankan pernyataan select * from table_name final where _sign>0; untuk menanyakan data yang disinkronkan ke cluster ApsaraDB untuk ClickHouse. Dalam pernyataan ini, klausa WHERE dapat digunakan untuk memfilter data yang dihapus, dan bidang final di belakang nama tabel dapat digunakan untuk memfilter data dengan kunci urutan yang sama.
Versi | Bidang | Tipe Data | Nilai Default | Deskripsi |
Cluster ApsaraDB untuk ClickHouse Edisi Kompatibel Komunitas yang menjalankan ClickHouse V23.8 atau lebih lama | _sign | Int8 | 1 | Jenis operasi DML. Nilai valid:
|
_version | UInt64 | 1 | Timestamp saat data ditulis ke cluster ClickHouse. | |
Cluster ApsaraDB untuk ClickHouse Edisi Perusahaan atau cluster ApsaraDB untuk ClickHouse Edisi Kompatibel Komunitas yang menjalankan CLickHouse V23.8 atau lebih baru | _sign | Int8 | 1 | Jenis operasi DML. Nilai valid:
|
_is_deleted | UInt8 | 0 | Menentukan apakah catatan data dihapus. Nilai valid:
| |
_version | UInt64 | 1 | Timestamp saat data ditulis ke cluster ClickHouse. |