Fitur proksi database untuk instans utama ApsaraDB RDS for MySQL mendukung pemisahan transaksi guna memastikan konsistensi baca/tulis dan meneruskan permintaan baca sebelum operasi tulis pertama dalam transaksi ke instans RDS baca-saja. Hal ini mengurangi beban pada instans RDS utama. Topik ini menjelaskan cara mengaktifkan dan menonaktifkan pemisahan transaksi.
Prasyarat
Fitur proksi database harus diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan fitur proksi database.
Informasi latar belakang
Fitur proksi database dari ApsaraDB RDS for MySQL secara otomatis mengirimkan semua permintaan dalam transaksi ke instans RDS utama untuk memastikan akurasi transaksi. Dalam beberapa kasus, semua permintaan dibungkus dalam transaksi yang tidak dikomit secara otomatis. Anda dapat menjalankan pernyataan set autocommit=0; untuk menonaktifkan mode autocommit. Akibatnya, instans RDS utama menjadi sangat terbebani.

Untuk menyelesaikan masalah tersebut, Anda dapat menggunakan kemampuan pemisahan transaksi dari fitur proksi database. Kemampuan ini diaktifkan secara otomatis dan memindahkan permintaan baca dalam transaksi dari instans RDS utama ke instans RDS baca-saja tanpa perlu memodifikasi kode aplikasi atau konfigurasi. Ini meningkatkan stabilitas instans RDS utama.
Setelah pemisahan transaksi diaktifkan, jika tingkat isolasi default READ COMMITTED digunakan dan mode autocommit transaksi dinonaktifkan, sistem hanya memulai transaksi untuk operasi tulis. Selain itu, sebelum transaksi dimulai, sistem merutekan semua permintaan baca ke instans RDS baca-saja menggunakan load balancer.
Jika instans RDS Anda dibuat pada atau setelah 31 Juli 2024, transaksi eksplisit, termasuk transaksi yang dimulai dengan menjalankan pernyataan BEGIN TRANSACTION atau START TRANSACTION, dapat dipisah. Jika instans RDS Anda dibuat sebelum 31 Juli 2024, hanya transaksi yang dimulai secara implisit yang dapat dipisah.
Tabel berikut menjelaskan logika penerusan dalam skenario di mana auto commit dinonaktifkan dan transaksi dimulai secara implisit.
Pernyataan SQL | Diteruskan ke | Catatan |
SELECT | Instans RDS baca-saja | Permintaan baca sebelum permintaan tulis pertama dalam transaksi |
SELECT | Instans RDS baca-saja | Permintaan baca sebelum permintaan tulis pertama dalam transaksi |
UPDATE, INSERT, dan DELETE | Instans Utama RDS | Permintaan tulis pertama dalam transaksi setelah transaksi dimulai |
SELECT | Instans RDS utama | Permintaan baca setelah permintaan tulis pertama dalam transaksi |
UPDATE, INSERT, dan DELETE | Instans Utama RDS | Permintaan tulis |
SELECT | Instans RDS utama | Permintaan baca setelah permintaan tulis pertama dalam transaksi |
COMMIT | Instans RDS utama | Fase komit transaksi |
Prosedur
Anda dapat mengaktifkan atau menonaktifkan fitur pemisahan transaksi sesuai kebutuhan bisnis Anda.
Jika pemisahan transaksi diaktifkan, konsistensi global tidak dapat dijamin. Sebelum mengaktifkan fitur proksi database, pastikan bahwa pemisahan transaksi sesuai untuk beban kerja Anda.
Buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS dan klik ID instans tersebut.
Di panel navigasi di sebelah kiri, klik Database Proxy.
Di bagian Connection Information, temukan titik akhir proksi database yang ingin Anda modifikasi dan klik Modify Configuration di kolom Actions.
Di kotak dialog yang muncul, klik Enable atau Disable di samping Transaction Splitting.
CatatanSetelah mengaktifkan atau menonaktifkan pemisahan transaksi, pengaturan baru hanya diterapkan pada koneksi baru.
Operasi terkait
Operasi | Deskripsi |
Mengambil detail proksi database. | |
Mengambil informasi tentang titik akhir proksi database. | |
Memodifikasi pengaturan titik akhir proksi database. |