All Products
Search
Document Center

Data Transmission Service:Sinkronisasi dua arah antar instans MySQL

Last Updated:May 01, 2026

Data Transmission Service (DTS) mendukung sinkronisasi dua arah antara database MySQL. Topik ini memandu Anda melalui prosedur konfigurasi sinkronisasi dua arah antara instans RDS MySQL.

Prasyarat

  • Instans sumber dan tujuan ApsaraDB RDS for MySQL telah dibuat. Untuk petunjuknya, lihat Buat instans ApsaraDB RDS for MySQL.

  • Instans sumber dan tujuan ApsaraDB RDS for MySQL harus memiliki kapasitas penyimpanan yang sama.

Batasan

Catatan
  • Saat sinkronisasi skema, DTS menyinkronkan kunci asing dari database sumber ke database tujuan.

  • Selama sinkronisasi data penuh dan inkremental, DTS sementara menonaktifkan pemeriksaan kendala serta operasi kaskade kunci asing pada tingkat sesi. Ketidakkonsistenan data dapat terjadi jika operasi pembaruan atau penghapusan kaskade dilakukan pada database sumber saat tugas sedang berjalan.

Type

Description

Batasan database sumber dan tujuan

  • Jika tabel yang akan disinkronkan tidak memiliki kunci primer dan kendala unik, aktifkan Penulisan Exactly-Once dalam konfigurasi tugas. Jika tidak, data duplikat mungkin muncul di database tujuan. Untuk informasi lebih lanjut, lihat Sinkronisasi tabel tanpa kunci primer atau kendala unik.

  • Jika Anda melakukan sinkronisasi pada tingkat tabel dan perlu mengedit pemetaan (seperti pemetaan nama kolom), setiap tugas sinkronisasi mendukung hingga 1.000 tabel. Jika melebihi batas ini, tugas akan gagal dengan error. Untuk mengatasinya, bagi tabel ke beberapa tugas atau konfigurasikan tugas sinkronisasi seluruh database.

  • Log biner:

    • ApsaraDB RDS for MySQL mengaktifkan binary logging secara default. Pastikan parameter binlog_row_image diatur ke full. Jika tidak, pemeriksaan awal akan gagal dan tugas sinkronisasi tidak dapat dimulai. Untuk petunjuknya, lihat Konfigurasi parameter instans.

      Penting
      • Jika instans sumber Anda adalah database MySQL yang dikelola sendiri, aktifkan binary logging dan atur binlog_format ke row serta binlog_row_image ke full.

      • Jika database MySQL yang dikelola sendiri Anda adalah kluster dual-primary (kedua node berperan sebagai primary dan secondary), aktifkan parameter log_slave_updates agar DTS dapat menangkap semua event log biner. Untuk petunjuknya, lihat Buat akun dan konfigurasi binary logging untuk database MySQL yang dikelola sendiri.

    • Log biner lokal untuk instans ApsaraDB RDS for MySQL harus dipertahankan minimal selama tiga hari (disarankan tujuh hari). Untuk database MySQL yang dikelola sendiri, pertahankan log biner lokal minimal selama tujuh hari. Jika tidak, DTS mungkin gagal mengambil log biner, sehingga tugas gagal. Dalam kasus ekstrem, hal ini dapat menyebabkan ketidakkonsistenan data atau kehilangan data. Masalah yang disebabkan oleh periode retensi log biner lebih pendek dari yang disyaratkan DTS tidak dicakup dalam SLA DTS.

      Catatan

      Untuk mengonfigurasi retention period log biner lokal pada instans ApsaraDB RDS for MySQL, lihat Hapus log lokal secara otomatis.

  • Jangan menjalankan operasi DDL yang mengubah skema database atau tabel selama sinkronisasi skema atau sinkronisasi penuh. Jika dilakukan, tugas sinkronisasi akan gagal.

    Catatan

    Selama sinkronisasi penuh, DTS melakukan query ke database sumber. Hal ini membuat metadata lock yang dapat memblokir operasi DDL pada database sumber.

  • Data yang dihasilkan dari perubahan yang tidak ditulis ke log biner—seperti data yang dipulihkan dari backup fisik atau dibuat oleh operasi kaskade—tidak disinkronkan ke database tujuan.

    Catatan

    Jika hal ini terjadi, hapus database atau tabel yang terpengaruh dari objek sinkronisasi. Lalu tambahkan kembali. Anda hanya dapat melakukan ini jika bisnis Anda mengizinkannya. Untuk informasi lebih lanjut, lihat Ubah objek sinkronisasi.

  • Pastikan baik database sumber maupun tujuan tidak berisi kolom tersembunyi yang tidak terlihat pada kolom yang akan disinkronkan. Jika ada, tugas DTS mungkin gagal atau data hilang.

    Catatan

    Jalankan perintah ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE; untuk membuat kolom tersembunyi menjadi terlihat. Untuk informasi lebih lanjut, lihat Invisible Columns.

