All Products
Search
Document Center

PolarDB:Pemisahan baca/tulis

Last Updated:Aug 28, 2026

PolarDB for MySQL menyediakan fitur pemisahan baca/tulis bawaan. Aplikasi Anda hanya perlu terhubung ke satu titik akhir kluster dalam mode Read/Write (Automatic Read/Write Splitting). Permintaan tulis secara otomatis diteruskan ke node primary, sedangkan permintaan baca diteruskan ke node primary atau node read-only berdasarkan beban (jumlah permintaan yang belum selesai saat ini) pada setiap node.

Manfaat

  • Read Consistency

    Setelah klien terhubung ke backend melalui titik akhir kluster, middleware pemisahan baca/tulis secara otomatis membuat koneksi ke node primary dan setiap node read-only. Dalam satu koneksi (session), middleware memilih node yang paling tepat dengan memeriksa status sinkronisasi data pada setiap node database. Pendekatan ini menjamin hasil yang konsisten (baca setelah tulis mengembalikan data yang diharapkan) sekaligus menyediakan load balancing untuk permintaan baca dan tulis.

    示意图

  • Pemisahan baca/tulis native untuk performa lebih baik

    Jika Anda membangun lapisan proxy sendiri di cloud untuk menerapkan pemisahan baca/tulis, permintaan harus melewati beberapa komponen untuk penguraian dan penerusan SQL sebelum mencapai database, yang meningkatkan latensi. Sebaliknya, pemisahan baca/tulis PolarDB dibangun langsung ke dalam tautan keamanan tinggi yang sudah ada. Fitur ini tidak menambahkan komponen atau overhead tambahan, sehingga mengurangi latensi dan meningkatkan throughput.

  • Maintenance yang disederhanakan

    Dalam model tradisional, Anda harus mengonfigurasi titik akhir koneksi untuk node primary dan setiap node read-only di aplikasi Anda, serta memisahkan logika bisnis agar permintaan tulis dikirim ke node primary dan permintaan baca ke semua node.

    PolarDB menyediakan satu titik akhir kluster. Setelah aplikasi terhubung ke titik akhir ini, aplikasi dapat melakukan operasi baca dan tulis pada node primary dan node read-only. Permintaan diteruskan secara otomatis, dan logika routing sepenuhnya transparan, sehingga mengurangi biaya maintenance.

    Anda juga dapat meningkatkan kapasitas pemrosesan dengan menambahkan lebih banyak node read-only tanpa perlu mengubah aplikasi Anda.

  • Pemeriksaan kesehatan node untuk ketersediaan tinggi

    Modul pemisahan baca/tulis secara otomatis melakukan pemeriksaan kesehatan node pada semua node dalam kluster. Jika suatu node gagal atau latensinya melebihi ambang batas tertentu, PolarDB berhenti meneruskan permintaan baca ke node tersebut. Permintaan kemudian didistribusikan ke node-node sehat yang tersisa. Hal ini memastikan kegagalan satu node read-only tidak memengaruhi aplikasi Anda. Setelah node tersebut pulih, PolarDB secara otomatis menambahkannya kembali ke pool routing.

  • Gratis digunakan, mengurangi biaya resource dan maintenance

    Fitur pemisahan baca/tulis disediakan tanpa biaya tambahan.

Logika routing permintaan

Dalam mode Read/Write, permintaan dirutekan sebagai berikut:

  • Diteruskan hanya ke node primary:

    • Semua operasi DML (INSERT, UPDATE, DELETE, dan SELECT FOR UPDATE)

    • Semua operasi DDL (seperti membuat atau menghapus database dan tabel, mengubah skema tabel, serta mengelola izin)

    • Semua permintaan dalam transaksi ketika pemisahan transaksi dinonaktifkan

      Catatan

      Untuk detail routing saat pemisahan transaksi diaktifkan, lihat pemisahan transaksi.

    • Fungsi yang ditentukan pengguna

    • prosedur tersimpan

    • Pernyataan LOCK/UNLOCK TABLES

    • Kueri Multi-statement

    • Permintaan yang menggunakan temporary tables

    • SELECT last_insert_id()

    • Semua kueri dan modifikasi variabel pengguna

    • Permintaan binlog dump

  • Diteruskan ke node read-only atau node primary:

    Catatan

    Permintaan hanya diteruskan ke node primary jika Primary Node Accepts Read Requests diatur ke Yes.

    • Permintaan baca di luar transaksi

    • Transaksi read-only (START TRANSACTION READ ONLY)

  • Selalu diteruskan ke semua node:

    • Semua perubahan pada variabel sistem

    • Perintah USE

    • Perintah PREPARE dan DEALLOCATE PREPARE

    • Perintah seperti COM_CHANGE_USER, COM_RESET_CONNECTION, COM_QUIT, dan COM_SET_OPTION

    • SHOW PROCESSLIST

      Catatan

      Saat Anda menjalankan perintah SHOW PROCESSLIST, PolarDB mengembalikan informasi daftar proses dari semua node.

    • KILL (pernyataan KILL dalam SQL, bukan perintah KILL di command line)

Dalam mode Read Only, permintaan dirutekan sebagai berikut:

  • Operasi DDL dan DML tidak diizinkan.

  • Semua permintaan baca diteruskan ke node read-only menggunakan load balancing.

  • Permintaan baca tidak pernah diteruskan ke node primary, bahkan jika node primary telah ditambahkan ke node layanan.

  • PolarDB mengaitkan binlog dump ke node read-only tertentu.

Fitur

PolarDB pemisahan baca/tulis mencakup fitur-fitur berikut: