MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Menyebarkan Replikasi MariaDB untuk Ketersediaan Tinggi

Server MariaDB menawarkan replikasi asinkron dan sinkron. Itu dapat diatur untuk memiliki replikasi multi-sumber atau dengan pengaturan multi-master.

Untuk aplikasi intensif baca dan tulis, penyiapan master-slave adalah umum, tetapi dapat berbeda berdasarkan tumpukan dasar yang diperlukan untuk membangun lingkungan database yang sangat tersedia.

Memiliki pengaturan replikasi master-slave mungkin tidak memenuhi kebutuhan Anda, terutama di lingkungan produksi. Server MariaDB saja (pengaturan master-slave) tidak cukup untuk menawarkan ketersediaan tinggi karena masih memiliki satu titik kegagalan (SPOF).

MariaDB memperkenalkan produk perusahaan (Platform MariaDB) untuk mengatasi masalah ketersediaan tinggi ini. Ini mencakup berbagai komponen:MariaDB versi perusahaan, MariaDB ColumnStore, MaxScale, dan Konektor MariaDB yang ringan. Dibandingkan dengan vendor lain dengan penawaran solusi perusahaan yang sama, ini bisa menjadi pilihan yang hemat biaya, namun tidak semua orang membutuhkan tingkat kerumitan ini.

Di blog ini, kami akan menunjukkan cara menggunakan Server MariaDB menggunakan replikasi pada lingkungan yang sangat tersedia dengan opsi untuk memilih dari menggunakan semua alat gratis atau perangkat lunak manajemen hemat biaya kami untuk menjalankan dan pantau infrastruktur Server MariaDB Anda.

Pengaturan Topologi Ketersediaan Tinggi MariaDB

Pengaturan biasa untuk topologi master-slave dengan MariaDB Server menggunakan pendekatan asinkron atau sinkron dengan hanya satu master yang menerima penulisan, kemudian mereplikasi perubahannya ke slave seperti diagram di bawah ini:

Tetapi sekali lagi, ini tidak melayani ketersediaan tinggi dan memiliki titik kegagalan. Jika master mati, maka klien aplikasi Anda tidak lagi berfungsi. Sekarang, kita perlu menambahkan tumpukan untuk memiliki mekanisme auto-failover untuk menghindari SPOF dan juga menawarkan penyeimbangan beban untuk memisahkan baca-tulis dan secara round-robin. Jadi untuk saat ini, kita akan memiliki tipe topologi,

Sekarang, topologi ini lebih aman dalam hal SPOF. MaxScale akan melakukan pemisahan baca dan tulis pada node database dari master Anda terhadap slave. MaxScale melakukan pendekatan yang sempurna ketika berhadapan dengan jenis pengaturan ini. MaxScale juga memiliki deteksi otomatis bawaan. Jadi, perubahan apa pun yang terjadi pada status node database Anda, itu akan mendeteksi dan bertindak sesuai. MaxScale memiliki ketersediaan untuk melanjutkan failover atau bahkan peralihan. Untuk mengetahui lebih lanjut tentang mekanisme failover, baca blog kami sebelumnya yang membahas mekanisme failover MariaDB MaxScale.

Perhatikan bahwa mekanisme failover MaxScale dengan MariaDB Monitor juga memiliki keterbatasan. Ini paling baik diterapkan hanya untuk pengaturan master-slave tanpa pengaturan yang terlalu rumit. Ini berarti bahwa pengaturan master-master tidak didukung. Namun, MaxScale memiliki lebih banyak hal untuk ditawarkan. Itu tidak hanya melakukan beberapa penyeimbangan beban karena melakukan pemisahan baca-tulis, ia memiliki SmartRouter bawaan yang mengirimkan kueri ke node yang paling berkinerja. Meskipun ini tidak menambahkan fitur menjadi sangat tersedia tetapi ini membantu node dari terjebak dalam lalu lintas dan menghindari node database tertentu dari kinerja yang buruk yang dapat menyebabkan timeout atau ke server yang sama sekali tidak tersedia yang disebabkan oleh aktivitas intensif sumber daya yang tinggi yang sedang berlangsung .

Satu hal sebagai peringatan menggunakan MaxScale, mereka menggunakan BSL (Lisensi Sumber Bisnis). Anda mungkin harus meninjau FAQ sebelum mengadopsi perangkat lunak ini.

Opsi lain untuk dipilih adalah menggunakan pendekatan yang lebih nyaman. Ini dapat menghemat biaya bagi Anda untuk memilih menggunakan ClusterControl dan memiliki proxy di tengah menggunakan HaProxy, MaxScale, atau ProxySQL, yang terakhir dapat dikonfigurasi dari yang ringan ke konfigurasi tingkat produksi yang lebih banyak yang melakukan perutean kueri, pemfilteran kueri, firewall, atau keamanan. Lihat ilustrasi di bawah ini:

