Gunakan Data Transmission Service (DTS) untuk mengalirkan perubahan inkremental dari instans ApsaraDB RDS for MySQL ke proyek DataHub secara real time. Setelah sinkronisasi berjalan, Anda dapat menggunakan Alibaba Cloud Realtime Compute for Apache Flink atau StreamCompute untuk menganalisis data tersebut.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki proyek DataHub di wilayah China (Hangzhou), China (Shanghai), China (Beijing), atau China (Shenzhen). Untuk membuatnya, lihat Buat proyek.
Tabel yang akan disinkronkan memiliki PRIMARY KEY atau kendala UNIQUE.
Penagihan
Jenis sinkronisasi | Biaya |
Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Batasan
Tidak ada data historis (hanya CDC): Sinkronisasi data penuh awal tidak didukung. DTS hanya menyinkronkan perubahan yang terjadi setelah tugas dimulai.
Hanya tabel: Hanya tabel yang dapat dipilih sebagai objek untuk disinkronkan.
Hindari DDL selama sinkronisasi: Operasi DDL pada tabel yang disinkronkan saat tugas sedang berjalan dapat menyebabkan sinkronisasi gagal.
Operasi SQL yang dapat disinkronkan
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, dan DELETE |
DDL | ADD COLUMN |
Menyiapkan sinkronisasi data
Langkah 1: Beli instansi sinkronisasi data
Beli instansi sinkronisasi data. Untuk informasi selengkapnya, lihat Beli instans DTS.
Pada halaman pembelian, atur Source Instance ke MySQL, Destination Instance ke DataHub, dan Synchronization Topology ke One-way Synchronization.
Langkah 2: Konfigurasikan tugas
Masuk ke Konsol DTS.
Jika Anda dialihkan ke Konsol Data Management (DMS), klik ikon
di
untuk beralih ke versi sebelumnya dari Konsol DTS.Pada panel navigasi kiri, klik Data Synchronization.
Di bagian atas halaman Synchronization Tasks, pilih wilayah tempat instans tujuan berada.
Temukan instansi sinkronisasi data dan klik Configure Task di kolom Actions.
Konfigurasikan instans sumber dan tujuan.
Bagian
Parameter
Deskripsi
N/A
Synchronization task name
Nama tugas yang dibuat otomatis oleh DTS. Tentukan nama deskriptif agar tugas mudah dikenali. Nama ini tidak harus unik.
Detail instans sumber
Instance type
Pilih RDS Instance.
PentingUntuk database MySQL yang dikelola sendiri, siapkan lingkungan yang diperlukan terlebih dahulu. Lihat Ikhtisar persiapan.
Instance region
Wilayah sumber yang dipilih pada halaman pembelian. Hanya-baca.
Instance ID
ID instans ApsaraDB RDS sumber.
Database account
Akun database sumber.
PentingUntuk MySQL 5.5 atau MySQL 5.6, parameter ini tidak diperlukan.
Database password
Password akun tersebut.
PentingUntuk MySQL 5.5 atau MySQL 5.6, parameter ini tidak diperlukan.
Encryption
Pilih Non-encrypted atau SSL-encrypted. Jika Anda memilih SSL-encrypted, aktifkan enkripsi SSL pada instans RDS sebelum mengonfigurasi tugas ini. Lihat Konfigurasikan fitur enkripsi SSL.
PentingParameter ini hanya tersedia di Tiongkok daratan dan China (Hong Kong).
Detail instans tujuan
Instance type
DataHub. Hanya-baca.
Instance region
Wilayah tujuan yang dipilih pada halaman pembelian. Hanya-baca.
Project
Nama proyek DataHub tujuan.
Klik Set Whitelist and Next di pojok kanan bawah. DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih alamat IP instans database Alibaba Cloud (seperti ApsaraDB RDS for MySQL) atau ke aturan grup keamanan instans Elastic Compute Service (ECS) yang menjalankan database. Jika database yang dikelola sendiri dihosting pada beberapa instans ECS, Anda harus menambahkan secara manual blok CIDR server DTS ke aturan grup keamanan setiap instans ECS. Untuk database yang dikelola sendiri di pusat data atau dihosting oleh penyedia cloud pihak ketiga, tambahkan secara manual blok CIDR server DTS. Lihat Tambahkan blok CIDR server DTS.
PeringatanMenambahkan blok CIDR DTS ke daftar putih atau grup keamanan dapat menimbulkan risiko keamanan. Terapkan langkah pencegahan seperti memperkuat keamanan kata sandi, membatasi port yang terbuka, mengaudit panggilan API, dan meninjau aturan daftar putih secara berkala. Untuk keamanan lebih tinggi, hubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Konfigurasikan kebijakan dan objek sinkronisasi.
Parameter
Deskripsi
Initial synchronization
Pilih Initial Schema Synchronization. DTS menyinkronkan skema objek yang dipilih ke proyek DataHub tujuan.
Objects to synchronize
Pada bagian Available, pilih tabel dan klik
untuk memindahkannya ke bagian Selected. Untuk mengganti nama objek yang disinkronkan di tujuan, gunakan fitur pemetaan nama objek. Lihat Ganti nama objek yang akan disinkronkan.Enable new naming rules for additional columns
Pilih Yes atau No. Sebelum mengonfigurasi parameter ini, periksa apakah nama kolom tambahan bertentangan dengan kolom yang sudah ada di topik tujuan. Jika tidak, tugas sinkronisasi data dapat gagal atau data hilang. Lihat Aturan penamaan untuk kolom tambahan.
Rename databases and tables
Gunakan fitur pemetaan nama objek untuk mengganti nama objek yang disinkronkan di tujuan. Lihat Pemetaan nama objek.
Replicate temporary tables when DMS performs DDL operations
Mengontrol apakah DTS menyinkronkan tabel sementara yang dihasilkan oleh operasi DDL Online di DMS. Yes: DTS menyinkronkan tabel sementara. Operasi DDL Online besar dapat meningkatkan latensi sinkronisasi. No: DTS melewati tabel sementara dan hanya menyinkronkan DDL asli dari sumber. Tabel tujuan mungkin terkunci.
Retry time for failed connections
Default: 720 menit (12 jam). Jika DTS terhubung kembali dalam periode ini, sinkronisasi dilanjutkan. Jika tidak, tugas gagal. Biaya DTS tetap berlaku selama periode percobaan ulang. Atur nilai ini sesuai kebutuhan bisnis Anda, dan rilis instans jika instans sumber dan tujuan telah dirilis.
(Opsional) Pada bagian Selected, arahkan kursor ke nama tabel dan klik Edit untuk mengonfigurasi kunci shard guna partisi tabel.
Klik Precheck di pojok kanan bawah.
DTS menjalankan pemeriksaan awal sebelum memulai tugas. Tugas hanya dimulai setelah pemeriksaan awal berhasil. Jika item pemeriksaan awal gagal, klik ikon
di samping item yang gagal untuk melihat detailnya. Perbaiki masalah tersebut dan jalankan kembali pemeriksaan awal, atau abaikan item yang gagal dan jalankan ulang jika tidak perlu diperbaiki.Setelah muncul pesan Precheck Passed, tutup kotak dialog Precheck. Tugas akan dimulai secara otomatis.
Tunggu hingga sinkronisasi awal selesai. Status tugas berubah menjadi Synchronizing. Periksa status tugas di halaman Synchronization Tasks.

