Untuk mengatasi bottleneck performa write pada arsitektur single-writer dan multiple-reader, PolarDB for MySQL memperkenalkan Multi-master Cluster (Limitless). Fitur ini menggunakan beberapa node primary dan meningkatkan arsitektur untuk mendukung multiple writer dan reader. Solusi ini dirancang untuk aplikasi dengan beban kerja read dan write berkonkurensi tinggi, seperti perangkat lunak multitenan sebagai layanan (SaaS), game online, dan e-commerce.
Gambar berikut menunjukkan arsitektur Multi-master Cluster (Limitless) Edition.
Saat Anda mengakses kluster melalui titik akhirnya, PolarProxy secara otomatis meneruskan pernyataan SQL ke node primary yang tepat.
Keunggulan utama
-
Write scale-out in seconds
Mendukung penulisan data konkuren ke database pada hingga 63 node komputasi. Failover dinamis antar-node untuk database dapat dilakukan dalam hitungan detik guna meningkatkan kemampuan baca-tulis konkuren kluster secara keseluruhan.
-
Multiple-mater backup (no read-only nodes).
Jika sebuah node primary gagal, failover ke node primary lain dengan traffic rendah dapat dilakukan dalam hitungan detik. Biaya menjadi separuhnya karena tidak perlu menyediakan sumber daya idle tambahan untuk hot standby.
Skenario penggunaan
Multi-master Cluster (Limitless) Edition cocok untuk skenario seperti multitenancy dalam SaaS, gaming, dan e-commerce. Skenario-skenario ini ditandai oleh permintaan baca dan tulis berkonkurensi tinggi.
-
Multitenancy in SaaS: high concurrency and load balance between tenants
Skenario: Jumlah database penyewa berubah dengan cepat, dan volume beban mengalami fluktuasi signifikan. Pengguna harus menjadwalkan ulang sumber daya database di antara berbagai instans untuk memberikan pengalaman optimal.
Solusi: Multi-master Cluster (Limitless) Edition membantu pelanggan beralih antar node primary berbeda untuk database penyewa atau menambahkan node primary baru dalam hitungan detik guna menangani lonjakan traffic. Hal ini mewujudkan load balancing.
-
Global gaming server and e-commerce scenarios: scaling in minutes to cater to fast-growing business requests
Skenario: Solusi sharding database dan tabel berbasis middleware atau bisnis sering digunakan. Selama pembaruan versi dan promosi besar, diperlukan ekspansi kapasitas kluster yang tajam. Penskalaan mundur (scale-in) cepat juga diperlukan setelah periode tersebut berakhir. Namun, proses penskalaan pada kluster tradisional melibatkan langkah-langkah kompleks untuk migrasi data.
Solusi: Fitur scale-out dalam hitungan detik dan routing transparan dari Multi-master Cluster (Limitless) Edition dapat digunakan bersama solusi sharding database dan tabel berbasis middleware atau bisnis untuk mempersingkat proses scale-out dari beberapa hari menjadi hanya beberapa menit.
-
Gaming applications deployed on different servers: better performance and scalability
Skenario: Selama masa pertumbuhan game, beban database sangat tinggi dan terus meningkat. Dalam periode ini, jumlah database terus bertambah, sehingga beban pada node primary juga meningkat. Selama masa penurunan popularitas game, beban database berkurang signifikan dan database digabungkan, sehingga beban pada node primary juga menurun.
Solusi: Selama masa pertumbuhan, Anda dapat memindahkan sebagian database ke node primary baru untuk mencapai keseimbangan beban. Selama masa penurunan, Anda dapat menggabungkan database ke beberapa node primary saja guna mengurangi biaya operasional.
Batasan
database engine harus berupa MySQL 8.0.
Anda tidak dapat langsung mengonversi kluster Cluster edition menjadi kluster Multi-master Cluster (Limitless). Untuk melakukan peningkatan edisi produk kluster, lihat Major version upgrade.
Peningkatan performa
Berdasarkan pengujian, kemampuan baca-tulis konkuren kluster secara keseluruhan menunjukkan peningkatan linier karena database kluster dialihkan ke lebih banyak node primary. Potongan kode berikut memberikan contoh uji stres:
-
Latar belakang pengujian: Kluster berisi delapan database dan delapan node primary.
-
Prosedur pengujian: Pada awal pengujian, delapan database berbagi satu node primary. Data disinkronkan ke semua database secara bersamaan untuk menjalankan uji stres yang sama. Selama periode uji stres, delapan database dijadwalkan secara bertahap ke dua node primary, empat node primary, dan delapan node primary. Amati tren perubahan performa keseluruhan kluster.
-
Gambar berikut menunjukkan tren perubahan QPS.

Pada gambar di atas, seiring penjadwalan database ke lebih banyak node primary, kemampuan baca-tulis konkuren kluster secara keseluruhan meningkat secara signifikan dan menunjukkan peningkatan linier.
Spesifikasi node dan penagihan
Spesifikasi: Mendukung spesifikasi dedicated maupun general-purpose. Untuk detailnya, lihat Compute node specifications for Enterprise Edition.
Penagihan: Untuk informasi selengkapnya, lihat Billable items dan Billing rules for compute nodes.
Memulai
Konfigurasikan pengaturan dasar kluster. Misalnya, Anda dapat membuat akun database, mengonfigurasi daftar putih kluster, dan menghubungkan ke database.
Dalam Multi-master Cluster (Limitless), semua operasi write untuk satu database atau objek data tertentu harus melewati satu node saja. Saat membuat database, Anda dapat menentukan node primary tertentu atau mengatur parameter
loose_innodb_mm_default_master_idke 0 agar sistem memilih node primary secara acak.Kueri data menggunakan pernyataan
SELECT.Saat melakukan kueri data, Anda tidak perlu menentukan node primary. PolarProxy secara otomatis meneruskan kueri ke node primary yang tepat.
Untuk informasi selengkapnya, lihat Usage notes.