All Products
Search
Document Center

PolarDB:Pemisahan transaksi

Last Updated:Aug 27, 2026

Topik ini menjelaskan fitur pemisahan transaksi pada kluster PolarDB for PostgreSQL, termasuk cara kerjanya dan cara mengaktifkannya.

Informasi latar belakang

Saat Anda menggunakan titik akhir kluster PolarDB for PostgreSQL dalam mode baca/tulis, PolarProxy mengarahkan permintaan baca dan tulis masing-masing ke node primary dan node read-only. Untuk memastikan konsistensi baca/tulis dalam satu sesi, PolarProxy mengirim semua permintaan yang termasuk dalam suatu transaksi di sesi tersebut ke node primary.

Sebagai contoh, beberapa driver client database, seperti Java Database Connectivity (JDBC), secara default membungkus permintaan dalam transaksi. Akibatnya, semua permintaan dari aplikasi dikirim ke node primary, sehingga menyebabkan beban berat pada node primary sementara node read-only hampir tidak terpakai, seperti yang ditunjukkan pada gambar berikut.

No transaction splitting

Untuk mengatasi masalah ini, PolarDB menyediakan fitur pemisahan transaksi. Fitur ini mengarahkan permintaan baca dalam transaksi ke node read-only sekaligus memastikan konsistensi baca/tulis, sehingga mengurangi beban pada node primary.

Fitur

Layanan pemisahan transaksi dasar

PolarProxy mengarahkan permintaan baca ke node read-only sebelum permintaan tulis pertama dalam suatu transaksi, sehingga mengurangi beban pada node primary. Karena data yang belum dikomit dalam transaksi tidak terlihat di node read-only, semua permintaan baca dan tulis setelah permintaan tulis pertama tetap diarahkan ke node primary untuk memastikan konsistensi baca/tulis. Untuk informasi lebih lanjut tentang cara mengaktifkan layanan pemisahan transaksi dasar, lihat Aktifkan pemisahan transaksi.

Basic transaction splitting

Manfaat

Anda tidak perlu memodifikasi kode atau konfigurasi aplikasi untuk memindahkan beban baca dalam transaksi dari node primary ke node read-only, sehingga meningkatkan stabilitas node primary.

Tindakan Pencegahan

  • Pemisahan transaksi hanya didukung untuk tingkat isolasi transaksi Read Committed.

  • Untuk layanan pemisahan transaksi dasar, jika tingkat konsistensi tidak diatur ke Eventual Consistency (Weak), permintaan baca sebelum permintaan tulis pertama dalam transaksi hanya akan diarahkan ke node read-only setelah data di node read-only telah disinkronkan dengan node primary. Jika tidak, permintaan tersebut tetap dikirim ke node primary. Untuk informasi lebih lanjut tentang tingkat konsistensi, lihat Tingkat konsistensi.

Aktifkan pemisahan transaksi

  1. Masuk ke PolarDB console. Di panel navigasi sebelah kiri, klik Clusters. Pilih Region tempat kluster dideploy, lalu klik ID kluster untuk membuka halaman detail kluster.

  2. Di bagian Database Connections, klik Configure di samping titik akhir koneksi yang dituju.

  3. Klik Transaction Splitting, lalu klik On di sisi kanan.

    Catatan

    Setelah pemisahan transaksi diaktifkan, perubahan hanya berlaku untuk koneksi baru. Koneksi yang sudah ada harus dibuat ulang agar perubahan tersebut berlaku.

  4. Klik OK.

Operasi terkait

Operasi API

Deskripsi

ModifyDBClusterEndpoint

Memodifikasi atribut titik akhir kluster PolarDB, termasuk mode baca/tulis, apakah node baru secara otomatis ditambahkan ke titik akhir, tingkat konsistensi, pemisahan transaksi, dan apakah node primary menerima permintaan baca.