全部产品
Search
文档中心

PolarDB:Pemisahan Transaksi

更新时间:Jul 06, 2025

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.

Transaction splitting unavailable

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.

Basic transaction splitting

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

  1. Masuk ke Konsol PolarDB.

  2. Di pojok kiri atas, pilih wilayah tempat kluster dikerahkan.

  3. Temukan kluster dan klik ID-nya.

  4. Di bagian Cluster Endpoints, klik Modify.

  5. Klik On di samping Transaction Splitting.

    Catatan

    Fitur pemisahan transaksi hanya berlaku untuk koneksi baru. Untuk mengaktifkan fitur agar berlaku pada koneksi yang ada, tutup koneksi yang ada dan buat koneksi lagi.

    Enable transaction splitting

  6. Klik OK.

Operasi API Terkait

Operasi

Deskripsi

ModifyDBClusterEndpoint

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.