Topik ini menjelaskan fitur pemisahan transaksi dari kluster PolarDB for PostgreSQL (Kompatibel dengan Oracle) serta cara mengaktifkan pemisahan transaksi.
Informasi Latar Belakang
Jika Anda menggunakan titik akhir kluster PolarDB for PostgreSQL (Kompatibel dengan Oracle) dalam mode baca/tulis, proxy meneruskan permintaan baca dan tulis ke node utama dan node baca-saja. Untuk memastikan konsistensi baca/tulis transaksi dalam sesi, proxy mengirimkan semua permintaan transaksi dalam sesi ke node utama.
Sebagai contoh, beberapa driver klien database seperti Java Database Connectivity (JDBC) secara default membungkus semua permintaan dalam transaksi. Dalam kasus ini, semua permintaan dari aplikasi dikirim ke node utama, menyebabkan beban berat pada node utama dan beban rendah pada node baca-saja, seperti yang ditunjukkan pada gambar berikut.

Untuk mengatasi masalah tersebut, PolarDB menyediakan fitur pemisahan transaksi untuk memastikan konsistensi baca/tulis. Fitur ini mengurangi beban pada node utama dengan mengirimkan permintaan baca dalam transaksi ke node baca-saja.
Informasi Latar Belakang
Pemisahan Transaksi Dasar
Untuk mengurangi beban pada node utama, PolarProxy mengirimkan permintaan baca yang diterima sebelum permintaan tulis pertama dalam transaksi ke node baca-saja. Data yang belum dikomit dalam transaksi tidak dapat diquery dari node baca-saja. Untuk memastikan konsistensi data dalam transaksi, semua permintaan baca dan tulis setelah permintaan tulis pertama tetap diteruskan ke node utama. Untuk informasi lebih lanjut tentang cara mengaktifkan pemisahan transaksi dasar, lihat Aktifkan Pemisahan Transaksi.

Manfaat
Fitur ini memungkinkan Anda mentransfer beban baca dari node utama ke node baca-saja tanpa mengubah kode atau konfigurasi aplikasi, sehingga membuat node utama lebih stabil.
Peringatan
Hanya transaksi yang menggunakan tingkat isolasi Baca Terkonfirmasi yang dapat dipisahkan.
Jika Anda mengaktifkan pemisahan transaksi dasar dan tingkat konsistensi tidak diatur ke eventual consistency, proxy mengirimkan permintaan baca yang diterima sebelum permintaan tulis pertama dalam transaksi ke node baca-saja hanya setelah node baca-saja menyinkronkan semua data dari node utama. Jika tidak, proxy masih mengirimkan permintaan baca ke node utama. Untuk informasi lebih lanjut tentang tingkat konsistensi, lihat Tingkat Konsistensi.
Aktifkan Pemisahan Transaksi
Masuk ke Konsol PolarDB.
Di pojok kiri atas, pilih wilayah tempat kluster dikerahkan.
Temukan kluster dan klik ID-nya.
Di bagian Cluster Endpoints, klik Modify.
Klik On di samping Transaction Splitting.
CatatanFitur pemisahan transaksi hanya berlaku untuk koneksi baru. Untuk mengaktifkan fitur agar berlaku pada koneksi yang ada, tutup koneksi yang ada dan buat koneksi lagi.

Klik OK.
Operasi API Terkait
Operasi | Deskripsi |
Memodifikasi atribut titik akhir kluster PolarDB. Sebagai contoh, Anda dapat memodifikasi atribut berikut: mode baca/tulis, tingkat konsistensi, pemisahan transaksi, dan pengalihan permintaan baca dari node utama. Anda juga dapat menentukan apakah akan mengaitkan titik akhir kluster yang ditentukan dengan node yang baru ditambahkan. |