Batasan lainnya

  • Gunakan versi yang sama untuk database sumber dan tujuan, atau lakukan upgrade dari versi lebih rendah ke versi lebih tinggi untuk memastikan kompatibilitas. Sinkronisasi dari versi lebih tinggi ke versi lebih rendah dapat menyebabkan masalah kompatibilitas.

  • Jika database sumber menggunakan operasi DDL Online dalam mode temporary table—termasuk tetapi tidak terbatas pada skenario penggabungan multi-tabel—atau menambahkan indeks berbasis fungsi ke kolom kunci unik, kehilangan data atau kegagalan tugas dapat terjadi di database tujuan.

  • Resolver yang didefinisikan dengan sintaks komentar tidak mendukung penggunaan sinkron.

  • Jika terjadi konflik kunci primer atau kunci unik saat tugas berjalan:

    • Jika skema tabel sama dan sebuah record di database tujuan memiliki nilai kunci primer atau kunci unik yang sama dengan record di database sumber:

      • Selama sinkronisasi penuh, DTS mempertahankan record di kluster tujuan. Record yang sesuai dari database sumber tidak disinkronkan.

      • Selama sinkronisasi inkremental, record dari database sumber menimpa record 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.

  • Jika Anda tidak menggunakan DTS untuk menyinkronkan skema tabel, pastikan sendiri kompatibilitas field. Jika tidak, tugas mungkin gagal atau data hilang. Misalnya, jika tabel sumber menggunakan tipe data text dan kolom tujuan menggunakan varchar(255), field besar di tabel sumber mungkin terpotong.

  • Saat tugas sinkronisasi dua arah berjalan, DTS membuat database bernama dts di database tujuan dari tugas forward dan reverse. Hal ini mencegah sinkronisasi melingkar. Jangan ubah database ini selama tugas berjalan. Pastikan akun database yang digunakan tugas memiliki izin baca dan tulis pada database ini.

    Catatan

    Database dts dapat mengganggu replikasi primary/secondary normal di MySQL. Periksa apakah database dts dan tabelnya ada di database sekunder. Jika tidak ada, buat secara manual di database sekunder menggunakan skema yang sama seperti di database primer.

  • Jika data Anda mencakup karakter empat-byte—seperti karakter Tionghoa langka atau emoji—database dan tabel tujuan harus menggunakan charset utf8mb4.

    Catatan

    Jika Anda menggunakan DTS untuk menyinkronkan skema tabel, atur parameter character_set_server pada tingkat instans di database tujuan ke utf8mb4.

  • Nilai kinerja database sumber dan tujuan sebelum memulai sinkronisasi. Jalankan sinkronisasi selama jam sepi. Jika tidak, inisialisasi penuh akan mengonsumsi sumber daya baca dan tulis di kedua database dan dapat meningkatkan beban database.

  • Inisialisasi penuh menjalankan operasi INSERT secara konkuren. Hal ini menyebabkan fragmentasi tabel tujuan. Setelah inisialisasi penuh, ruang tabel instans tujuan lebih besar daripada instans sumber.

  • Jika Anda menyinkronkan satu atau beberapa tabel—bukan seluruh database—jangan gunakan tools seperti pt-online-schema-change untuk melakukan operasi DDL Online pada tabel sumber. Jika dilakukan, sinkronisasi akan gagal.

    Anda dapat menggunakan Data Management (DMS) untuk melakukan operasi DDL Online. Untuk informasi lebih lanjut, lihat DDL Online tanpa mengunci tabel.

  • DTS secara default menonaktifkan kendala kunci asing saat menyinkronkan ke database tujuan. Oleh karena itu, operasi kaskade dan penghapusan di database sumber tidak disinkronkan ke database tujuan.

  • Tugas sinkronisasi dua arah mencakup tugas sinkronisasi forward dan reverse. Saat Anda mengonfigurasi atau mengatur ulang tugas, jika objek tujuan salah satu tugas sesuai dengan objek sinkronisasi tugas lainnya:

    • Izinkan hanya satu tugas untuk menyinkronkan data penuh dan inkremental. Tugas lain hanya mendukung sinkronisasi inkremental.

    • Data dari sumber tugas saat ini hanya disinkronkan ke tujuan tugas saat ini. Data tersebut tidak berfungsi sebagai data sumber untuk tugas lainnya.

  • Jika operasi DDL gagal di database tujuan, tugas DTS tetap berjalan. Periksa DDL yang gagal di log tugas. Untuk petunjuknya, lihat Lihat log tugas.

  • Jika Anda menulis kolom dengan nama yang hanya berbeda huruf besar/kecil ke tabel yang sama di database MySQL tujuan, hasil yang tidak terduga dapat terjadi karena nama kolom MySQL tidak peka huruf besar/kecil.

  • Setelah sinkronisasi data selesai (Status Status menjadi Completed), Anda harus menggunakan perintah ANALYZE TABLE <table_name> untuk memastikan semua data telah ditulis ke tabel target. Misalnya, setelah mekanisme failover HA dipicu di database MySQL target, data mungkin hanya ditulis ke memori, yang dapat menyebabkan kehilangan data.

  • Jika instans ApsaraDB RDS for MySQL Anda telah mengaktifkan Always-Encrypted, sinkronisasi data penuh tidak didukung.

    Catatan

    Instans ApsaraDB RDS for MySQL dengan Transparent Data Encryption (TDE) yang diaktifkan mendukung sinkronisasi skema, sinkronisasi data penuh, dan sinkronisasi data inkremental.

  • Untuk menyinkronkan akun dari database sumber, penuhi prasyarat dan tinjau pertimbangan terkait. Untuk informasi lebih lanjut, lihat Migrasi akun database.

  • Jika tugas gagal, staf dukungan DTS akan mencoba memulihkannya dalam waktu delapan jam. Selama pemulihan, mereka mungkin me-restart tugas atau menyesuaikan parameternya.

    Catatan

    Hanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum dalam Ubah parameter instans.

