全部产品
Search
文档中心

PolarDB:Pemisahan Transaksi

更新时间:Jul 06, 2025

PolarDB mendukung pemisahan transaksi. Fitur ini memastikan konsistensi data dalam sesi dan mengurangi beban pada node utama dengan mengalihkan permintaan baca ke node baca-saja.

Informasi latar belakang

Jika Anda menggunakan PolarDB for PostgreSQL titik akhir kluster dalam mode baca/tulis, proksi akan meneruskan permintaan baca dan tulis ke node utama dan node baca-saja. Untuk memastikan konsistensi baca/tulis transaksi dalam sesi, proksi mengirimkan semua permintaan transaksi dalam sesi ke node utama.

Sebagai contoh, beberapa driver klien database seperti Java Database Connectivity (JDBC) secara default mengenkapsulasi 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 yang memastikan konsistensi baca/tulis sambil mengurangi beban pada node utama dengan mengalihkan permintaan baca dalam transaksi ke node baca-saja.

Deskripsi

Pemisahan Transaksi Dasar

Untuk mengurangi beban pada node utama, PolarProxy mengalihkan permintaan baca yang diterima sebelum permintaan tulis pertama dalam transaksi ke node baca-saja. Data yang belum terkomit dalam transaksi tidak dapat di-query 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 Konfigurasi PolarProxy.

Basic transaction splitting

Manfaat

Fitur ini memungkinkan transfer beban baca dari node utama ke node baca-saja tanpa perubahan pada kode atau konfigurasi aplikasi, sehingga meningkatkan stabilitas node utama.

Catatan

  • Hanya transaksi yang menggunakan tingkat isolasi Baca Terkonfirmasi yang dapat dipisahkan.
  • Jika Anda mengaktifkan pemisahan transaksi dasar dan tingkat konsistensi tidak disetel ke eventual consistency, proksi hanya akan mengalihkan permintaan baca yang diterima sebelum permintaan tulis pertama dalam transaksi ke node baca-saja setelah node baca-saja mensinkronkan semua data dari node utama. Jika tidak, proksi tetap mengirimkan permintaan baca ke node utama. Untuk informasi lebih lanjut tentang tingkat konsistensi, lihat .

Operasi API terkait

APIDeskripsi
ModifyDBClusterEndpointMemodifikasi 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 mengasosiasikan titik akhir kluster yang ditentukan dengan node yang baru ditambahkan.