Anda dapat menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari instans ApsaraDB RDS for MySQL ke DataHub guna analisis streaming real-time dengan produk seperti Realtime Compute for Apache Flink.
Prasyarat
-
Instans DataHub berada di wilayah China (Hangzhou), China (Shanghai), China (Beijing), atau China (Shenzhen).
-
Proyek DataHub telah dibuat untuk menerima data yang disinkronkan. Buat proyek.
-
Tabel sumber dalam instans ApsaraDB RDS for MySQL memiliki primary key atau unique constraint.
Penagihan
Jenis sinkronisasi | Harga |
Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Batasan
-
Sinkronisasi data penuh awal tidak didukung. DTS tidak menyinkronkan data yang sudah ada dari instans sumber ke DataHub.
-
Hanya sinkronisasi data tingkat tabel yang didukung.
-
Jangan melakukan operasi DDL pada tabel sumber selama proses sinkronisasi. Jika dilakukan, tugas akan gagal.
Operasi SQL yang didukung
|
Jenis operasi |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
ADD COLUMN |
Prosedur
-
Beli instansi sinkronisasi data. Proses pembelian.
CatatanSaat melakukan pembelian, pilih MySQL sebagai instans sumber, DataHub sebagai instans target, dan One-way Synchronization sebagai topologi sinkronisasi.
-
Masuk ke DTS console.
CatatanJika Anda dialihkan secara otomatis ke konsol Data Management (DMS), klik ikon
di pojok kanan bawah lalu klik
untuk kembali ke konsol DTS klasik. -
Di panel navigasi sebelah kiri, klik Data Synchronization.
-
Di bagian atas halaman Synchronization Tasks, pilih wilayah tempat instans tujuan berada.
-
Temukan tugas sinkronisasi data yang telah Anda beli, lalu klik Configure Task.
-
Konfigurasikan instans sumber dan tujuan.

Bagian
Parameter
Deskripsi
N/A
Synchronization Task Name
DTS menghasilkan nama tugas secara otomatis. Tentukan nama deskriptif agar mudah diidentifikasi. Nama tidak harus unik.
Detail Instans Sumber
Instance Type
Pilih jenis database sumber. Contoh ini menggunakan RDS Instance.
CatatanJika sumbernya adalah database MySQL yang dikelola sendiri, lengkapi langkah persiapan di Ikhtisar persiapan.
Instance Region
Wilayah yang dipilih saat pembelian. Tidak dapat diubah.
Instance ID
Pilih ID instans RDS sumber.
Database Account
Masukkan akun database instans RDS sumber.
CatatanJika instans RDS sumber menjalankan MySQL 5.5 atau MySQL 5.6, Anda tidak perlu mengonfigurasi Database Account dan Database Password.
Database Password
Masukkan password untuk akun database.
Connection Method
Pilih Non-encrypted atau SSL-encrypted. Jika Anda memilih SSL-encrypted, aktifkan enkripsi SSL untuk instans RDS terlebih dahulu. Gunakan sertifikat cloud-native untuk mengaktifkan enkripsi SSL dengan cepat.
PentingSaat ini, parameter Encryption hanya tersedia untuk wilayah di Tiongkok daratan dan wilayah China (Hong Kong).
Detail Instans Tujuan
Instance Type
Tetap menjadi DataHub. Tidak dapat diubah.
Instance Region
Wilayah yang dipilih saat pembelian. Tidak dapat diubah.
Project
Pilih Project dari instans DataHub.
-
Di pojok kanan bawah halaman, klik Set Whitelist and Next.
Jika database sumber atau tujuan merupakan instans database Alibaba Cloud, seperti instans ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB, DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih alamat IP instans 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 tersebut, dan Anda harus memastikan bahwa instance ECS dapat mengakses database. Jika database yang dikelola sendiri di-hosting pada beberapa instance ECS, Anda harus menambahkan blok CIDR server DTS secara manual ke aturan grup keamanan setiap instance ECS. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang dideploy di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, Anda harus menambahkan blok CIDR server DTS secara manual ke daftar putih alamat IP database untuk mengizinkan DTS mengakses database. Untuk informasi selengkapnya, lihat Daftarkan alamat IP server DTS ke daftar putih.
PeringatanMenambahkan blok CIDR alamat IP publik server DTS, baik secara otomatis maupun manual, dapat menimbulkan risiko keamanan. Dengan menggunakan produk ini, Anda mengakui dan menerima risiko potensial tersebut. Anda harus menerapkan perlindungan keamanan dasar. Perlindungan tersebut mencakup tetapi tidak terbatas pada memperkuat keamanan password, membatasi port terbuka untuk blok CIDR, menggunakan autentikasi untuk komunikasi API internal, serta secara berkala meninjau dan membatasi blok CIDR yang tidak diperlukan. Sebagai alternatif, Anda dapat menghubungkan ke database melalui jaringan internal, seperti jalur sewa, VPN Gateway, atau Smart Access Gateway.
-
Konfigurasikan kebijakan dan objek sinkronisasi.