Skema topik DataHub
Saat DTS menyinkronkan data inkremental ke topik DataHub, DTS menambahkan kolom metadata ke topik tersebut.
Dalam contoh ini,id,name, danaddressadalah bidang data. Saat aturan penamaan sebelumnya digunakan, DTS menambahkan awalandts_ke semua bidang, termasuk bidang asli dari sumber. Saat aturan penamaan baru digunakan, DTS tidak menambahkan awalan ke bidang asli dari sumber.

Nama kolom sebelumnya | Nama kolom baru | Tipe | Deskripsi |
|
| String | ID unik entri log inkremental. Nilainya otomatis bertambah untuk setiap entri baru. Dalam skenario disaster recovery, rollback dapat menyebabkan duplikasi ID. Untuk operasi UPDATE, kedua entri log (sebelum dan sesudah update) memiliki |
|
| String | Jenis operasi. Nilai yang valid: |
|
| String | ID server database. |
|
| String | Nama database. |
|
| String | Nama tabel. |
|
| String | Timestamp operasi dalam UTC. Ini juga merupakan timestamp file log. |
|
| String | Menunjukkan apakah nilai baris merupakan nilai sebelum update. Nilai yang valid: |
|
| String | Menunjukkan apakah nilai baris merupakan nilai setelah update. Nilai yang valid: |
Nilai flag before dan after
Kolom dts_before_flag dan dts_after_flag menunjukkan apakah suatu baris dalam topik merepresentasikan kondisi sebelum atau sesudah perubahan data.
Operasi | Entri log yang dihasilkan | dts_before_flag | dts_after_flag | Konten baris |
INSERT | 1 |
|
| Nilai yang baru dimasukkan. |
DELETE | 1 |
|
| Nilai yang dihapus. |
UPDATE (entri pertama) | 2 (dengan |
|
| Nilai sebelum update. |
UPDATE (entri kedua) | 2 (dengan |
|
| Nilai setelah update. |
Operasi INSERT
Entri log berisi nilai yang baru dimasukkan. dts_before_flag bernilai N dan dts_after_flag bernilai Y.
Operasi UPDATE
DTS menghasilkan dua entri log dengan nilai dts_record_id, dts_operation_flag, dan dts_utc_timestamp yang sama. Entri pertama menangkap nilai sebelum update (dts_before_flag=Y, dts_after_flag=N). Entri kedua menangkap nilai setelah update (dts_before_flag=N, dts_after_flag=Y).

Operasi DELETE
Entri log berisi nilai yang dihapus. dts_before_flag bernilai Y dan dts_after_flag bernilai N.

Langkah berikutnya
Setelah tugas sinkronisasi berjalan, gunakan Alibaba Cloud Realtime Compute for Apache Flink untuk menganalisis data dalam proyek DataHub. Untuk informasi selengkapnya, lihat Apa itu Alibaba Cloud Realtime Compute for Apache Flink?