PolarDB for MySQL mendukung fitur pembagian baca/tulis. Saat aplikasi terhubung ke titik akhir kluster dalam mode Read/Write (Automatic Read/Write Splitting), permintaan tulis secara otomatis diteruskan ke node utama, sedangkan permintaan baca didistribusikan secara cerdas ke node utama atau node baca-saja berdasarkan beban kerja di setiap node.
Keuntungan
Read consistency
Setelah aplikasi terhubung ke kluster menggunakan titik akhir kluster dalam mode Baca/Tulis, proksi database bawaan untuk pembagian baca/tulis secara otomatis membangun koneksi ke node utama dan node baca-saja. Dalam sesi koneksi aplikasi, proksi mendistribusikan permintaan secara cerdas ke node yang paling sesuai berdasarkan status sinkronisasi data setiap node. Proses ini memastikan akurasi data (hasil baca yang benar setelah operasi tulis) serta menyeimbangkan permintaan baca dan tulis di antara node.

Native read/write splitting for enhanced performance
Meskipun Anda dapat membuat proksi di cloud untuk mengimplementasikan pembagian baca/tulis, latensi tinggi mungkin terjadi karena data diurai dan diteruskan oleh beberapa komponen sebelum ditulis ke database. PolarDB menggunakan proksi bawaan yang ditempatkan di tautan aman yang ada untuk mengimplementasikan pembagian baca/tulis, memastikan bahwa data tidak melalui beberapa komponen. Hal ini mengurangi latensi dan mempercepat pemrosesan data.
Easy maintenance
Mengimplementasikan pembagian baca/tulis secara tradisional kompleks dan memakan waktu. Anda harus menentukan titik akhir untuk node utama dan setiap node baca-saja di aplikasi, serta mengonfigurasi aturan pengalihan untuk mengirim permintaan tulis ke node utama dan permintaan baca ke semua node.
PolarDB menyediakan titik akhir kluster yang dapat digunakan aplikasi untuk membangun koneksi dengan kluster. Setelah koneksi dibangun, aplikasi dapat mengirim permintaan baca dan tulis ke kluster. Permintaan tulis secara otomatis diteruskan ke node utama, sedangkan permintaan baca didistribusikan secara cerdas ke node utama atau node baca-saja. Proses pembagian baca/tulis transparan bagi pengguna dan secara efektif mengurangi biaya pemeliharaan.
Anda dapat meningkatkan kapasitas pemrosesan sistem dengan menambahkan node baca-saja tambahan tanpa perlu memodifikasi aplikasi.
Node health checks for enhanced database availability
Modul pembagian baca/tulis PolarDB secara otomatis melakukan pemeriksaan kesehatan pada semua node dalam kluster. Jika sebuah node gagal atau latensi melebihi ambang batas yang ditentukan, PolarDB menghentikan penerusan permintaan baca ke node tersebut. Permintaan baca dan tulis diteruskan ke node lain yang sehat untuk memastikan bahwa aplikasi tetap dapat mengakses kluster meskipun node baca-saja gagal. Setelah node yang bermasalah pulih, PolarDB secara otomatis menambahkan node ke daftar node yang tersedia untuk menerima permintaan.
Free feature that reduces resource and maintenance costs
Fitur pembagian baca/tulis dapat digunakan secara gratis.
Aturan untuk meneruskan permintaan
Forwarding rules in read/write splitting mode:
Permintaan berikut hanya diteruskan ke node utama:
Semua operasi DML, termasuk pernyataan seperti INSERT, UPDATE, DELETE, dan SELECT FOR UPDATE.
Semua operasi DDL, seperti membuat basis data atau tabel, menghapus basis data atau tabel, dan memodifikasi skema tabel atau izin.
Semua permintaan transaksi saat pemisahan transaksi dinonaktifkan.
CatatanUntuk informasi tentang aturan distribusi untuk permintaan transaksi setelah pemisahan transaksi diaktifkan, lihat bagian "Pemisahan Transaksi" dari topik Penyeimbangan Beban.
Fungsi yang ditentukan pengguna.
Prosedur tersimpan.
Pernyataan LOCK TABLES dan UNLOCK TABLES.
Kueri multi-pernyataan. Untuk informasi lebih lanjut, lihat Multi-pernyataan.
Permintaan yang melibatkan tabel sementara.
SELECT last_insert_id()pernyataan.Kueri atau modifikasi variabel lingkungan pengguna.
Pernyataan BINLOG DUMP.
Permintaan berikut diteruskan ke node utama atau node baca-saja:
CatatanPermintaan hanya diteruskan ke node utama jika Anda mengatur parameter Primary Node Accepts Read Requests ke Yes.
Permintaan baca non-transaksional.
Transaksi baca-saja yang menggunakan pernyataan START TRANSACTION READ ONLY.
Permintaan berikut diteruskan ke semua node:
Modifikasi variabel lingkungan sistem.
Pernyataan USE.
PREPARE dan DEALLOCATE PREPARE pernyataan.
COM_CHANGE_USER, COM_RESET_CONNECTION, COM_QUIT, dan COM_SET_OPTION pernyataan.
SHOW PROCESSLISTpernyataan.CatatanSetelah menjalankan pernyataan
SHOW PROCESSLIST, PolarDB mengembalikan semua proses yang sedang berjalan di node dalam sistem database Anda.KILL pernyataan dalam SQL (bukan perintah KILL di Linux).
Forwarding rules in read-only mode:
Operasi DDL dan DML tidak didukung.
Permintaan diteruskan ke node baca-saja dalam mode penyeimbangan beban.
Permintaan baca tidak diteruskan ke node utama meskipun Anda menambahkan node utama ke daftar node yang dipilih.
Pernyataan BINLOG DUMP hanya diteruskan ke node baca-saja tertentu.
Fitur
PolarDB menyediakan fitur berikut untuk pembagian baca/tulis: