DataHub adalah platform pemrosesan data streaming yang memungkinkan Anda memublikasikan, berlangganan, dan mendistribusikan data streaming, sehingga mempermudah pembuatan analitik dan aplikasi. Gunakan DTS untuk menyinkronkan data dari instans ApsaraDB RDS for MySQL ke DataHub guna mengaktifkan analisis real-time secara cepat menggunakan layanan data besar seperti stream computing.
Prasyarat
Anda telah membuat instans sumber ApsaraDB RDS for MySQL.
CatatanUntuk membuat instans ApsaraDB RDS for MySQL, lihat Buat instans ApsaraDB RDS for MySQL.
Untuk informasi versi yang didukung, lihat Ikhtisar skenario sinkronisasi data.
Anda telah mengaktifkan layanan DataHub dan membuat proyek untuk menerima data yang disinkronkan. Untuk informasi selengkapnya, lihat Memulai dengan DataHub dan Mengelola proyek.
Catatan penggunaan
DTS tidak menyinkronkan kunci asing dari database sumber ke database tujuan. Oleh karena itu, operasi kaskade pada database sumber tidak disinkronkan ke database tujuan.
Jenis | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Kasus khusus |
|
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu.
Sinkronisasi satu arah satu-ke-banyak.
Sinkronisasi satu arah banyak-ke-satu.
Untuk mempelajari setiap topologi sinkronisasi dan pertimbangannya, lihat Topologi sinkronisasi.
Operasi SQL yang didukung
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, DELETE |
DDL | ADD COLUMN |
Prosedur
-
Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:
Dari Konsol DTS
-
Masuk ke Konsol Data Transmission Service (DTS).
-
Di panel navigasi sebelah kiri, klik Data Synchronization.
-
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.
Dari Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.
-
Masuk ke Data Management (DMS).
-
Di bilah menu atas, pilih .
-
Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.
-
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan.
PeringatanSetelah memilih instans sumber dan tujuan, baca dengan cermat batasan yang ditampilkan di bagian atas halaman. Jika Anda tidak mengikuti batasan tersebut, tugas mungkin gagal atau terjadi inkonsistensi data.
Kategori
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tidak harus unik.
Source Database
Select DMS Database Instance
Pilih instans yang sudah ada sesuai kebutuhan.
-
Jika Anda menggunakan instans yang sudah ada, informasi database akan diisi otomatis. Anda tidak perlu memasukkannya lagi.
-
Jika Anda tidak menggunakan instans yang sudah ada, masukkan informasi database berikut.
Database Type
Pilih MySQL.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans sumber ApsaraDB RDS for MySQL berada.
Cross-account
Pilih No. Tutorial ini untuk sinkronisasi data dalam satu Akun Alibaba Cloud yang sama.
RDS Instance ID
Pilih ID instans sumber ApsaraDB RDS for MySQL.
Database Account
Masukkan akun database untuk instans sumber ApsaraDB RDS for MySQL. Akun tersebut harus memiliki izin baca pada objek sinkronisasi.
Database Password
Masukkan password yang sesuai dengan akun database.
Encryption
Pilih Non-encrypted atau SSL-encrypted sesuai kebutuhan. Jika Anda memilih SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instans RDS for MySQL terlebih dahulu. Untuk informasi selengkapnya, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL dengan cepat.
Destination Database
Select DMS Database Instance
Pilih instans yang sudah ada sesuai kebutuhan.
-
Jika Anda menggunakan instans yang sudah ada, informasi database akan diisi otomatis. Anda tidak perlu memasukkannya lagi.
-
Jika Anda tidak menggunakan instans yang sudah ada, masukkan informasi database berikut.
Database Type
Pilih DataHub.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans tujuan DataHub berada.
Project
Pilih DataHub Project tujuan.
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
Catatan-
Pastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
-
Konfigurasikan objek tugas.
Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.
Parameter
Deskripsi
Synchronization Types
Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS melakukan sinkronisasi data penuh objek yang dipilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.
Naming Rules of Additional Columns
Saat DTS menyinkronkan data ke DataHub, DTS menambahkan kolom tambahan ke tabel tujuan. Jika terjadi konflik nama antara kolom tambahan dan kolom yang sudah ada di tabel tujuan, tugas sinkronisasi akan gagal. Pilih New Rule atau Previous Rule berdasarkan kebutuhan bisnis Anda.
PeringatanSebelum memilih aturan, evaluasi apakah kolom tambahan bertentangan dengan kolom yang sudah ada di tabel tujuan. Konflik nama dapat menyebabkan kehilangan data atau kegagalan tugas. Untuk informasi selengkapnya tentang aturan dan definisi kolom tambahan, lihat Nama dan definisi kolom tambahan.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama sudah ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, pemeriksaan awal lolos. Jika ada tabel dengan nama yang sama, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.
CatatanJika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat memetakannya ke nama tabel yang berbeda. Untuk informasi selengkapnya, lihat Pemetaan nama tabel dan kolom.
-
Ignore Errors and Proceed: Melewati pemeriksaan nama tabel duplikat di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan inkonsistensi data dan membahayakan bisnis Anda. Misalnya:
-
Jika skema tabel sama dan catatan di database tujuan memiliki nilai kunci primer atau kunci unik yang sama dengan catatan di database sumber:
-
Selama sinkronisasi penuh, DTS mempertahankan catatan di kluster tujuan. Catatan yang sesuai dari database sumber tidak disinkronkan.
-
Selama sinkronisasi inkremental, catatan dari database sumber menimpa catatan di database tujuan.
-
-
Jika skema tabel berbeda, sinkronisasi data awal mungkin gagal. Hal ini dapat mengakibatkan hanya data kolom parsial yang disinkronkan atau kegagalan sinkronisasi total. Lakukan dengan hati-hati.
-
Case Sensitivity Policy for Destination Object Names
Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek database, tabel, dan kolom yang disinkronkan ke instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber dan tujuan. Untuk informasi selengkapnya, lihat Kebijakan sensitivitas huruf besar/kecil untuk nama objek tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanObjek sinkronisasi dipilih pada tingkat tabel.
Selected Objects
-
Untuk mengganti nama objek sinkronisasi tunggal di instans tujuan, klik kanan objek tersebut di kotak Selected Objects. Untuk informasi selengkapnya tentang penggantian nama objek, lihat Memetakan database, tabel, atau kolom tunggal.
-
Untuk mengganti nama beberapa objek sinkronisasi di instans tujuan sekaligus, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan database, tabel, dan kolom secara batch.
CatatanUntuk menetapkan klausa WHERE guna memfilter data, klik kanan tabel di kotak Selected Objects dan tentukan kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Tetapkan kondisi filter.
Klik kanan tabel di kotak Selected Objects, hapus centang pada kotak centang Sync All Columns di kotak dialog yang muncul, lalu atur kunci shard. Kunci shard digunakan untuk partisi data.
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS?.
Set Alerts
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
-
No: Tidak ada peringatan yang dikonfigurasi.
-
Yes: Konfigurasikan peringatan dengan menetapkan ambang batas peringatan dan menentukan notifikasi peringatan. Untuk informasi selengkapnya, lihat Konfigurasi pemantauan peringatan selama konfigurasi tugas.
Retry Time for Failed Connections
Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom dari 10 hingga 1.440 menit. Kami menyarankan Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
Catatan-
Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.
-
Karena DTS membebankan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.
Retry Time for Other Issues
Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-koneksi lainnya pada database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan error dan segera memulai operasi percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
PentingNilai Retry Time for Other Issues harus lebih kecil daripada Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat menetapkan batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).
Catatan-
Item konfigurasi ini hanya tersedia ketika Synchronization Types diatur ke Full Data Synchronization.
-
Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.
Enable Throttling for Incremental Data Synchronization
Anda juga dapat menetapkan batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans berdasarkan kebutuhan bisnis Anda. Untuk contoh ini, Anda tidak perlu memilih tag.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Pilih apakah akan menulis informasi SQL heartbeat ke database sumber saat instans DTS berjalan.
-
Yes: Informasi SQL heartbeat tidak ditulis ke database sumber. Hal ini dapat menyebabkan instans DTS melaporkan keterlambatan.
-
No: Menulis informasi SQL heartbeat ke database sumber. Hal ini dapat mengganggu fitur seperti backup fisik dan kloning database sumber.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
-
No: Tidak ada peringatan yang dikonfigurasi.
-
Yes: Konfigurasikan peringatan dengan menetapkan ambang batas peringatan dan menentukan notifikasi peringatan. Untuk informasi selengkapnya, lihat Konfigurasi pemantauan peringatan selama konfigurasi tugas.
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung yang muncul.
-
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum pekerjaan sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Pekerjaan hanya dapat dimulai setelah semua item pemeriksaan awal lolos.
-
Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan pemeriksaan awal lagi.
-
Jika pemeriksaan awal mengembalikan peringatan:
-
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di samping item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan pemeriksaan awal lagi.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan pemeriksaan awal ulang. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti inkonsistensi data dan menimbulkan risiko bagi bisnis Anda.
-
-
Beli instans.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter ini secara rinci.
Kategori
Parameter
Deskripsi
New Instance Class
Billing Method
-
Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan pay-as-you-go. Semakin lama durasi langganan, semakin tinggi diskonnya.
-
Pay-as-you-go: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.
Resource Group Configuration
Kelompok sumber daya tempat instans berada. Default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?.
Link Specification
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link sinkronisasi data.
Subscription Duration
Dalam mode subscription, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.
CatatanOpsi ini hanya tersedia ketika metode penagihan adalah Subscription.
-
-
Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
-
Klik Buy and Start. Di kotak dialog OK, klik OK.
Anda dapat melihat progres tugas di halaman Data Synchronization.
-
Skema topik
Saat DTS menyinkronkan perubahan data ke topik dalam instans DataHub, DTS menambahkan beberapa kolom tambahan ke skema topik tersebut. Kolom-kolom ini menyimpan metadata tentang perubahan data, seperti yang ditunjukkan pada contoh berikut.
Dalam contoh ini, field data adalah id, name, dan address. Karena Anda memilih aturan kolom tambahan lama saat mengonfigurasi sinkronisasi data, DTS menambahkan awalan dts_ ke field data ini.

