DataHub adalah platform distribusi data real-time yang dirancang untuk memproses data streaming. Anda dapat menerbitkan dan berlangganan data streaming di DataHub serta mendistribusikan data tersebut ke platform lain. DataHub memungkinkan Anda menganalisis data streaming dan membangun aplikasi berdasarkan data streaming. Anda dapat menyinkronkan data dari instance ApsaraDB RDS for MySQL ke proyek DataHub menggunakan Data Transmission Service (DTS). Dengan cara ini, Anda dapat menggunakan StreamCompute dan layanan big data lainnya untuk menganalisis data secara real-time.
Prasyarat
Proyek DataHub berada di wilayah China (Hangzhou), China (Shanghai), China (Beijing), atau China (Shenzhen).
Sebuah proyek DataHub telah dibuat untuk menerima data yang disinkronkan. Untuk informasi lebih lanjut, lihat Buat proyek.
Tabel yang akan disinkronkan dari instance ApsaraDB RDS for MySQL memiliki PRIMARY KEY atau batasan UNIQUE.
Penagihan
| Jenis Sinkronisasi | Biaya Konfigurasi Tugas |
| Sinkronisasi skema dan data penuh | Gratis. |
| Sinkronisasi data tambahan | Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan. |
Batasan
Sinkronisasi data penuh awal tidak didukung. DTS tidak menyinkronkan data historis objek yang diperlukan dari instance ApsaraDB RDS sumber ke proyek DataHub tujuan.
Anda hanya dapat memilih tabel sebagai objek yang akan disinkronkan.
Kami sarankan Anda tidak melakukan operasi DDL pada objek yang diperlukan selama sinkronisasi data. Jika tidak, sinkronisasi data mungkin gagal.
Operasi SQL yang dapat disinkronkan
Jenis Operasi | Pernyataan SQL |
DML | INSERT, UPDATE, dan DELETE |
DDL | ADD COLUMN |
Prosedur
Beli instance sinkronisasi data. Untuk informasi lebih lanjut, lihat Beli instance DTS.
CatatanDi halaman pembelian, atur Instance Sumber ke MySQL, Instance Tujuan ke DataHub, dan Topologi Sinkronisasi ke One-way Synchronization.
Masuk ke Konsol DTS.
CatatanJika Anda dialihkan ke Konsol Manajemen Data (DMS), Anda dapat mengklik ikon
di
untuk kembali ke versi sebelumnya dari Konsol DTS.Di panel navigasi di sebelah kiri, klik Data Synchronization.
Di bagian atas halaman Synchronization Tasks, pilih wilayah tempat instance tujuan berada.
Temukan instance sinkronisasi data dan klik Configure Task di kolom Aksi.
Konfigurasikan instance sumber dan tujuan.

Bagian
Parameter
Deskripsi
Tidak Ada
Nama Tugas Sinkronisasi
Nama tugas yang dihasilkan otomatis oleh DTS. Kami sarankan Anda menentukan nama deskriptif yang mudah diidentifikasi. Anda tidak perlu menggunakan nama tugas unik.
Detail Instance Sumber
Tipe Instance
Jenis basis data sumber. Dalam contoh ini, pilih RDS Instance.
CatatanJika database sumber adalah database MySQL yang dikelola sendiri, Anda harus menyiapkan lingkungan yang diperlukan sebelum sinkronisasi data. Untuk informasi lebih lanjut, lihat Ikhtisar persiapan.
Wilayah Instance
Wilayah sumber yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.
ID Instance
ID instance ApsaraDB RDS sumber.
Akun Database
Akun database dari instance sumber.
CatatanJika mesin database dari instance ApsaraDB RDS for MySQL sumber adalah MySQL 5.5 atau MySQL 5.6, Anda tidak perlu mengonfigurasi parameter Database Account dan Database Password.
Kata Sandi Database
Kata sandi akun.
Enkripsi
Menentukan apakah akan mengenkripsi koneksi ke database tujuan. Pilih Non-encrypted atau SSL-encrypted berdasarkan kebutuhan bisnis dan keamanan Anda. Jika Anda memilih SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instance ApsaraDB RDS for MySQL sebelum mengonfigurasi tugas sinkronisasi data. Untuk informasi lebih lanjut, lihat Configure the SSL encryption feature.
PentingParameter Encryption hanya tersedia di wilayah daratan Tiongkok dan wilayah Tiongkok (Hong Kong).
Detail Instance Tujuan
Tipe Instance
Nilai parameter ini diatur ke DataHub dan tidak dapat diubah.
Wilayah Instance
Wilayah tujuan yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.
Proyek
Pilih nama proyek DataHub project.
Di sudut kanan bawah halaman, klik Set Whitelist and Next.
Jika database sumber atau tujuan adalah instance database Alibaba Cloud, seperti instance ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB, DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih alamat IP instance. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang dihosting 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 yang dikelola sendiri dihosting 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 ditempatkan di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, Anda harus menambahkan blok CIDR server DTS ke daftar putih alamat IP database secara manual untuk mengizinkan DTS mengakses database. Untuk informasi lebih lanjut, lihat Tambahkan blok CIDR server DTS.
PeringatanJika blok CIDR server DTS ditambahkan secara otomatis atau manual ke daftar putih database atau instance, atau ke aturan grup keamanan ECS, risiko keamanan dapat timbul. Oleh karena itu, sebelum menggunakan DTS untuk menyinkronkan data, Anda harus memahami dan mengakui potensi risiko dan mengambil langkah-langkah 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 dengan menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Pilih kebijakan sinkronisasi dan objek yang akan disinkronkan.

Parameter
Deskripsi
Sinkronisasi Awal
Pilih Initial Schema Synchronization.
CatatanSetelah Anda memilih Initial Schema Synchronization, DTS menyinkronkan skema objek yang diperlukan (seperti tabel) ke proyek DataHub tujuan.
Pilih objek yang akan disinkronkan
Pilih satu atau lebih objek di bagian Available dan klik ikon
untuk memindahkan objek ke bagian Selected.CatatanAnda dapat memilih tabel sebagai objek yang akan disinkronkan.
Secara default, setelah sebuah objek disinkronkan ke database tujuan, nama objek tersebut tetap tidak berubah. Anda dapat menggunakan fitur pemetaan nama objek untuk mengubah nama objek yang disinkronkan ke instance tujuan. Untuk informasi lebih lanjut, lihat Rename an object to be synchronized.
Aktifkan aturan penamaan baru untuk kolom tambahan
Setelah DTS menyinkronkan data ke proyek DataHub tujuan, DTS menambahkan kolom tambahan ke topik tujuan. Jika nama kolom tambahan sama dengan nama kolom yang sudah ada di topik tujuan, sinkronisasi data gagal. Pilih Yes atau No untuk menentukan whether to enable new additional column rules.
PeringatanSebelum Anda mengonfigurasi parameter ini, periksa apakah nama kolom tambahan sama dengan nama kolom yang sudah 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 Modifikasi aturan penamaan untuk kolom tambahan.
Ubah Nama Basis Data dan Tabel
Anda dapat menggunakan fitur pemetaan nama objek untuk mengubah nama objek yang disinkronkan ke instance tujuan. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.
Replikasi Tabel Sementara Saat DMS Melakukan Operasi DDL
Jika Anda menggunakan DMS untuk melakukan operasi DDL online pada database sumber, Anda dapat menentukan apakah akan menyinkronkan tabel sementara yang dihasilkan oleh operasi DDL online.
Yes: DTS menyinkronkan data tabel sementara yang dihasilkan oleh operasi DDL Online.
CatatanJika operasi DDL online menghasilkan sejumlah besar data, tugas sinkronisasi data mungkin mengalami penundaan.
No: DTS tidak menyinkronkan data tabel sementara yang dihasilkan oleh operasi DDL online. Hanya data DDL asli dari database sumber yang disinkronkan.
CatatanJika Anda memilih Tidak, tabel di database tujuan mungkin akan terkunci.
Waktu Ulangi untuk Koneksi Gagal
Secara default, jika DTS gagal terhubung ke database sumber atau tujuan, DTS akan mencoba kembali dalam 720 menit (12 jam) berikutnya. Anda dapat menentukan waktu percobaan ulang sesuai dengan kebutuhan Anda. Jika DTS berhasil tersambung kembali ke database sumber dan tujuan dalam waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
CatatanSaat DTS mencoba kembali koneksi, Anda akan dikenakan biaya untuk instance DTS. Kami menyarankan Anda menentukan waktu percobaan ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS sesegera mungkin setelah instance sumber dan tujuan dilepaskan.
Opsional. Di bagian Selected, arahkan pointer ke nama tabel yang akan disinkronkan dan klik Edit. Di kotak dialog yang muncul, konfigurasikan kunci shard yang digunakan untuk mempartisi tabel.

