Jika bisnis Anda melibatkan layanan online transaction processing (OLTP) dan online analytical processing (OLAP), Anda dapat menggunakan fitur titik akhir kluster dari proksi database untuk mendistribusikan permintaan OLAP ke node penyimpanan kolom dan permintaan OLTP ke node penyimpanan baris berdasarkan fitur IMCI.
Informasi latar belakang
PolarDB for MySQL mendukung tipe node read-only berikut:
-
Node penyimpanan baris read-only: memproses permintaan baca berdasarkan fitur penyimpanan baris. Node penyimpanan baris memberikan kinerja lebih tinggi saat memproses permintaan baca OLTP.
-
Node penyimpanan kolom read-only: memproses permintaan baca berdasarkan fitur penyimpanan kolom. Node penyimpanan kolom memiliki kinerja lebih baik dibandingkan node penyimpanan baris saat memproses permintaan baca OLAP, seperti kueri SQL kompleks dan kueri SQL analitik.
Secara default, sebuah kluster berisi satu node primary dan satu node penyimpanan baris read-only. Saat Anda menambahkan node read-only, Anda dapat memilih untuk menambahkan node penyimpanan baris atau penyimpanan kolom. Untuk informasi selengkapnya, lihat Add a read-only column store node.
Untuk memaksimalkan kinerja kueri SQL, Anda dapat mengonfigurasi titik akhir kluster agar mendistribusikan permintaan OLAP ke node penyimpanan kolom dan permintaan OLTP ke node penyimpanan baris.
Distribusi permintaan manual dan distribusi permintaan otomatis didukung.
Distribusi permintaan otomatis dalam skenario campuran OLTP dan OLAP
Jika permintaan OLAP dan OLTP dikirim oleh aplikasi yang sama untuk mengakses database, permintaan baca kedua jenis tersebut dapat didistribusikan secara otomatis ke node penyimpanan kolom atau node penyimpanan baris berdasarkan jumlah baris yang dipindai.
Untuk menerapkan distribusi permintaan otomatis di antara node penyimpanan baris dan kolom, titik akhir kluster harus memenuhi salah satu persyaratan berikut:
-
Mode baca/tulis titik akhir kluster diatur ke Read/Write (Automatic Read/Write Splitting).
-
Mode baca/tulis titik akhir kluster diatur ke Read-only, dan kebijakan penyeimbangan beban diatur ke Active requests-based load balancing.
Aturan distribusi permintaan:
-
Layanan OLTP: umumnya mencakup permintaan baca dan tulis. Semua permintaan tulis diproses oleh node primary. Permintaan baca diproses oleh node penyimpanan baris read-only atau node primary.
-
Layanan OLAP: umumnya hanya mencakup permintaan baca. Semua permintaan baca diproses oleh node penyimpanan kolom read-only.
Solusi distribusi permintaan otomatis:
-
Distribusi permintaan antara node primary dan node penyimpanan kolom read-only: Node primary dapat memproses permintaan baca OLTP karena node primary juga beroperasi dalam mode penyimpanan baris. Dalam solusi ini, permintaan tulis dan permintaan baca OLTP didistribusikan ke node primary. Permintaan baca OLAP didistribusikan ke node penyimpanan kolom read-only.
-
Distribusi permintaan antara node penyimpanan baris read-only dan node penyimpanan kolom read-only: Dalam solusi ini, permintaan tulis didistribusikan ke node primary, permintaan baca OLTP didistribusikan ke node penyimpanan baris read-only atau node primary, dan permintaan baca OLAP didistribusikan ke node penyimpanan kolom read-only.
Aturan distribusi permintaan otomatis:
-
Permintaan yang berada di bawah ambang batas biaya eksekusi untuk pernyataan SQL didistribusikan ke node penyimpanan baris atau node primary. Jika tersedia beberapa node penyimpanan baris, SLB menentukan node tujuan.
-
Permintaan yang melebihi ambang batas biaya eksekusi yang diharapkan untuk pernyataan SQL didistribusikan ke node penyimpanan kolom. Jika tersedia beberapa node penyimpanan kolom, SLB menentukan node tujuan.

Untuk informasi selengkapnya, lihat Distribusi Permintaan Otomatis di Antara Node Penyimpanan Baris dan Node Penyimpanan Kolom.
Biaya eksekusi yang diperkirakan oleh pengoptimal dapat menyimpang secara signifikan dari nilai aktual karena metode pengambilan sampel dan presisi pengambilan sampel yang digunakan. Akibatnya, beberapa kueri lambat mungkin secara otomatis didistribusikan ke node penyimpanan baris. Untuk mencegah masalah ini, Anda dapat mengaktifkan pengalihan rencana eksekusi adaptif agar sistem secara otomatis mengalihkan kueri lambat yang salah didistribusikan ke node penyimpanan kolom. Untuk informasi tentang cara mengaktifkan pengalihan rencana eksekusi adaptif, lihat Adaptive execution plan switching.
Distribusi permintaan manual di antara node penyimpanan baris dan kolom dalam skenario OLTP dan OLAP terpisah
Jika permintaan OLAP dan OLTP dikirim oleh aplikasi berbeda untuk mengakses database, Anda dapat mengonfigurasi titik akhir kluster berbeda untuk aplikasi tersebut, lalu mengaitkan node penyimpanan baris dan kolom ke titik akhir kluster yang berbeda untuk menerapkan distribusi permintaan.
Aturan distribusi permintaan:
-
Layanan OLTP: umumnya mencakup permintaan baca dan tulis. Semua permintaan tulis diproses oleh node primary. Permintaan baca diproses oleh node penyimpanan baris read-only atau node primary.
-
Layanan OLAP: umumnya hanya mencakup permintaan baca. Semua permintaan baca diproses oleh node penyimpanan kolom read-only.
Solusi distribusi permintaan manual (Read/Write (Automatic Read/Write Splitting) atau Read-only)
-
Tentukan titik akhir kluster yang tidak dikaitkan dengan node penyimpanan kolom read-only untuk aplikasi OLTP. Dengan demikian, permintaan baca OLTP diproses oleh node primary atau node penyimpanan baris read-only.
-
Tentukan titik akhir kluster yang hanya dikaitkan dengan node penyimpanan kolom read-only untuk aplikasi OLAP. Dengan demikian, permintaan baca OLAP diproses oleh node penyimpanan kolom read-only.

Untuk informasi selengkapnya, lihat Manual request distribution among row store and column store nodes.