Fitur Sinkronisasi Data memungkinkan Anda menyinkronkan data antar sumber data secara real time. Fitur ini cocok untuk berbagai skenario bisnis, seperti redundansi geo-aktif, pemulihan bencana geo, pemulihan bencana data on-premises, sinkronisasi data lintas batas, BI cloud, dan data warehousing real time. Topik ini menggunakan contoh sinkronisasi data dari ApsaraDB RDS for MySQL ke ApsaraDB RDS for MySQL untuk menjelaskan cara mengonfigurasi tugas sinkronisasi data di klaster khusus DTS.
Prasyarat
Anda telah membuat klaster khusus DTS. Untuk informasi selengkapnya, lihat Buat klaster khusus DTS.
Anda telah membuat instans ApsaraDB RDS for MySQL sumber dan tujuan. Untuk informasi selengkapnya, lihat (Tidak berlaku lagi. Dialihkan ke Langkah 1.) Buat instans ApsaraDB RDS for MySQL dengan cepat.
Instans ApsaraDB RDS for MySQL tujuan harus memiliki ruang penyimpanan yang tersedia lebih banyak daripada yang digunakan oleh instans ApsaraDB RDS for MySQL sumber.
Instans sumber dan tujuan harus berada di wilayah yang sama dengan klaster khusus DTS.
Hal-hal yang Perlu Diperhatikan
Selama sinkronisasi skema, DTS menyinkronkan kunci asing dari database sumber ke database tujuan.
Selama sinkronisasi data penuh dan sinkronisasi data inkremental, DTS sementara menonaktifkan pemeriksaan constraint dan operasi kaskade kunci asing pada tingkat session. Ketidakkonsistenan data dapat terjadi jika operasi pembaruan atau penghapusan kaskade dilakukan pada database sumber saat tugas sedang berjalan.
|
Jenis |
Deskripsi |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Pertimbangan lainnya |
|
Topologi sinkronisasi
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi satu arah kaskade
Sinkronisasi satu arah banyak-ke-satu
Sinkronisasi dua arah satu-ke-satu
Untuk detail tentang setiap topologi sinkronisasi data dan catatan penggunaannya, lihat Topologi Sinkronisasi Data.
Operasi SQL yang didukung
|
Jenis operasi |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
|
Prosedur
-
Masuk ke halaman atau Dedicated Cluster.
-
Di sebelah kanan Workbench, pilih wilayah tempat Anda ingin membuat klaster khusus.
Pada kolom Operation klaster khusus target, pilih .
Konfigurasikan Source Database dan Destination Database.
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 ketidakkonsistenan data.
Bagian
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus unik.
Source Database
Select Existing Connection
Anda dapat memilih apakah akan menggunakan instans yang sudah ada, sesuai kebutuhan.
Jika Anda menggunakan instans yang sudah ada, informasi database di bawah ini akan diisi secara otomatis. Anda tidak perlu memasukkannya lagi.
Jika Anda tidak menggunakan instans yang sudah ada, Anda harus memasukkan informasi database di bawah ini.
Database Type
Pilih MySQL.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Wilayah instans ApsaraDB RDS for MySQL sumber. Ini ditentukan saat Anda membuat klaster khusus dan tidak dapat diubah.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menggunakan instans database yang dimiliki oleh Akun Alibaba Cloud saat ini. Pilih No.
RDS Instance ID
Pilih ID instans ApsaraDB RDS for MySQL sumber.
CatatanSumber dan tujuan dapat berupa instans ApsaraDB RDS for MySQL yang sama atau berbeda. DTS dapat menyinkronkan data antara dua instans atau dalam satu instans.
Database Account
Masukkan akun database instans ApsaraDB RDS for MySQL sumber. Akun tersebut harus memiliki izin baca pada objek yang akan disinkronkan.
Database Password
Masukkan kata sandi yang sesuai dengan akun database.
Connection Method
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 Existing Connection
Anda dapat memilih apakah akan menggunakan instans yang sudah ada, sesuai kebutuhan.
Jika Anda menggunakan instans yang sudah ada, informasi database akan diisi secara otomatis. Anda tidak perlu memasukkannya lagi.
Jika Anda tidak menggunakan instans yang sudah ada, Anda harus memasukkan informasi database di bawah ini.
Database Type
Pilih MySQL.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans ApsaraDB RDS for MySQL tujuan berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menggunakan instans database yang dimiliki oleh Akun Alibaba Cloud saat ini. Pilih No.
RDS Instance ID
Pilih ID instans ApsaraDB RDS for MySQL tujuan.
CatatanSumber dan tujuan dapat berupa instans ApsaraDB RDS for MySQL yang sama atau berbeda. DTS dapat menyinkronkan data antara dua instans atau dalam satu instans.
Database Account
Masukkan akun database instans ApsaraDB RDS for MySQL tujuan. Akun tersebut harus memiliki izin baca dan tulis pada database tujuan.
Database Password
Masukkan kata sandi yang sesuai dengan akun database.
Connection Method
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.
-
Di bagian bawah halaman, klik Test Connectivity and Proceed.
Jika database sumber atau tujuan adalah 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 instans tersebut. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang di-host di instans Elastic Compute Service (ECS), DTS secara otomatis menambahkan Blok CIDR server DTS ke aturan grup keamanan ECS, dan Anda harus memastikan bahwa instans ECS dapat mengakses database tersebut. 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 secara manual menambahkan Blok CIDR server DTS ke daftar putih database tersebut agar DTS dapat mengakses database. Untuk informasi selengkapnya, lihat Daftarkan alamat IP server DTS.
PeringatanJika Blok CIDR server DTS ditambahkan secara otomatis atau manual ke daftar putih database atau instans, atau ke aturan grup keamanan ECS, risiko keamanan dapat muncul. Oleh karena itu, sebelum menggunakan DTS untuk menyinkronkan data, Anda harus memahami dan mengakui risiko potensial serta mengambil tindakan pencegahan, termasuk tetapi tidak terbatas pada langkah-langkah berikut: meningkatkan keamanan username dan password, membatasi port yang diekspos, mengautentikasi panggilan API, memeriksa secara berkala daftar putih atau aturan grup keamanan ECS dan melarang Blok CIDR yang tidak sah, atau menghubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Konfigurasikan objek tugas.
Pada 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 klaster tujuan. Hal ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.
Method to Migrate Triggers in Source Database
Pilih metode untuk menyinkronkan trigger. Jika objek yang akan disinkronkan tidak melibatkan trigger, Anda tidak perlu mengonfigurasi parameter ini. Untuk informasi selengkapnya, lihat Konfigurasikan metode untuk menyinkronkan atau memigrasikan trigger.
CatatanParameter ini tersedia hanya ketika Synchronization Types dipilih untuk Schema Synchronization.
Enable Migration Assessment
Menilai apakah skema database sumber dan tujuan memenuhi persyaratan. Ini mencakup aspek seperti panjang indeks, prosedur tersimpan, dan tabel dependen. Anda dapat memilih Yes atau No.
CatatanParameter ini tersedia hanya ketika Synchronization Types dipilih untuk Schema Synchronization.
Jika Anda memilih Yes, pemeriksaan awal mungkin memakan waktu lebih lama. Anda dapat melihat Assessment Result selama fase pemeriksaan awal. Hasil penilaian tidak memengaruhi hasil pemeriksaan awal.
Synchronization Topology
Pilih One-way Synchronization.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tabel dengan nama yang sama tidak ada, pemeriksaan awal lolos. Jika tabel dengan nama yang sama ada, 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 Map table and column names.
-
Ignore Errors and Proceed: Melewati pemeriksaan nama tabel duplikat di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan membahayakan bisnis Anda. Misalnya:
-
Jika skema tabel sama dan catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber:
-
Selama sinkronisasi penuh, DTS mempertahankan catatan di klaster 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 sebagian data kolom yang disinkronkan atau kegagalan sinkronisasi total. Lakukan dengan hati-hati.
-
Capitalization of Object Names in Destination Instance
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.CatatanAnda dapat memilih database, tabel, dan kolom sebagai objek sinkronisasi. Jika Anda memilih tabel atau kolom, objek lain seperti view, trigger, dan prosedur tersimpan tidak disinkronkan ke database tujuan.
Selected Objects
-
Untuk mengganti nama satu objek sinkronisasi di instans tujuan, klik kanan objek di kotak Selected Objects. Untuk informasi selengkapnya tentang mengganti nama objek, lihat Map a single database, table, or column.
-
Untuk mengubah nama beberapa objek sinkronisasi di instans tujuan secara batch, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi selengkapnya, lihat Map databases, tables, and columns in a batch.
CatatanUntuk memilih operasi SQL yang akan disinkronkan pada tingkat database atau tabel, klik kanan objek yang akan disinkronkan di kotak Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.
Untuk memfilter data menggunakan klausa WHERE, klik kanan tabel yang akan disinkronkan di kotak Selected Objects dan atur kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Set filter conditions.
Jika Anda menggunakan pemetaan nama objek, sinkronisasi objek dependen mungkin gagal.
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Parameter ini tetap pada klaster khusus saat ini dan tidak dapat diubah.
Copy the temporary table of the Online DDL tool that is generated in the source table to the destination database.
Jika Anda menggunakan Data Management (DMS) atau gh-ost untuk melakukan perubahan DDL Online di database sumber, Anda dapat memilih apakah akan menyinkronkan data tabel temporary yang dihasilkan oleh perubahan DDL Online tersebut.
Penting-
Tugas DTS tidak mendukung penggunaan alat seperti pt-online-schema-change untuk melakukan perubahan DDL Online. Menggunakan alat tersebut akan menyebabkan tugas DTS gagal.
-
Metode pemrosesan untuk setiap tahap adalah sebagai berikut: Tahap Schema Synchronization dan Full Data Synchronization tidak mengizinkan operasi DDL yang mengubah skema database atau tabel. Oleh karena itu, tahap-tahap ini tidak dikendalikan oleh kebijakan DDL Online.
-
Schema Synchronization: Tahap ini tidak dikendalikan oleh kebijakan DDL Online. Tabel temporary terkait dibuat.
-
Full Data Synchronization: Tahap ini tidak dikendalikan oleh kebijakan DDL Online. Tabel temporary tidak termasuk dalam objek sinkronisasi penuh. Semua tabel yang namanya sesuai dengan ekspresi reguler (
^_(.+)_(?:gho|new)$atau^_(.+)_(?:ghc|del|old)$) difilter. -
Incremental Data Synchronization: Tahap ini dikendalikan oleh kebijakan DDL Online.
-
Yes: Menyinkronkan perubahan data di tabel temporary (misalnya,
_table-name_gho) yang dihasilkan oleh operasi DDL Online. -
No, Adapt to DMS Online DDL dan No, Adapt to gh-ost: Memfilter perubahan data di tabel temporary (misalnya,
_table-name_gho) yang dihasilkan oleh alat seperti gh-ost berdasarkan aturan ekspresi reguler.
-
-
-
Yes: Menyinkronkan data tabel temporary yang dihasilkan oleh perubahan DDL Online.
CatatanJika data tabel temporary yang dihasilkan oleh perubahan DDL Online terlalu besar, hal ini dapat menyebabkan latensi sinkronisasi.
-
No, Adapt to DMS Online DDL: Tidak menyinkronkan data dari tabel temporary yang dihasilkan oleh operasi DDL Online. Hanya menyinkronkan pernyataan DDL asli yang dieksekusi menggunakan Data Management (DMS) di database sumber.
CatatanOpsi ini menyebabkan tabel terkunci di database tujuan.
-
No, Adapt to gh-ost: Tidak menyinkronkan data dari tabel temporary yang dihasilkan oleh perubahan DDL Online. Mendukung aturan pemfilteran kustom. DTS memfilter perubahan data di tabel temporary (misalnya,
_table-name_gho) yang dihasilkan oleh alat seperti gh-ost berdasarkan aturan ekspresi reguler. Anda dapat memodifikasi ekspresi reguler default yang digunakan untuk mencocokkan tabel shadow dan tabel tidak berguna sesuai kebutuhan:-
Tabel shadow:
^_(.+)_(?:gho|new)$ -
Tabel tidak berguna:
^_(.+)_(?:ghc|del|old)$
CatatanOpsi ini menyebabkan tabel terkunci di database tujuan.
-
Whether to Migrate Accounts
Pilih apakah akan menyinkronkan informasi akun database sumber. Jika Anda memilih Yes, Anda juga perlu memilih akun yang akan disinkronkan dan mengonfirmasi izinnya. Untuk informasi selengkapnya, lihat Migrasi akun database.
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 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 mengenakan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis Anda 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 exception eksekusi DDL atau DML), DTS melaporkan error dan segera mulai melakukan operasi percobaan ulang terus-menerus. 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 gagal.
PentingNilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk 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 mengatur 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 tersedia hanya 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 mengatur 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. Tidak perlu pemilihan dalam contoh ini.
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 delay.
-
No: Menulis informasi SQL heartbeat ke database sumber. Hal ini dapat mengganggu fitur seperti backup fisik dan kloning database sumber.
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 mengatur ambang batas peringatan dan menentukan notifikasi peringatan. Untuk informasi selengkapnya, lihat Konfigurasikan pemantauan peringatan selama konfigurasi tugas.
-
-
Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.
Jika Anda ingin menggunakan fitur validasi data, lihat Konfigurasikan validasi data untuk petunjuk konfigurasi.
-
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.
-
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 kembali pemeriksaan awal.
-
Jika pemeriksaan awal mengembalikan peringatan:
-
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan kembali pemeriksaan awal.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali pemeriksaan awal. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
-
Saat tingkat keberhasilan pemeriksaan awal mencapai 100%, klik Next: Select DTS Instance Type.
Di bagian New Instance Class, atur Instance Class untuk tugas. Anda dapat menentukan nilai dari 1 DU hingga maksimum DU yang tersedia di klaster.
Setelah menyelesaikan konfigurasi, baca dan pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Start Task. Di kotak dialog yang muncul, klik OK untuk memulai tugas sinkronisasi.
Anda dapat memfilter tugas di Cluster Task List untuk memantau perkembangannya.