Server MariaDB dan Klaster MariaDB adalah produk sumber terbuka yang didukung oleh MariaDB Corporation. MariaDB Server adalah salah satu database relasional yang paling populer, awalnya bercabang dari server MySQL.
Cluster MariaDB adalah solusi ketersediaan tinggi yang dibuat dari Server MariaDB, menggunakan pustaka wsrep Galera Cluster untuk menyinkronkan data antar node. Metode replikasi Galera adalah sinkron (atau 'hampir sinkron'), memastikan data akan sama di semua node.
Server MariaDB juga dapat dibuat sangat tersedia melalui replikasi standar. Replikasi bisa asinkron atau semi-sinkron.
Jadi, apa bedanya server MariaDB dengan replikasi standar dari MariaDB Cluster dengan Galera Cluster? Di blog ini, kita akan membandingkan keduanya. Kami akan menggunakan ClusterControl untuk mengilustrasikan beberapa perbedaan.
Arsitektur Server MariaDB
Arsitektur Server MariaDB dapat berupa instance tunggal/mandiri atau replikasi master/slave seperti yang ditunjukkan pada diagram di bawah ini.
Arsitektur instans tunggal Server MariaDB mewakili satu node saja. Kelemahan memiliki satu contoh adalah satu titik kegagalan untuk database. Jika database Anda crash dan tidak muncul kembali, Anda tidak memiliki mekanisme failover, dan Anda perlu melakukan restore untuk memulihkan database Anda dari backup terakhir.
Arsitektur master/slave adalah setup terdistribusi, dengan master bertindak sebagai penulis dan slave sebagai pembaca. Menggunakan penyeimbang beban seperti Maxscale atau ProxySQL, Anda dapat membagi lalu lintas database sehingga penulisan dikirim ke master dan dibaca ke slave. Memiliki pengaturan replikasi akan menghilangkan satu titik kegagalan untuk database, tetapi Anda harus dapat melakukan failover secara otomatis jika master gagal. Atau, aplikasi tidak akan dapat menulis ke database dan mereka akan terpengaruh. ClusterControl dapat dikonfigurasi untuk menyediakan failover dan pemulihan otomatis untuk replikasi MariaDB.
Arsitektur Klaster MariaDB
Cluster MariaDB adalah solusi ketersediaan tinggi yang terdiri dari Server MariaDB dan Replikasi Galera seperti yang ditunjukkan pada diagram arsitektur di bawah ini :
Ini adalah replikasi sinkron ("hampir sinkron"), semua node dapat ditulis. Replikasi sinkron menjamin jika perubahan terjadi di salah satu node galera, perubahan tersebut akan tersedia di semua node lain dalam cluster sebelum di-commit.
Perbedaan besar adalah bahwa semua node sama dari sudut pandang aplikasi, mereka dapat mengirim lalu lintas tulis ke salah satu instance database. Juga, semua node harus memiliki data yang sama persis sehingga tidak ada kehilangan data jika terjadi kegagalan node.
Penerapan MariaDB
Baik MariaDB Replication dan MariaDB Cluster dapat diterapkan melalui ClusterControl. Saat Anda menggunakan Server MariaDB, Anda harus mulai dengan memilih MySQL Replication sedangkan untuk MariaDB Cluster, Anda harus memilih MySQL Galera.
Untuk MariaDB Server, Anda dapat menerapkan instance MariaDB node tunggal atau Anda dapat menyiapkan replikasi master/slave dan bi-directional. Jumlah minimum node dalam setup replikasi adalah dua, Anda memerlukan satu master dan setidaknya satu slave. Cukup isi Alamat IP untuk master dan tambahkan slave (jika Anda ingin memiliki arsitektur master/slave). Anda dapat menggunakan bidang Tambahkan Master Kedua jika Anda ingin mengatur replikasi dua arah. Pengaturan master-master akan disediakan dengan replikasi dua arah, tetapi salah satu node akan ditetapkan sebagai hanya-baca. Alasannya adalah untuk meminimalkan risiko penyimpangan data dan 'transaksi yang salah'.
Untuk MariaDB Cluster, Anda memerlukan setidaknya 3 host untuk node database target untuk dipasang. Ini karena ia harus mampu menangani partisi jaringan atau sindrom "otak terbelah". Anda hanya perlu mengisi alamat ip saat Add Node saat mendefinisikan konfigurasi Server MySQL.
Jangan lupa untuk memilih MariaDB sebagai vendor database, versi database yang Anda ingin menginstal dan mengisi kata sandi root. Anda juga dapat mengubah datadir non-default ke jalur lain mana pun.
Setelah kami mengonfigurasi semua hal, cukup gunakan cluster. Ini akan memicu tugas baru untuk penerapan basis data.
Perhatikan bahwa dimungkinkan juga untuk memiliki 2 node Galera dan satu arbitrator Galera alias garbd pada host ketiga.
Server MariaDB &Pemantauan Cluster
Pemantauan basis data adalah bagian penting dari basis data, Anda dapat mengetahui status kesehatan basis data saat ini. Perbedaan antara MariaDB Server dan MariaDB Cluster monitoring adalah Galera Metrics untuk sinkronisasi.
Pada Server MariaDB, Anda dapat memeriksa kesehatan basis data Anda saat ini melalui Metrik MySQL; MySQL Server - General, MySQL Server - Cache, MySQL InnoDB Metrics yang juga terlihat pada MariaDB Cluster seperti di bawah ini:
Server MySQL - Umum memberi Anda informasi tentang status rasio hit kumpulan buffer InnoDB saat ini, koneksi basis data, kueri, penguncian, dan pemanfaatan memori basis data.
Server MySQL - Cache, ada banyak informasi yang disediakan di Cache. Sebagian besar terkait dengan caching dalam database, misalnya:buffer pool size, buffer pool instance. Ada juga informasi tentang penggunaan cache tabel, rasio hit, Cache Hits dan Misses. Anda juga dapat menemukan informasi penggunaan cache thread dan rasio hit .
Server MySQL - Metrik InnoDB menunjukkan metrik yang terkait dengan penyimpanan InnoDB misalnya:Aktivitas bufferpool, operasi Baris InnoDB, ukuran file Log InnoDB, Baca/Tulis Data InnoDB.
Pada Server MariaDB, jika Anda mengatur replikasi master/slave, ada satu subkategori metrik di bawah Replikasi MySQL - Master. Terdapat informasi terkait file log biner master, posisi log biner master, dan frekuensi pembuatan binlog.
Server MariaDB memiliki banyak informasi terkait database, ini juga tersedia untuk Cluster MariaDB. Bedanya ada dua dashboard untuk MariaDB Cluster - Galera Overview dan Galera Server Charts.
Ikhtisar Galera memberikan informasi terkait status replikasi Galera saat ini. Ada informasi seperti ukuran cluster, kontrol aliran yang dikirim, kontrol aliran yang diterima, kontrol aliran yang dijeda.
Galera Server Charts memiliki informasi tentang nama cluster, status cluster, ukuran, ukuran cache global.
Kesimpulan
Server MariaDB dengan replikasi standar dan MariaDB Cluster bukanlah produk yang benar-benar berbeda dalam hal layanan database, tetapi mereka memiliki karakteristik yang berbeda tergantung pada kebutuhan Anda pada ketersediaan dan skalabilitas. ClusterControl mendukung Server MariaDB dengan replikasi standar dan penerapan Cluster MariaDB, jadi cobalah kedua penyiapan tersebut dan beri tahu kami pendapat Anda.