Tabel berikut menjelaskan kolom tambahan tersebut.
Nama lama | Nama baru | Type | Deskripsi |
|
| String | ID unik dari catatan log inkremental. Catatan
|
|
| String | Jenis operasi. Nilai yang valid:
|
|
| String | ID server database. |
|
| String | Nama database. |
|
| String | Nama tabel. |
|
| String | Timestamp UTC dari operasi, diambil dari binlog. |
|
| String | Menunjukkan apakah catatan berisi nilai sebelum pembaruan. Nilai yang valid: Y dan N. |
|
| String | Menunjukkan apakah catatan berisi nilai setelah pembaruan. Nilai yang valid: Y dan N. |
dts_before_flag dan dts_after_flag
Nilai field dts_before_flag dan dts_after_flag dalam log inkremental bergantung pada jenis operasi:
INSERT
Untuk operasi INSERT, semua nilai kolom merepresentasikan data yang baru dimasukkan, yaitu nilai setelah pembaruan. Oleh karena itu,
dts_before_flagbernilai N dandts_after_flagbernilai Y.
UPDATE
Untuk operasi UPDATE, DTS membagi operasi menjadi dua entri log inkremental. Kedua entri ini memiliki nilai yang sama untuk
dts_record_id,dts_operation_flag, dandts_utc_timestamp.Entri log pertama mencatat nilai sebelum pembaruan, di mana
dts_before_flagbernilai Y dandts_after_flagbernilai N. Entri kedua mencatat nilai setelah pembaruan, di manadts_before_flagbernilai N dandts_after_flagbernilai Y.
DELETE
Untuk operasi DELETE, semua nilai kolom dalam log inkremental merepresentasikan data yang dihapus, yaitu nilai sebelum pembaruan. Oleh karena itu,
dts_before_flagbernilai Y dandts_after_flagbernilai N.