Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menyebarkan &Mengelola Cluster NDB MySQL dengan ClusterControl

Di ClusterControl 1.5 kami menambahkan dukungan untuk MySQL NDB Cluster 7.5. Dalam posting blog ini, kita akan melihat beberapa fitur yang menjadikan ClusterControl alat yang hebat untuk mengelola MySQL NDB Cluster. Pertama dan terpenting, karena ada banyak produk dengan "Cluster" di namanya, kami ingin menyampaikan beberapa patah kata tentang MySQL NDB Cluster itu sendiri dan bagaimana perbedaannya dari solusi lain.

Kluster MySQL NDB

MySQL NDB Cluster adalah cluster sinkron tanpa-berbagi untuk MySQL, berdasarkan mesin NDB. Ini adalah produk dengan daftar fitur sendiri, dan sangat berbeda dari Galera Cluster atau MySQL InnoDB Cluster. Salah satu perbedaan utama adalah penggunaan engine NDB, bukan InnoDB, yang merupakan engine default untuk MySQL. Di cluster NDB, data dipartisi di beberapa node data sementara Galera Cluster atau MySQL InnoDB Cluster berisi kumpulan data lengkap di setiap node. Ini memiliki dampak serius dalam cara MySQL NDB Cluster menangani kueri yang menggunakan GABUNG dan potongan besar kumpulan data.

Dalam hal arsitektur, MySQL NDB Cluster terdiri dari tiga jenis node yang berbeda. Node data menyimpan data menggunakan mesin NDB. Data dicerminkan untuk redundansi, dengan hingga 4 replika data. Perhatikan bahwa ClusterControl akan menerapkan 2 replika per grup node, karena ini adalah konfigurasi yang paling teruji dan stabil. Node manajemen dimaksudkan untuk mengontrol cluster - untuk alasan ketersediaan tinggi, biasanya, Anda memiliki dua node tersebut. Node SQL digunakan sebagai titik masuk ke cluster. Mereka mem-parsing SQL, meminta data dari node data dan kumpulan hasil agregat bila diperlukan.

Fitur ClusterControl untuk MySQL NDB Cluster

Penerapan

ClusterControl 1.5 mendukung penerapan MySQL NDB Cluster 7.5. Ini dilakukan melalui wizard penerapan yang sama seperti jenis cluster lainnya.

Pada langkah pertama, Anda perlu mengkonfigurasi bagaimana ClusterControl dapat masuk melalui SSH ke host - ini adalah persyaratan standar untuk ClusterControl - ini tanpa agen sehingga memerlukan akses root SSH baik secara langsung, ke akun root atau melalui (kata sandi atau tanpa kata sandi) sudo.

Pada langkah berikutnya, Anda menentukan node manajemen untuk cluster Anda.

Di sini, Anda perlu memutuskan berapa banyak node data yang ingin Anda miliki. Seperti yang kami nyatakan sebelumnya, setiap 2 node akan menjadi bagian dari grup node sehingga ini harus menjadi bilangan genap.

Terakhir, Anda perlu memutuskan berapa banyak node SQL yang ingin Anda terapkan di cluster Anda. Setelah Anda mengklik menyebarkan, ClusterControl akan terhubung ke host, menginstal perangkat lunak dan mengkonfigurasi semua layanan. Setelah beberapa saat, Anda akan melihat cluster Anda di-deploy.

Penskalaan Cluster MySQL NDB

Untuk MySQL NDB Cluster, ClusterControl 1.5.0 mendukung penskalaan node SQL. Anda dapat mengakses pekerjaan dari tarik-turun pekerjaan Cluster.

Di sana Anda dapat mengisi nama host dari node yang ingin Anda tambahkan dan hanya itu yang Anda butuhkan - ClusterControl akan mengurus sisanya.

Manajemen MySQL NDB Cluster

ClusterControl membantu Anda mengelola MySQL NDB Cluster. Di bagian ini kami ingin membahas beberapa fitur pengelolaan yang kami miliki.

Cadangan