Kasus khusus

  • Untuk database sumber MySQL yang dikelola sendiri:

    • Jika terjadi alih bencana primary/secondary di database sumber selama sinkronisasi, tugas akan gagal.

    • DTS menghitung latensi dengan membandingkan timestamp record terakhir yang disinkronkan dengan waktu saat ini. Jika tidak ada operasi DML yang berjalan dalam waktu lama di database sumber, pelaporan latensi mungkin menjadi tidak akurat. Jika latensi tampak terlalu tinggi, jalankan operasi DML di database sumber untuk memperbarui latensi.

      Catatan

      Jika Anda memilih seluruh database untuk sinkronisasi, buat tabel heartbeat. Perbarui atau tulis ke tabel ini setiap detik.

    • DTS secara berkala menjalankan perintah CREATE DATABASE IF NOT EXISTS `test` di database sumber untuk memajukan offset log biner.

    • Jika MySQL yang dikelola sendiri berfungsi sebagai database sumber untuk tugas sinkronisasi dua arah dan tugas lainnya, Anda harus menambahkan baris log_slave_updates=1 ke file /etc/my.cnf database sumber lalu restart database. Jika tidak, perubahan data dari tugas reverse tidak akan dicatat dalam log biner MySQL yang dikelola sendiri, menyebabkan ketidakkonsistenan data di tugas lainnya.

    • Jika database sumber Anda adalah Amazon Aurora MySQL atau instans MySQL berkluster lainnya, pastikan nama domain atau alamat IP yang digunakan dalam konfigurasi tugas—dan resolusi DNS-nya—selalu mengarah ke node read/write (RW). Jika tidak, sinkronisasi mungkin gagal.

  • Untuk database sumber ApsaraDB RDS for MySQL:

    • Instans hanya baca—seperti instans hanya baca ApsaraDB RDS for MySQL 5.6—yang tidak mencatat log transaksi tidak dapat berfungsi sebagai database sumber.

    • DTS secara berkala menjalankan perintah CREATE DATABASE IF NOT EXISTS `test` di database sumber untuk memajukan offset log biner.