Di sudut kanan bawah halaman, klik Precheck.
CatatanSebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pemeriksaan pendahuluan. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas lulus pemeriksaan pendahuluan.
Jika tugas gagal melewati pemeriksaan awal, Anda dapat mengklik ikon
di sebelah setiap item yang gagal untuk melihat detailnya.Setelah Anda menangani masalah berdasarkan detail yang diberikan, mulai precheck baru.
Jika Anda tidak perlu menangani masalah tersebut, ignore the failed items dan initiate a new precheck.
Tutup kotak dialog Precheck setelah pesan berikut ditampilkan: Precheck Passed. Kemudian, tugas sinkronisasi data dimulai.
Tunggu hingga sinkronisasi awal selesai dan tugas sinkronisasi data memasuki status Synchronizing.
Anda dapat melihat status tugas sinkronisasi data di halaman Synchronization Tasks.

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 sebuah topik DataHub.
Dalam contoh ini, id, name, dan address adalah bidang data. DTS menambahkan awalan dts_ ke bidang data, termasuk bidang data asli yang disinkronkan dari database sumber ke database tujuan, karena aturan penamaan versi sebelumnya untuk kolom tambahan digunakan. Jika Anda menggunakan aturan penamaan baru untuk kolom tambahan, DTS tidak akan menambahkan awalan ke bidang data asli yang disinkronkan dari database sumber ke database tujuan.

Tabel berikut menjelaskan kolom tambahan di topik DataHub.
Nama kolom tambahan sebelumnya | Nama kolom tambahan baru | Tipe | Deskripsi |
|
| String | ID unik dari entri log inkremental. Catatan
|
|
| String | Tipe operasi. Nilai yang 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-pembaruan. Nilai yang valid: Y dan N. |
|
| String | Menunjukkan apakah nilai kolom adalah nilai pasca-pembaruan. Nilai yang 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 tambahan berbeda berdasarkan tipe operasi:
INSERT
Untuk operasi INSERT, nilai kolom adalah nilai rekaman baru yang dimasukkan (nilai pasca-pembaruan). Nilai dari bidang
dts_before_flagadalah N, dan nilai dari bidangdts_after_flagadalah Y.
UPDATE
DTS menghasilkan dua entri log tambahan untuk operasi UPDATE. Dua entri log tambahan tersebut memiliki nilai yang sama untuk bidang
dts_record_id,dts_operation_flag, dandts_utc_timestamp.Entri log pertama mencatat nilai pra-pembaruan. Oleh karena itu, nilai dari bidang
dts_before_flagadalah Y, dan nilai dari bidangdts_after_flagadalah N. Entri log kedua mencatat nilai pasca-pembaruan. Oleh karena itu, nilai dari bidangdts_before_flagadalah N, dan nilai dari bidangdts_after_flagadalah Y.
DELETE
Untuk operasi DELETE, nilai kolom adalah nilai rekaman yang dihapus (nilai pra-pembaruan). 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?