Parameter
Deskripsi
Initial Synchronization
Pilih Initial Schema Synchronization.
CatatanSetelah Anda memilih Initial Schema Synchronization, DTS menyinkronkan skema objek yang dipilih (seperti skema tabel) ke instans DataHub tujuan selama inisialisasi.
Select synchronization objects
Di kotak Source Objects, klik objek yang ingin Anda sinkronkan, lalu klik ikon
untuk memindahkannya ke kotak Selected Objects.Catatan-
Anda dapat memilih tabel sebagai objek sinkronisasi.
-
Nama objek tetap tidak berubah secara default. Untuk mengganti nama objek di tujuan, gunakan fitur pemetaan nama objek. Tetapkan nama objek sinkronisasi di instans tujuan.
Enable new naming rules for additional columns
DTS menambahkan kolom tambahan ke topik tujuan. Jika nama kolom tambahan bertabrakan dengan nama kolom yang sudah ada, tugas akan gagal. Atur Enable new naming rules for additional columns menjadi Yes atau No.
PeringatanEvaluasi apakah nama kolom tambahan bertabrakan dengan nama kolom yang sudah ada sebelum memilih aturan. Jika tidak, tugas dapat gagal atau data hilang. Nama dan definisi kolom tambahan.
Rename databases and tables
Ubah nama objek yang disinkronkan di instans tujuan. Untuk informasi selengkapnya, lihat Pemetaan database, tabel, dan kolom.
Replicate temporary tables during DMS_ONLINE_DDL process
Jika Anda menggunakan Data Management (DMS) untuk melakukan perubahan DDL online pada database sumber, Anda dapat memilih apakah akan menyinkronkan tabel sementara yang dihasilkan oleh perubahan DDL tersebut.
-
Yes: Menyinkronkan tabel sementara yang dihasilkan oleh perubahan DDL online.
CatatanJika sejumlah besar data tabel sementara dihasilkan oleh perubahan DDL online, tugas sinkronisasi data mungkin tertunda.
-
No: Tidak menyinkronkan tabel sementara yang dihasilkan oleh perubahan DDL online. Hanya operasi DDL asli dari database sumber yang disinkronkan.
CatatanOpsi ini menyebabkan tabel di database tujuan terkunci.
Retry time for connection failures
Jika DTS tidak dapat terhubung ke instans sumber atau tujuan, DTS akan mencoba kembali selama 720 menit (12 jam) secara default. Anda juga dapat menentukan durasi percobaan ulang kustom. Jika DTS berhasil terhubung kembali ke instans sumber atau tujuan dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
CatatanAnda dikenai biaya selama waktu tugas berjalan selama percobaan ulang koneksi. Sesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis Anda, atau release instans DTS segera setelah instans sumber dan tujuan direlease.
-
-
Opsional: Di kotak Selected Objects, arahkan kursor ke nama topik yang ingin Anda sinkronkan, klik ikon Edit yang muncul, lalu atur kunci shard (kunci yang digunakan untuk partisi) di kotak dialog yang muncul.