Penagihan

Jenis sinkronisasi

Harga

Sinkronisasi skema dan sinkronisasi data penuh

Gratis.

Sinkronisasi data inkremental

Dikenai biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.

Deteksi konflik

Untuk menjaga konsistensi data, pastikan bahwa record dengan kunci primer, kunci primer bisnis, atau kunci unik yang sama hanya diperbarui di salah satu instans database dalam sinkronisasi dua arah. Jika record tersebut diperbarui di kedua instans, sistem DTS akan menerapkan kebijakan resolusi konflik yang dikonfigurasi dalam tugas.

DTS memeriksa dan memperbaiki konflik guna memaksimalkan stabilitas tugas sinkronisasi dua arah. Jenis konflik berikut dapat dideteksi oleh DTS:

  • Konflik keunikan akibat operasi INSERT

    Dalam sinkronisasi dua arah, jika record dengan kunci primer yang sama dimasukkan ke kedua instans secara bersamaan (atau hampir bersamaan), konflik kendala keunikan akan terpicu. Saat pernyataan INSERT disinkronkan ke instans pasangan, operasi tersebut gagal karena record dengan nilai kunci primer yang sama sudah ada.

  • Record tidak cocok dalam operasi UPDATE

    • Jika record yang akan diperbarui tidak ada di instans tujuan, DTS mengonversi operasi UPDATE menjadi INSERT. Namun, hal ini berpotensi menyebabkan konflik keunikan.

    • Operasi UPDATE menyebabkan konflik pada kunci primer atau kunci unik.

  • Catatan yang tidak ada akan dihapus.

    Jika record yang akan dihapus tidak ada di instans tujuan, DTS mengabaikan operasi DELETE terlepas dari kebijakan resolusi konflik yang ditentukan.

Penting
  • Karena perbedaan waktu dan latensi, DTS tidak dapat menjamin pencegahan konflik 100%. Untuk memastikan konsistensi data, perbarui record dengan kunci primer atau unik yang sama hanya di satu instans database dalam satu waktu.

  • DTS menyediakan berbagai strategi resolusi konflik yang dapat dipilih saat mengonfigurasi sinkronisasi data dua arah.

Pernyataan SQL yang didukung

Jenis operasi

Pernyataan SQL

DML

INSERT, UPDATE, DELETE

DDL

  • ALTER TABLE, ALTER VIEW

  • CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW

  • DROP INDEX, DROP TABLE

  • RENAME TABLE

    Penting

    Operasi RENAME TABLE dapat menyebabkan ketidakkonsistenan data. Misalnya, jika objek sinkronisasi adalah satu tabel dan Anda mengganti nama tabel ini di instans sumber selama sinkronisasi, data tabel ini tidak disinkronkan ke database tujuan. Untuk mencegah masalah ini, pilih seluruh database tempat tabel tersebut berada sebagai objek sinkronisasi. Pastikan database tempat tabel berada sebelum dan sesudah operasi RENAME TABLE termasuk dalam objek sinkronisasi.

  • TRUNCATE TABLE

Penting
  • Pernyataan DDL hanya disinkronkan dalam tugas forward (dari database sumber ke tujuan). Dalam tugas reverse, pernyataan DDL tidak didukung dan secara otomatis difilter.

  • Selama sinkronisasi dua arah, jika Anda menjalankan pernyataan DDL di database sumber untuk memodifikasi skema tabel, pastikan operasi tulis DML di kedua database sumber dan tujuan konsisten dengan skema baru. Jika tidak, operasi tulis dapat gagal. Misalnya, jika Anda menghapus kolom dari database sumber, database tujuan mungkin masih mencoba menulis data berdasarkan skema lama yang mencakup kolom tersebut.

Izin akun

Database

Izin

Tindakan

Sumber ApsaraDB RDS for MySQL

Akun harus memiliki izin baca dan tulis pada database sumber dan tujuan. Akun istimewa untuk instans ApsaraDB RDS for MySQL sudah memiliki izin ini.

Buat akun dan atur ulang akun istimewa.

Tujuan ApsaraDB RDS for MySQL