Pencadangan sangat penting untuk lingkungan produksi apa pun. Jika terjadi bencana, hanya cadangan yang baik yang dapat meminimalkan kehilangan data dan membantu Anda memulihkan masalah dengan cepat. Replikasi mungkin tidak selalu menjadi solusi yang berhasil - DROP TABLE akan menjatuhkan tabel di semua host di topologi. Bahkan seorang budak yang tertunda dapat menunda hal yang tak terhindarkan hanya dengan begitu banyak.

ClusterControl mendukung pencadangan ndb untuk MySQL NDB Cluster.

Anda dapat dengan mudah membuat jadwal pencadangan untuk dijalankan oleh ClusterControl.

Lapisan proxy

ClusterControl memungkinkan Anda menerapkan tumpukan ketersediaan tinggi penuh di atas MySQL NDB Cluster. Untuk lapisan proxy, kami mendukung penerapan HAProxy dan MaxScale.

Seperti yang ditunjukkan pada tangkapan layar di atas, penerapan terlihat sangat mirip dengan jenis cluster lainnya. Anda perlu memutuskan apakah Anda ingin menggunakan HAProxy yang sudah ada atau menerapkan yang baru. Kemudian Anda perlu menentukan cara menginstalnya - menggunakan paket dari repositori yang tersedia di node atau mengompilasinya dari kode sumber rilis terbaru.

Jika Anda memutuskan untuk menggunakan HAProxy, Anda akan memiliki kemungkinan untuk mengonfigurasi ketersediaan tinggi menggunakan Keepalive dan IP Virtual.

Prosesnya adalah sebagai berikut - Anda menentukan IP Virtual dan antarmuka yang akan memunculkannya. Kemudian, Anda dapat menerapkannya untuk setiap HAProxy yang telah Anda instal. Salah satu proses Keepalive akan ditentukan sebagai "master" dan itu akan mengaktifkan VIP di node-nya. Aplikasi Anda kemudian terhubung ke IP khusus ini. Saat HAProxy aktif saat ini tidak tersedia, VIP akan dipindahkan ke HAProxy lain yang tersedia, memulihkan konektivitas.

Manajemen pemulihan

Sementara MySQL NDB Cluster dapat mentolerir kegagalan node individu, penting untuk segera bereaksi terhadap ini. ClusterControl menyediakan pemulihan otomatis untuk semua komponen cluster. Apa pun yang gagal (node ​​manajemen, node data, atau node SQL), ClusterControl akan memulai ulang secara otomatis.

Pemantauan Cluster MySQL NDB

Lingkungan siap produksi apa pun harus dipantau. ClusterControl memberi Anda berbagai metrik untuk dipantau. Di halaman “Ringkasan”, kami menampilkan grafik berdasarkan metrik terpenting untuk kluster Anda. Anda juga dapat membuat dasbor Anda sendiri, menampilkan data tambahan yang akan berguna di lingkungan Anda.

Selain grafik, halaman “Ringkasan” memberi Anda wawasan tentang status cluster berdasarkan beberapa metrik MySQL NDB Cluster seperti Memori Indeks yang digunakan, Memori Data, dan status beberapa buffer.

Ini juga menyediakan pemantauan metrik host, termasuk pemanfaatan CPU, RAM, Disk atau statistik Jaringan. Grafik tersebut juga penting dalam membangun pandangan kesehatan cluster.

ClusterControl juga dapat membantu Anda meningkatkan kinerja database dengan memberi Anda akses ke Query Monitor, yang menyimpan statistik tentang lalu lintas Anda.

Seperti yang terlihat pada tangkapan layar di atas, Anda dapat melihat jenis kueri apa yang dijalankan terhadap klaster Anda, berapa banyak kueri dari jenis tertentu, berapa kali eksekusinya dan total waktu eksekusinya. Ini membantu mengidentifikasi kueri mana yang lambat dan kueri mana yang bertanggung jawab atas sebagian besar lalu lintas. Anda kemudian dapat fokus pada kueri yang dapat memberi Anda peningkatan kinerja terbesar.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Daftar Istilah Database DevOps untuk Pemula MySQL

  2. Bagaimana menghubungkan jarak jauh ke database MySQL yang terletak di server bersama kami

  3. PHP Kesalahan fatal:Kelas 'PDO' tidak ditemukan

  4. Mencoba mendapatkan properti non-objek - CodeIgniter

  5. batasan kunci asing mysql adalah kesalahan yang salah bentuk