-
Setelah menyelesaikan konfigurasi di atas, klik Precheck and Start di pojok kanan bawah halaman.
Catatan-
Pemeriksaan Awal dijalankan sebelum tugas sinkronisasi dimulai, dan Anda hanya dapat memulai tugas setelah lulus Pemeriksaan Awal.
-
Jika Pemeriksaan Awal gagal, klik ikon
di sebelah item yang gagal untuk melihat detailnya.-
Anda dapat memperbaiki masalah berdasarkan penyebabnya dan menjalankan Pemeriksaan Awal lagi.
-
Jika Anda tidak perlu memperbaiki item yang memicu peringatan, Anda dapat mengklik Ignore atau Ignore Warnings and Rerun Precheck untuk melewati peringatan dan menjalankan Pemeriksaan Awal lagi.
-
-
-
Setelah kotak dialog Precheck menampilkan Precheck Passed, tutup kotak dialog Precheck. Tugas sinkronisasi akan dimulai secara otomatis.
-
Tunggu hingga tugas selesai inisialisasi dan masuk ke status Synchronizing.
Anda dapat melihat status tugas sinkronisasi data di halaman Data Synchronization.
Skema topik DataHub
DTS menambahkan kolom tambahan ke topik tujuan untuk menyimpan metadata. Contoh berikut menunjukkan skema topik.
Pada contoh ini, id, name, dan address adalah bidang bisnis. Dengan aturan penamaan lama, DTS menambahkan awalan dts_ ke bidang bisnis, termasuk bidang asli dari database sumber. Dengan aturan penamaan baru, DTS tidak memberikan awalan pada bidang bisnis asli.

Tabel berikut menjelaskan kolom tambahan tersebut.
|
Nama kolom lama |
Nama kolom baru |
Tipe |
Deskripsi |
|
|
|
String |
ID unik dari entri log inkremental. Catatan
|
|
|
|
String |
Jenis operasi. Nilai yang valid:
|
|
|
|
String |
ID server database. |
|
|
|
String |
Nama database. |
|
|
|
String |
Nama tabel. |
|
|
|
String |
Timestamp operasi, yaitu timestamp entri log dalam UTC. |
|
|
|
String |
Menunjukkan apakah semua nilai kolom adalah nilai sebelum pembaruan. Nilai yang valid: Y dan N. |
|
|
|
String |
Menunjukkan apakah semua nilai kolom adalah nilai setelah pembaruan. Nilai yang valid: Y dan N. |
dts_before_flag dan dts_after_flag
Nilai dts_before_flag dan dts_after_flag bervariasi tergantung jenis operasi:
-
INSERT
Semua nilai kolom adalah nilai yang baru dimasukkan.
dts_before_flag= N,dts_after_flag= Y.
-
UPDATE
DTS membagi satu UPDATE menjadi dua entri log dengan
dts_record_id,dts_operation_flag, dandts_utc_timestampyang sama.Entri pertama mencatat nilai sebelum pembaruan (
dts_before_flag= Y,dts_after_flag= N). Entri kedua mencatat nilai setelah pembaruan (dts_before_flag= N,dts_after_flag= Y).Sebagai contoh, untuk catatan dengan
dts_id10006,dts_db_namedtstestdata, dandts_table_namecustomer, nilaidts_addressdiperbarui dari Qujing menjadi Hangzhou. -
DELETE
Semua nilai kolom adalah nilai sebelum penghapusan.
dts_before_flag= Y,dts_after_flag= N.
Langkah selanjutnya
Setelah tugas sinkronisasi dikonfigurasi, Anda dapat menganalisis data yang disinkronkan di DataHub menggunakan Realtime Compute for Apache Flink.