Prosedur

  1. Buka halaman daftar tugas sinkronisasi di wilayah tujuan menggunakan salah satu metode berikut:

    Dari Konsol DTS

    1. Masuk ke Konsol Data Transmission Service (DTS).

    2. Di panel navigasi kiri, klik Data Synchronization.

    3. Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.

    Dari Konsol DMS

    Catatan

    Tampilan aktual dapat berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi lebih lanjut, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.

    1. Masuk ke Data Management (DMS).

    2. Di bilah menu atas, pilih Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasi database sumber dan tujuan.

    Peringatan

    Setelah memilih instans sumber dan tujuan, baca dengan cermat batasan yang ditampilkan di bagian atas halaman. Jika batasan tersebut tidak dipatuhi, tugas dapat gagal atau menyebabkan ketidakkonsistenan data.

    Kategori

    Parameter

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tidak harus unik.

    Source Database

    Select Existing Connection

    • Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.

      Catatan

      Di konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasi manual informasi database berikut.

    Database Type

    Pilih MySQL.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah instans sumber RDS MySQL.

    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 sumber RDS MySQL.

    Catatan

    Instans sumber dan tujuan RDS MySQL dapat sama atau berbeda. Anda dapat menggunakan DTS untuk menyinkronkan data antara dua instans RDS MySQL atau dalam instans RDS MySQL yang sama.

    Database Account

    Masukkan akun istimewa untuk instans sumber RDS MySQL.

    Database Password

    Masukkan password 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 lebih lanjut, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL dengan cepat.

    Destination Database

    Select Existing Connection

    • Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.

      Catatan

      Di konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasi manual informasi database berikut.

    Database Type

    Pilih MySQL.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah instans tujuan RDS MySQL.

    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 tujuan RDS MySQL.

    Database Account

    Masukkan akun istimewa untuk instans tujuan RDS MySQL.

    Database Password

    Masukkan password 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 lebih lanjut, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL dengan cepat.

  4. Setelah konfigurasi selesai, 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 agar server DTS dapat mengaksesnya. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi lebih lanjut, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.

    • Jika database sumber atau tujuan merupakan database self-managed (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  5. Konfigurasi objek tugas.

    1. Di halaman Configure Objects, tentukan 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 sebagai garis dasar untuk sinkronisasi inkremental berikutnya.

      Method to Migrate Triggers in Source Database

      Pilih metode penyinkronan trigger sesuai kebutuhan. Jika objek yang disinkronkan tidak melibatkan trigger, parameter ini dapat dilewati. Untuk informasi lebih lanjut, lihat Konfigurasi cara menyinkronkan atau memigrasi trigger.

      Catatan

      Parameter ini hanya dapat dikonfigurasi jika Anda memilih Schema Synchronization untuk Synchronization Types.

      Enable Migration Assessment

      Nilai apakah skema database sumber dan tujuan—seperti panjang indeks, prosedur tersimpan, dan tabel dependen—memenuhi persyaratan. Pilih Yes atau No sesuai kebutuhan bisnis Anda.

      Catatan
      • Parameter ini hanya dapat dikonfigurasi jika Anda memilih Schema Synchronization untuk Synchronization Types.

      • 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 Two-way Synchronization.

      Enable Exactly-Once Write

      Jika objek yang disinkronkan mencakup tabel tanpa kunci primer atau kendala unik, pilih Yes. Untuk informasi lebih lanjut, lihat Sinkronisasi tabel tanpa kunci primer atau kendala unik.

      Exclude DDL Operations

      • Yes: Operasi DDL tidak disinkronkan.

      • No: Operasi DDL disinkronkan.

        Penting

        Untuk menjaga stabilitas link sinkronisasi dua arah, Anda dapat memilih apakah akan menyinkronkan operasi DDL hanya untuk tugas forward (dari database sumber ke tujuan). Tugas reverse (dari database tujuan ke sumber) secara otomatis memfilter operasi DDL.

      Global Conflict Resolution Policy

      Jika menghadapi jenis konflik tersebut, pilih kebijakan resolusi konflik yang sesuai dengan kebutuhan bisnis Anda.

      • TaskFailed (If a conflict occurs, an error is reported and the task is stopped)

        Jika terjadi konflik data selama sinkronisasi, tugas melaporkan error dan berhenti. Tugas masuk ke status Failed dan memerlukan intervensi manual.

      • Ignore (If a conflict occurs, the conflicting record in the destination instance is used)

        Jika terjadi konflik data selama sinkronisasi, pernyataan sinkronisasi saat ini dilewati dan proses berlanjut. Record yang bertentangan di database tujuan dipertahankan.

      • Overwrite (If a conflict occurs, the conflicting record in the destination instance is overwritten)

        Jika terjadi konflik data selama sinkronisasi, record yang bertentangan di database tujuan ditimpa.

      Catatan

      Kebijakan ini tidak berlaku selama periode latensi setelah tugas dijeda atau dimulai ulang. Dalam kasus tersebut, data database tujuan ditimpa secara default.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Memeriksa keberadaan tabel dengan nama yang sama di database tujuan. Jika tidak ada, pemeriksaan awal lolos. Jika ada, pemeriksaan awal gagal dan tugas sinkronisasi tidak dimulai.

        Catatan

        Jika 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 lebih lanjut, lihat Pemetaan nama tabel dan kolom.

      • Ignore Errors and Proceed: Melewati pemeriksaan duplikasi nama tabel di database tujuan.

        Peringatan

        Memilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan membahayakan bisnis Anda. Misalnya:

        • Jika skema tabel sama dan sebuah record di database tujuan memiliki nilai kunci primer atau unik yang sama dengan record di database sumber:

          • Selama sinkronisasi penuh, DTS mempertahankan record di kluster tujuan. Record yang sesuai dari database sumber tidak disinkronkan.

          • Selama sinkronisasi inkremental, record dari database sumber menimpa record di database tujuan.

        • Jika skema tabel berbeda, sinkronisasi data awal mungkin gagal, sehingga hanya sebagian data kolom yang disinkronkan atau terjadi kegagalan total. Lakukan dengan hati-hati.

      Whether to migrate Event

      Tentukan apakah akan menyinkronkan event dari database sumber sesuai kebutuhan. Jika memilih Yes, pastikan persyaratan terkait terpenuhi dan lakukan langkah-langkah selanjutnya. Untuk informasi lebih lanjut, lihat Sinkronisasi atau migrasi event.

      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 kebijakan default database sumber dan tujuan. Untuk informasi lebih lanjut, 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.

      Catatan

      Anda dapat memilih database, tabel, dan kolom sebagai objek sinkronisasi. Jika 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 tersebut di kotak Selected Objects. Untuk informasi selengkapnya tentang penggantian nama objek, lihat Memetakan satu database, tabel, atau kolom.

      • Untuk mengubah nama beberapa objek sinkronisasi di instans tujuan secara batch, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi lebih lanjut, lihat Pemetaan database, tabel, dan kolom secara batch.

      Catatan
      • Untuk memilih operasi SQL yang ingin disinkronkan pada tingkat database atau tabel, klik kanan objek 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, lalu atur kondisi filter di kotak dialog yang muncul. Untuk informasi lebih lanjut, lihat Atur kondisi filter.

      • Jika menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang dipetakan mungkin gagal disinkronkan.

      • Jika perlu mengonfigurasi Independent Conflict Resolution Policy untuk sinkronisasi data inkremental, lihat Atur kebijakan resolusi konflik independen.

    2. Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada kluster bersama, sehingga Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi lebih lanjut, lihat Apa itu kluster khusus DTS?.

      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 sementara yang dihasilkan oleh perubahan DDL Online tersebut.

      Penting
      • Tugas DTS tidak mendukung penggunaan tools seperti pt-online-schema-change untuk melakukan perubahan DDL Online. Penggunaan tools 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 sementara terkait dibuat.

        • Full Data Synchronization: Tahap ini tidak dikendalikan oleh kebijakan DDL Online. Tabel sementara tidak termasuk dalam objek sinkronisasi penuh. Semua tabel yang namanya cocok 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 sementara (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 sementara (misalnya, _table-name_gho) yang dihasilkan oleh tools seperti gh-ost berdasarkan aturan ekspresi reguler.

      • Yes: Menyinkronkan data tabel sementara yang dihasilkan oleh perubahan DDL Online.

        Catatan

        Jika data tabel sementara 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 sementara yang dihasilkan oleh operasi DDL Online. Hanya menyinkronkan pernyataan DDL asli yang dieksekusi menggunakan Data Management (DMS) di database sumber.

        Catatan

        Opsi ini menyebabkan tabel terkunci di database tujuan.

      • No, Adapt to gh-ost: Tidak menyinkronkan data dari tabel sementara yang dihasilkan oleh perubahan DDL Online. Mendukung aturan pemfilteran kustom. DTS memfilter perubahan data di tabel sementara (misalnya, _table-name_gho) yang dihasilkan oleh tools 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)$

        Catatan

        Opsi ini menyebabkan tabel terkunci di database tujuan.

      Whether to Migrate Accounts

      Tentukan apakah akan menyinkronkan informasi akun dari database sumber sesuai kebutuhan. Jika memilih Yes, pilih juga akun yang akan disinkronkan dan konfirmasi izinnya. Untuk informasi lebih lanjut seperti metode otorisasi, 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 mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom antara 10 hingga 1.440 menit. Kami menyarankan durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi secara otomatis dilanjutkan. 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 sesuai 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 exception eksekusi DDL atau DML), DTS melaporkan error dan segera melakukan 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 pengaturan minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.

      Penting

      Nilai 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 hanya tersedia jika 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

      Berdasarkan kebutuhan Anda, Anda dapat memilih tag lingkungan untuk mengidentifikasi instans. Parameter ini tidak perlu dikonfigurasi 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 cloning database sumber.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai yang valid:

      Monitoring and Alerting

      Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.

    3. Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.

      Jika ingin menggunakan fitur validasi data, lihat Konfigurasi validasi data untuk petunjuk konfigurasi.

  6. 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 balon informasi.

    • Jika telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum tugas sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Tugas 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 memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.

  7. Beli instans.

    1. Ketika Success Rate mencapai 100%, klik Next: Purchase Instance.

    2. Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan opsi yang tersedia.

      Kategori

      Parameter

      Deskripsi

      New Instance Class

      Billing Method

      • Langganan: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.

      • Bayar sesuai penggunaan: 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 adalah kelompok sumber daya default. Untuk informasi lebih lanjut, 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 lebih lanjut, lihat Spesifikasi link sinkronisasi data.

      Synchronization Topology

      Ini tetap diatur ke Two-way Synchronization.

      Subscription Duration

      Dalam mode langganan, 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.

      Catatan

      Opsi ini hanya tersedia ketika metode penagihan adalah Subscription.

    3. Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Klik Buy and Start. Di kotak dialog OK, klik OK.

      Anda dapat melihat progres tugas di halaman Data Synchronization.

  8. Konfigurasi tugas sinkronisasi reverse.

    1. Tunggu hingga tugas sinkronisasi forward selesai inisialisasi dan Status berubah menjadi Running.

    2. Temukan tugas sinkronisasi reverse dan klik Configure Task.

    3. Ikuti Langkah 3 hingga Langkah 6 untuk mengonfigurasi tugas sinkronisasi reverse.

      Penting
      • Saat mengonfigurasi tugas sinkronisasi reverse, pastikan instans sumber dan tujuan dipilih dengan benar. Instans sumber untuk sinkronisasi reverse adalah instans tujuan dari sinkronisasi forward, sedangkan instans tujuan untuk sinkronisasi reverse adalah instans sumber dari sinkronisasi forward. Pastikan juga informasi instans seperti nama database, akun, dan kata sandi konsisten.

      • Anda tidak dapat mengubah Instance Region database sumber dan tujuan untuk tugas sinkronisasi reverse. Tugas ini juga memerlukan parameter konfigurasi lebih sedikit dibandingkan tugas sinkronisasi forward. Untuk parameter aktual, merujuklah ke konsol.

      • Konfigurasi Processing Mode of Conflicting Tables untuk tugas sinkronisasi reverse tidak memeriksa tabel yang disinkronkan ke instans tujuan oleh tugas sinkronisasi forward.

      • Tugas sinkronisasi reverse tidak mendukung penyinkronan objek yang ditentukan dalam daftar Selected Objects tugas sinkronisasi forward.

      • Kami menyarankan agar Anda tidak menggunakan fitur pemetaan saat mengonfigurasi tugas sinkronisasi reverse. Jika tidak, ketidakkonsistenan data dapat terjadi.

    4. Ketika Success Rate mencapai 100%, klik Back.

  9. Setelah tugas sinkronisasi reverse dikonfigurasi, tunggu hingga Status kedua tugas sinkronisasi menjadi Running. Dengan demikian, konfigurasi sinkronisasi data dua arah telah selesai.