Sekarang, duduk di atasnya adalah ClusterControl. ClusterControl diatur dengan ketersediaan tinggi yaitu CMON HA. Atau, lapisan proxy dapat dipilih dari HaProxy--opsi yang sangat ringan untuk dipilih, MaxScale, seperti yang disebutkan sebelumnya, atau ProxySQL yang memiliki serangkaian parameter yang lebih halus jika Anda menginginkan lebih banyak fleksibilitas dan konfigurasi yang ideal untuk skala tinggi. pengaturan produksi. ClusterControl akan menangani deteksi otomatis dalam hal status kesehatan node, terutama master yang merupakan node utama untuk menentukan apakah memerlukan failover atau tidak. Sekarang, ini bisa lebih mandiri namun menambahkan lebih banyak biaya karena sejumlah node yang diperlukan untuk mengimplementasikan pengaturan ini dan juga menggunakan auto-failover ClusterControl yang berlaku pada lisensi lanjutan dan perusahaan kami. Tetapi di sisi lain, ini memberi Anda semua keselamatan, keamanan, dan kemudahan pengamatan terhadap infrastruktur basis data Anda. Ini sebenarnya lebih merupakan implementasi perusahaan berbiaya rendah dibandingkan dengan solusi yang tersedia di pasar global.

Menerapkan Replikasi Master-Slave MariaDB Anda untuk Ketersediaan Tinggi

Mari kita asumsikan bahwa Anda sudah memiliki pengaturan master-slave MariaDB. Untuk contoh ini, kami akan menggunakan ClusterControl menggunakan edisi komunitas gratis yang dapat Anda instal dan gunakan secara gratis. Itu hanya membuat pekerjaan Anda mudah dan cepat diatur. Untuk melakukan ini, Anda hanya perlu mengimpor cluster Replikasi MariaDB yang ada. Lihat blog kami sebelumnya tentang cara mengelola MariaDB dengan ClusterControl. Untuk blog ini, saya memiliki pengaturan berikut pada awalnya sebagai cluster Replikasi MariaDB saya seperti yang terlihat di bawah ini:

Sekarang, mari kita gunakan MaxScale di sini sebagai solusi alternatif dari Platform MariaDB yang juga menawarkan ketersediaan tinggi. Untuk melakukannya, sangat mudah digunakan dengan ClusterControl hanya dengan beberapa klik, Anda kemudian dapat mengatur MaxScale Anda yang berjalan di atas cluster Replikasi MariaDB yang ada. Untuk melakukannya, cukup buka Manage → Load Balancer → MaxScale, dan Anda akan dapat menyiapkan dan memberikan nilai yang sesuai seperti yang terlihat di bawah,

Kemudian cukup aktifkan atau klik opsi kotak centang untuk memilih server mana yang harus ditambahkan sebagai bagian dari pemantauan MaxScale Anda. Lihat di bawah,

Dengan asumsi Anda memiliki lebih dari satu node MaxScale untuk ditambahkan, ulangi saja langkah yang sama.

Terakhir, kami akan menyiapkan Keepalive untuk menjaga agar node MaxScale kami selalu tersedia kapan pun diperlukan. Ini sangat cepat hanya dengan langkah-langkah sederhana menggunakan ClusterControl. Sekali lagi, Anda harus pergi ke Kelola → Load Balancer tetapi sebagai gantinya, pilih Keepalive,

Seperti yang Anda perhatikan, saya telah menempatkan Keepalive saya bersama dengan MaxScale pada simpul yang sama dari budak saya (192.168.10.30). Sedangkan, di sisi lain, Keepalive kedua (2) berjalan di 192.168.10.40 bersama dengan Maxscale di host yang sama.

Hasil topologi siap produksi yang dapat memberikan Anda perutean kueri, ketersediaan tinggi, dan dengan kegagalan otomatis yang dilengkapi dengan pemantauan dan pengamatan ekstensif menggunakan ClusterControl. Lihat di bawah,

Kesimpulan

Menggunakan replikasi Server MariaDB saja tidak menawarkan ketersediaan tinggi kepada Anda. Memperluas dan menggunakan alat pihak ketiga akan membekali Anda untuk memiliki tumpukan database yang sangat tersedia dengan tidak hanya mengandalkan produk MariaDB atau bahkan menggunakan Platform MariaDB.

Ada beberapa cara untuk mencapai ini dan mengelolanya agar lebih hemat biaya. Namun, ada perbedaan besar dalam memanfaatkan solusi ini yang tersedia di pasar seperti ClusterControl karena memberikan Anda kecepatan, lebih sedikit kerumitan, dan tentu saja observabilitas tertinggi dengan peristiwa waktu nyata dan terkini tidak hanya kesehatan tetapi juga peristiwa yang terjadi di cluster database Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 Cara Mendapatkan Kolasi Kolom di MariaDB

  2. Cara Menginstal MariaDB 10 di Debian dan Ubuntu

  3. Otomatisasi Pemeriksaan Objek Skema Basis Data

  4. Perbaiki "ERROR 1136 (21S01):Jumlah kolom tidak cocok dengan jumlah nilai pada baris 1" saat Memasukkan Data di MariaDB

  5. Pengujian Otomatis dari Proses Peningkatan untuk PXC/MariaDB Galera Cluster