All Products
Search
Document Center

ApsaraDB RDS:Optimalkan latensi replikasi untuk transaksi besar

Last Updated:Apr 02, 2026

ApsaraDB RDS for MySQL menggunakan replikasi logis. Setelah sebuah transaksi dieksekusi pada instans primary, event binlog-nya dikirim ke replica, yang kemudian menerapkannya untuk memastikan konsistensi data. Namun, dalam arsitektur ini, transaksi besar yang berjalan lama dapat menyebabkan latensi replikasi signifikan pada replica. Untuk mengatasi masalah tersebut, ApsaraDB RDS for MySQL menyediakan fitur real-time application untuk transaksi besar. Fitur ini memungkinkan replica mulai mengeksekusi transaksi besar saat transaksi tersebut masih berjalan di instans primary. Dengan mengeksekusi transaksi secara simultan di kedua instans, fitur ini hampir menghilangkan latensi replikasi yang ditimbulkannya dan memastikan high availability untuk instans Anda.

Cara kerja

image

Latensi replikasi untuk transaksi besar (diagram kiri): Di MySQL, replica hanya mulai menerapkan transaksi besar setelah transaksi tersebut di-commit pada instans primary. Artinya, waktu eksekusi transaksi di replica menjadi latensi replikasi. Selama periode ini, transaksi lain yang telah di-commit di instans primary tidak dapat diterapkan di replica, sehingga memperlambat pembaruan data.

Optimasi real-time application untuk transaksi besar (diagram kanan): Inti optimasi ini adalah mengeksekusi transaksi besar secara simultan di replica dan instans primary. Saat transaksi besar di-commit di instans primary, transaksi tersebut juga di-commit di replica. Jika transaksi besar di-rollback di instans primary, transaksi tersebut juga di-rollback di replica.

Prasyarat

Untuk menggunakan fitur real-time application untuk transaksi besar, instans Anda harus memenuhi persyaratan berikut:

Prosedur

  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID instansnya.

  2. Di panel navigasi sebelah kiri, klik Parameters.

  3. Pada tab Editable Parameters, cari dan konfigurasikan parameter berikut:

    1. Aktifkan fitur real-time application untuk transaksi besar:

      1. Atur loose_binlog_realtime_apply_long_trx_enabled ke ON.

      2. Atur loose_binlog_realtime_transmit_source_enabled ke ON.

      3. Atur loose_binlog_realtime_transmit_replica_enabled ke ON.

    2. Parameter lain yang diperlukan:

      Parameter

      Description

      Recommended value

      loose_binlog_realtime_replica_long_transaction_limit_size

      Menentukan ambang batas ukuran transaksi untuk memicu replikasi real-time. Ketika event binlog yang dihasilkan oleh suatu transaksi melebihi nilai ini, fitur ini akan diaktifkan secara otomatis.

      64 MB

      loose_binlog_realtime_enable_log_messag

      Menentukan apakah log replikasi real-time ditulis ke error log. Kami merekomendasikan untuk mengaktifkan parameter ini.

      ON

      loose_binlog_realtime_apply_workers

      Mengontrol jumlah thread Brr Worker untuk replikasi real-time.

      8

  4. Klik OK, lalu klik Submit Parameters. Pada kotak dialog yang muncul, pilih kapan perubahan akan diterapkan. Perubahan parameter berlaku langsung tanpa memerlukan restart instans.

Hasil optimasi

Contoh berikut menunjukkan efek fitur ini pada transaksi impor data yang melibatkan 5 juta baris di instans primary:

  • Sebelum optimasi: Transaksi dieksekusi terlebih dahulu di instans primary. Setelah di-commit, transaksi tersebut diterapkan di replica. Latensi replikasi sama dengan waktu eksekusi transaksi.

  • Setelah optimasi: Transaksi dieksekusi secara simultan di instans primary dan replica, sehingga menghilangkan latensi replikasi.

image.png