Topik ini menjelaskan cara menyinkronkan data inkremental dari PolarDB untuk MySQL ke DataHub secara real-time menggunakan Data Transmission Service (DTS). Setelah sinkronisasi, Anda dapat menggunakan layanan big data seperti Realtime Compute for Apache Flink untuk menganalisis data secara real-time.
Prasyarat
Klaster PolarDB untuk MySQL telah dibuat. Untuk informasi lebih lanjut, lihat Pembelian Kustom dan Beli Klaster Langganan.
DataHub telah diaktifkan, dan sebuah proyek telah dibuat untuk menerima data yang akan disinkronkan. Untuk informasi lebih lanjut, lihat Memulai dengan DataHub dan Kelola Proyek.
Fitur pencatatan biner diaktifkan untuk klaster PolarDB untuk MySQL. Untuk informasi lebih lanjut, lihat Aktifkan Pencatatan Biner.
Batasan
DTS tidak menyinkronkan kunci asing dari database sumber ke database tujuan. Oleh karena itu, operasi cascade dan delete pada database sumber tidak disinkronkan ke database tujuan.
Kategori | Deskripsi |
Batasan pada database sumber |
|
Batasan lainnya |
|
Kasus khusus | DTS mengeksekusi pernyataan CREATE DATABASE IF NOT EXISTS `test` di database sumber sesuai jadwal untuk memajukan posisi file log biner. |
Penagihan
Jenis Sinkronisasi | Biaya Konfigurasi Tugas |
Sinkronisasi Skema dan Data Penuh | Gratis. |
Sinkronisasi Data Inkremental | Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan. |
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi satu arah banyak-ke-satu
Sinkronisasi satu arah bertingkat
Untuk informasi lebih lanjut tentang topologi sinkronisasi yang didukung oleh DTS, lihat Topologi Sinkronisasi.
Operasi SQL yang dapat disinkronkan
INSERT, UPDATE, dan DELETE
Izin yang diperlukan untuk akun database
Akun database dari klaster sumber PolarDB untuk MySQL harus memiliki setidaknya izin baca pada objek yang akan disinkronkan.
Prosedur
Prosedur ini dijelaskan berdasarkan konsol DTS baru. Jika terjadi perbedaan operasi antara konsol DTS dan modul DTS di konsol Data Management (DMS), konsol DMS yang berlaku.
Pergi ke halaman Tugas Sinkronisasi Data.
Masuk ke Konsol Data Management (DMS).
Di bilah navigasi atas, klik Data + AI.
Di panel navigasi sisi kiri, pilih .
CatatanOperasi mungkin berbeda berdasarkan mode dan tata letak konsol DMS. Untuk informasi lebih lanjut, lihat Mode Sederhana dan Sesuaikan Tata Letak dan Gaya Konsol DMS.
Anda juga dapat pergi ke Halaman Tugas Sinkronisasi Data dari Konsol DTS Baru.
Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instance sinkronisasi data berada.
CatatanJika Anda menggunakan konsol DTS baru, Anda harus memilih wilayah tempat instance sinkronisasi data berada di bilah navigasi atas.
Klik Create Task. Di wizard Buat Tugas Sinkronisasi Data, 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 yang unik.
Source Database
Select DMS Database Instance
Database yang ingin Anda gunakan. Anda dapat memilih apakah akan menggunakan database yang ada berdasarkan kebutuhan bisnis Anda.
Jika Anda memilih database yang ada, DTS secara otomatis mengisi parameter untuk database tersebut.
Jika Anda tidak memilih database yang ada, Anda harus mengonfigurasi informasi database berikut.
Database Type
Jenis database sumber. Pilih PolarDB for MySQL.
Connection Type
Metode akses database sumber. Pilih Alibaba Cloud Instance.
Instance Region
Wilayah tempat klaster sumber PolarDB untuk MySQL berada.
Cross-account
Menentukan apakah akan menyinkronkan data antar akun Alibaba Cloud. Dalam contoh ini, No dipilih.
PolarDB Cluster ID
ID klaster sumber PolarDB untuk MySQL.
Database Account
Akun database klaster sumber PolarDB untuk MySQL. Untuk informasi lebih lanjut tentang izin yang diperlukan untuk akun tersebut, lihat bagian Izin yang diperlukan untuk akun database dari topik ini.
Database Password
Kata sandi yang digunakan untuk mengakses database.
Destination Database
Select DMS Database Instance
Database yang ingin Anda gunakan. Anda dapat memilih apakah akan menggunakan database yang ada berdasarkan kebutuhan bisnis Anda.
Jika Anda memilih database yang ada, DTS secara otomatis mengisi parameter untuk database tersebut.
Jika Anda tidak memilih database yang ada, Anda harus mengonfigurasi informasi database berikut.
Database Type
Jenis database tujuan. Pilih DataHub.
Connection Type
Metode akses database tujuan. Pilih Alibaba Cloud Instance.
Instance Region
Wilayah tempat proyek tujuan DataHub berada.
Project
Proyek tujuan DataHub yang akan disinkronkan dengan data.
Di bagian bawah halaman, klik Test Connectivity and Proceed.
Jika database sumber atau tujuan adalah instance database Alibaba Cloud, seperti instance ApsaraDB RDS untuk MySQL atau instance ApsaraDB untuk MongoDB, DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih instance tersebut. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang di-hosting pada instance Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR server DTS ke aturan grup keamanan instance ECS, dan Anda harus memastikan bahwa instance ECS dapat mengakses database. Jika database diterapkan pada beberapa instance ECS, Anda harus menambahkan blok CIDR server DTS ke aturan grup keamanan setiap instance ECS secara manual. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang diterapkan di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, Anda harus menambahkan blok CIDR server DTS ke daftar putih database secara manual untuk mengizinkan DTS mengakses database. Untuk informasi lebih lanjut, lihat bagian "Blok CIDR Server DTS" dari topik Tambahkan Blok CIDR Server DTS.
PeringatanJika blok CIDR server DTS ditambahkan secara otomatis atau manual ke daftar putih database atau instance, risiko keamanan mungkin timbul. Oleh karena itu, sebelum Anda menggunakan DTS untuk menyinkronkan data, Anda harus memahami dan mengakui potensi risiko serta mengambil tindakan pencegahan, termasuk tetapi tidak terbatas pada langkah-langkah berikut: meningkatkan keamanan nama pengguna dan kata sandi Anda, membatasi port yang diekspos, mengotentikasi panggilan API, memeriksa daftar putih atau aturan grup keamanan ECS secara berkala dan melarang blok CIDR yang tidak sah, atau menghubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Konfigurasikan objek yang akan disinkronkan dan pengaturan lanjutan.
Parameter
Deskripsi
Synchronization Type
Secara default, Incremental Data Synchronization dipilih. Anda hanya dapat memilih Schema Synchronization. Anda tidak dapat memilih Full Data Synchronization.
CatatanSelama sinkronisasi skema awal, DTS menyinkronkan skema objek yang dipilih seperti tabel dari database sumber ke proyek DataHub tujuan.
Processing Mode for Existing Destination 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 tabel identik, pra-pemeriksaan berhasil. Jika tidak, kesalahan dikembalikan selama pra-pemeriksaan, dan tugas sinkronisasi data tidak dapat dimulai.
CatatanJika database sumber dan tujuan berisi tabel dengan nama identik 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 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 inkremental, 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.
Naming Rules of Additional Columns
Ketika DTS menyinkronkan data ke proyek DataHub, DTS menambahkan kolom tambahan ke topik tujuan. Jika nama kolom tambahan sama dengan nama kolom yang ada di topik tujuan, instance sinkronisasi data gagal. Anda dapat memilih Yes atau No untuk menentukan apakah akan enable the new naming rules for additional columns berdasarkan kebutuhan bisnis Anda.
PeringatanSebelum Anda menyetel parameter ini, periksa apakah kolom tambahan memiliki konflik nama dengan kolom yang ada di topik tujuan. Jika tidak, tugas sinkronisasi data mungkin gagal atau data mungkin hilang. Untuk informasi lebih lanjut, lihat bagian "Aturan penamaan untuk kolom tambahan" dari topik Ubah aturan penamaan untuk kolom tambahan.
Case Policy for Destination Object Names
Huruf besar/kecil nama database, nama tabel, dan nama 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 tabel atau database 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 sudut kanan atas bagian Selected Objects. Untuk informasi lebih lanjut, lihat bagian "Peta beberapa nama objek sekaligus" dari topik Peta nama objek.
Parameter
Deskripsi
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 Anda membuat tugas DTS" dari topik Konfigurasikan pemantauan dan peringatan.
Retry Interval After Source or Destination Database Connection Failure
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 menyetel parameter ini ke nilai lebih dari 30. Jika DTS berhasil terhubung 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 berlaku.
Ketika DTS mencoba kembali koneksi, Anda 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.
Configure ETL
Menentukan apakah akan mengaktifkan fitur ekstraksi, transformasi, dan pemuatan (ETL). Pilih Yes atau No berdasarkan kebutuhan bisnis Anda. Jika Anda memilih Yes, Anda harus memasukkan pernyataan bahasa domain-spesifik (DSL) di editor kode. Untuk informasi lebih lanjut, lihat Konfigurasikan ETL dalam tugas migrasi atau sinkronisasi data.
Opsional: Di bagian Selected Objects, gerakkan pointer ke atas nama topik yang akan disinkronkan dan klik kanan. Di kotak dialog yang muncul, ubah nama tabel atau database dan atur kunci shard untuk partisi berdasarkan kebutuhan bisnis Anda.
Simpan pengaturan tugas dan jalankan pra-pemeriksaan.
Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, gerakkan pointer ke atas Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Jika Anda tidak perlu melihat atau telah melihat parameter, 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 tersebut lulus pra-pemeriksaan.
Jika tugas sinkronisasi data gagal pra-pemeriksaan, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, perbaiki masalah tersebut. Lalu, jalankan pra-pemeriksaan lagi.
Jika peringatan dipicu untuk suatu item selama pra-pemeriksaan:
Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan perbaiki 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.
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 ditagih 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 tersebut 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 Resource Management?
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 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 hanya tersedia 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.
Skema Topik DataHub
Ketika DTS menyinkronkan data inkremental ke topik DataHub, DTS menambahkan kolom tambahan untuk menyimpan metadata di dalam topik. Gambar berikut menunjukkan skema dari topik DataHub.
Dalam contoh ini, id, name, dan address adalah bidang data. DTS menambahkan awalan dts_ pada bidang data, termasuk bidang data asli yang disinkronkan dari database sumber ke database tujuan, karena versi sebelumnya dari aturan penamaan untuk kolom tambahan digunakan. Jika Anda menggunakan aturan penamaan baru untuk kolom tambahan, DTS tidak menambahkan awalan pada bidang data asli yang disinkronkan dari database sumber ke database tujuan.

Tabel berikut menjelaskan kolom tambahan dalam topik DataHub.
Nama kolom tambahan sebelumnya | Nama kolom tambahan baru | Tipe | Deskripsi |
|
| String | ID unik entri log inkremental. Catatan
|
|
| String | Tipe operasi. Nilai valid:
|
|
| String | ID server database. |
|
| String | Nama database. |
|
| String | Nama tabel. |
|
| String | Timestamp operasi yang ditampilkan dalam UTC. Ini juga merupakan timestamp file log. |
|
| String | Menunjukkan apakah nilai kolom adalah nilai pra-update. Nilai valid: Y dan N. |
|
| String | Menunjukkan apakah nilai kolom adalah nilai pasca-update. Nilai valid: Y dan N. |
Informasi tambahan tentang bidang dts_before_flag dan dts_after_flag
Nilai dari bidang dts_before_flag dan dts_after_flag dalam entri log inkremental bervariasi berdasarkan jenis operasi:
INSERT
Untuk operasi INSERT, nilai kolom adalah nilai catatan baru yang dimasukkan (nilai pasca-update). Nilai dari bidang
dts_before_flagadalah N, dan nilai dari bidangdts_after_flagadalah Y.
UPDATE
DTS menghasilkan dua entri log inkremental untuk operasi UPDATE. Kedua entri log inkremental tersebut memiliki nilai yang sama untuk bidang
dts_record_id,dts_operation_flag, dandts_utc_timestamp.Entri log pertama mencatat nilai pra-update. Oleh karena itu, nilai dari bidang
dts_before_flagadalah Y, dan nilai dari bidangdts_after_flagadalah N. Entri log kedua mencatat nilai pasca-update. Oleh karena itu, nilai dari bidangdts_before_flagadalah N, dan nilai dari bidangdts_after_flagadalah Y.
DELETE
Untuk operasi DELETE, nilai kolom adalah nilai catatan yang dihapus (nilai pra-update). Nilai dari bidang
dts_before_flagadalah Y, dan nilai dari bidangdts_after_flagadalah N.
Apa yang harus dilakukan selanjutnya
Setelah Anda mengonfigurasi tugas sinkronisasi data, Anda dapat menggunakan Alibaba Cloud Realtime Compute for Apache Flink untuk menganalisis data yang disinkronkan ke proyek DataHub. Untuk informasi lebih lanjut, lihat Apa itu Alibaba Cloud Realtime Compute for Apache Flink?