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

Memantau Kinerja MariaDB di Cloud Hibrida

Kinerja dalam database MariaDB kami adalah salah satu area yang ingin kami pantau dan amati dengan cermat dalam lingkungan produksi dan kondisi berjalannya yang tepat waktu. Ini bisa sangat menuntut waktu, pekerjaan, dan uang jika pengaturan arsitektur menggunakan Hybrid Cloud. Tidak hanya itu, ada area tertentu yang harus diperhatikan, terutama perantara jaringan yang melayani konektivitasnya baik sebagai cloud lokal atau cloud pribadi yang berkomunikasi dengan cloud publik (GCP, AWS, Azure, dll.) dan sebaliknya. .

Blog ini adalah tentang memantau kinerja database MariaDB Anda pada infrastruktur Hybrid Cloud. Kami akan memberi Anda dasar-dasar dan indikator utama yang paling penting saat memantau kinerja database MariaDB Anda dalam penyiapan cloud hybrid.

Mengapa Anda Membutuhkan Pemantauan Kinerja?

Pada Hybrid Cloud, memantau setiap layanan yang Anda manfaatkan bisa jadi rumit. Tidak seperti pusat data Anda sendiri atau cloud pribadi Anda, Anda memiliki kendali penuh atas infrastruktur perangkat keras dan perangkat lunak. Dengan cloud publik, ada batasan pada layanan yang Anda tawarkan dan mungkin dikenakan biaya tambahan jika Anda menginginkan layanan berbeda yang akan memberi Anda metrik dan log. Keamanan juga menjadi perhatian sehubungan dengan data rahasia Anda yang dikumpulkan.

Performance Monitoring membantu menentukan seberapa efisien dan seberapa cepat database Anda berjalan di cloud, lokal, atau cloud pribadi atau publik. Dalam praktiknya, serangkaian proses dan alat yang teruji dan berbasis hasil yang akan memberi Anda metrik waktu nyata atau berkala.

Dalam hybrid cloud, tidak semua alat pemantauan perangkat lunak dibuat untuk mengelola metrik utama yang harus diamati dan dipantau. Anda harus memiliki ide dan pengetahuan untuk menentukan metrik dan persyaratan yang diperlukan yang dapat disediakan oleh alat ini. Dengan hybrid cloud, diharapkan sifat cara kerja hybrid cloud bisa menjadi kompleks. Layanan sangat terdistribusi dan bercampur dengan layanan lain yang tidak terikat hanya pada satu penyedia.

Dalam hal itu, perangkat lunak pemantauan Anda memiliki spesialisasi ini dan juga memiliki kemampuan untuk mengidentifikasi dan memisahkan dari awan mana ia berada. Perangkat lunak atau alat pemantauan harus memiliki kemampuan untuk mengatasi kemacetan, masalah keamanan, latensi, menyediakan skalabilitas, memberitahukan masalah yang sedang berlangsung, dan memberikan prediksi. Prediksi tersebut dapat menghindari konsekuensi lebih lanjut yang dapat menyebabkan bencana atau berdampak pada efisiensi database MariaDB Anda. Ini membantu seluruh tim termasuk insinyur infrastruktur, insinyur basis data, administrator server, dan pengembang untuk memastikan bahwa server basis data sehat dan berjalan sesuai harapan.

Hal yang Perlu Dipertimbangkan untuk Pemantauan Basis Data

Saat memantau cluster database MariaDB (replikasi atau Galera) atau node, ada dua hal utama yang perlu diperhatikan:sistem operasi dan database itu sendiri. Anda perlu menentukan metrik mana yang akan Anda pantau dari kedua sisi dan bagaimana Anda akan melakukannya. Anda harus selalu memantau metrik dalam konteks sistem Anda, dan Anda harus mencari perubahan dalam pola perilaku.

Dalam kebanyakan kasus, Anda perlu menggunakan beberapa alat (karena hampir tidak mungkin menemukannya untuk mencakup semua metrik yang diinginkan.) 

Perhatikan bahwa jika salah satu metrik Anda terpengaruh, metrik tersebut juga dapat memengaruhi yang lain, sehingga pemecahan masalah menjadi lebih rumit. Memiliki sistem pemantauan dan peringatan yang baik penting untuk membuat tugas ini sesederhana mungkin.

Selalu Pantau Aktivitas Server Anda (Jaringan, Disk, Beban, Memori, &CPU)

Memantau aktivitas server Anda juga bisa menjadi tugas yang kompleks jika Anda memiliki tumpukan yang sangat rumit yang terjalin dalam arsitektur database Anda. Namun, untuk database MariaDB, selalu yang terbaik adalah membuat node Anda selalu disiapkan sebagai server khusus untuk mendapatkan introspeksi penuh per basis node. Meskipun itu tidak membatasi Anda untuk menggunakan semua sumber daya cadangan, di bawah ini adalah area utama umum yang harus Anda perhatikan.

Jaringan

Pada infrastruktur Hybrid Cloud, ini adalah salah satu perhatian paling penting untuk diperhatikan karena Anda harus mempertimbangkan jenis desain dan cara berkomunikasi dari cloud lokal atau pribadi ke cloud publik dan sebaliknya. Either way, Anda memiliki salah satu cluster atau node yang mengkhususkan perannya baik sebagai utama untuk menerima menulis atau berfungsi sebagai pemulihan bencana. Sehubungan dengan itu, Anda tidak ingin node pemulihan Anda memiliki latensi, lebih buruk lagi ia mendapat jeda replikasi yang besar. Kapan pun kelambatan dan ketika kluster utama dari cloud tertentu (misalkan lokal Anda) turun, cloud publik Anda harus mengambil alih tetapi harus dapat menyajikan data terbaru. Kapan pun ini bisa terjadi, Anda mungkin harus menambahkan mekanisme pra-failover yang akan menangani pencadangan tambahan atau PITR jika beberapa transaksi atau penulisan belum diterapkan di kluster pemulihan Anda (atau dalam hal ini, kluster cloud publik Anda).

Jika Anda menggunakan Galera, karena MariaDB memutakhirkan Galera ke versi 4, replikasi streaming ditambahkan sebagai salah satu fitur utama dan perubahan dari versi sebelumnya. Karena replikasi streaming mengatasi kekurangan yang ada pada rilis sebelumnya tetapi memungkinkannya untuk mengelola lebih dari 2GB set tulis sejak Galera Cluster 4. Ini memungkinkan transaksi besar terfragmentasi dan sangat disarankan untuk mengaktifkan ini selama level sesi saja. Ini berarti, memantau aktivitas jaringan Anda sangat penting dan krusial untuk aktivitas normal Cluster MariaDB Anda. Ini akan membantu Anda mengidentifikasi node mana yang memiliki lalu lintas jaringan paling banyak atau tertinggi berdasarkan periode waktu.

Contoh yang baik untuk merender pemantauan jaringan adalah menggunakan ClusterControl. Ini mengidentifikasi setiap node dan memberikan gambaran umum tentang aktivitas jaringannya per node terlepas dari cloud mana node tersebut berada. Lihat tangkapan layar di bawah ini:

CPU, Memori, dan Aktivitas Muat

Izinkan saya menjelaskan secara singkat ketiga area ini untuk dilihat saat memantau. Di bagian ini, sebaiknya Anda memiliki observabilitas yang lebih baik dari area berikut sekaligus. Ini cepat dan mudah dipahami dan membantu dalam mengesampingkan hambatan kinerja atau mengidentifikasi bug yang menyebabkan node Anda terhenti atau mempengaruhi node lain atau bahkan memiliki kemungkinan cluster turun.

Jadi, bagaimana CPU, memori, dan aktivitas beban saat pemantauan membantu MariaDB Anda? Nah, seperti yang telah saya sebutkan di atas, itu adalah salah satu dari sedikit hal yang menjadi faktor besar untuk pemeriksaan rutin harian. Sekarang, ini juga membantu Anda mengidentifikasi apakah ini kejadian berkala atau acak. Jika berkala, ini mungkin terkait dengan pencadangan yang berjalan di salah satu node database MariaDB Anda, atau itu adalah kueri besar yang memerlukan pengoptimalan. Misalnya, kueri buruk tanpa indeks yang tepat, atau penggunaan pengambilan data yang tidak seimbang seperti melakukan perbandingan string untuk string yang begitu besar. Itu tidak dapat disangkal tidak dapat diterapkan untuk database tipe OLTP terutama jika itu benar-benar sifat dan persyaratan aplikasi Anda. Lebih baik gunakan alat analitik lain seperti MariaDB Columnstore, atau alat pemrosesan analitik pihak ketiga lainnya (Apache Spark, Kafka, atau MongoDB, dll.) untuk pengambilan data string besar dan/atau pencocokan string.

Jadi dengan semua area utama ini dipantau, pertanyaannya adalah, bagaimana hal itu akan dipantau? Itu harus dipantau setidaknya per menit. Dengan pemantauan yang disempurnakan, yaitu metrik kolektif per detik dapat menjadi sumber daya yang intensif dan sangat rakus dalam hal sumber daya Anda. Meskipun kolektivitas setengah menit dapat diterima terutama jika data dan RPO (tujuan titik pemulihan) Anda sangat rendah, sehingga Anda memerlukan metrik data yang lebih terperinci dan real-time. Sangat penting bahwa Anda dapat mengawasi seluruh gambaran cluster database Anda. Selain itu, yang terbaik dan penting adalah setiap kali metrik apa yang Anda pantau, Anda memiliki alat yang tepat untuk menarik perhatian Anda saat ada bahaya atau bahkan hanya peringatan. Menggunakan alat yang tepat seperti ClusterControl membantu Anda mengelola area utama ini untuk dipantau. Saya menggunakan versi gratis atau edisi komunitas dari ClusterControl yang membantu saya memantau node saya tanpa kerumitan dari instalasi hingga pemantauan node hanya dengan beberapa klik. Misalnya, lihat tangkapan layar di bawah ini:

Ini juga menyediakan basis per node dengan ikhtisar grafik sederhana,

atau dengan model data yang lebih canggih dan kaya yang juga mendukung bahasa kueri menggunakan Prometheus, dapat memberi Anda analisis tentang kinerja database MariaDB Anda berdasarkan data historis yang membandingkan kinerjanya secara tepat waktu. Misalnya,

Itu hanya memberi Anda lebih banyak metrik yang terlihat. Jadi, Anda melihat betapa pentingnya memiliki alat yang tepat saat memantau database MariaDB Anda di Cloud Hybrid.

Pemantauan Kolektif Variabel Statistik MariaDB Anda

Dari waktu ke waktu, tidak dapat dihindari bahwa versi database MariaDB akan menghasilkan statistik baru untuk memantau atau meningkatkan sifat pemantauan database dengan menyediakan lebih banyak variabel status dan menyempurnakan nilai untuk dilihat.

Byte yang Dikirim/Diterima

Byte yang dikirim atau diterima berkorelasi dengan aktivitas jaringan dan merupakan salah satu area utama untuk dilihat berdampingan terutama dalam topologi cloud hybrid. Ini memungkinkan Anda untuk menentukan node mana yang paling terpengaruh atau dikaitkan dengan masalah kinerja yang dialami dalam database MariaDB Anda. Ini sangat penting karena Anda dapat memeriksa apakah ada penurunan dalam hal perangkat keras seperti perangkat jaringan Anda atau perangkat penyimpanan yang mendasarinya sehingga sinkronisasi halaman kotor dapat memakan waktu terlalu lama.

Lihat contoh tangkapan layar,

Pemuatan Cluster

Ini lebih merupakan aktivitas basis data tentang seberapa banyak perubahan atau pengambilan data yang telah ditanyakan atau dilakukan sejauh ini sejak waktu aktif server. Ini membantu Anda mengesampingkan jenis kueri apa yang paling memengaruhi kinerja klaster database Anda. Hal ini memungkinkan Anda untuk memberikan ruang untuk perbaikan terutama pada keseimbangan beban permintaan database Anda.

Dengan demikian, ada banyak sekali variabel yang dapat dilihat di server database MariaDB. Hal terpenting di sini yang harus Anda perhitungkan adalah alat yang Anda gunakan untuk memantau klaster basis data Anda. Dengan ClusterControl (Edisi Komunitas), ini memberi saya lebih banyak cara dengan fleksibilitas untuk dilihat dalam database MariaDB. Lihat contoh di bawah ini,

Kemudian Anda juga dapat memilih dari menu tarik-turun untuk melihat variabel lain,

Ini sangat berguna dan membantu Anda menentukan, misalnya, dalam topologi replikasi di cloud hybrid. Anda bisa mendapatkan gambaran singkat tentang status dan kinerja yang terkait dengan jaringan, tetapi juga dengan penunjuk variabel lain untuk dipertimbangkan dan memeriksa hambatan apa yang akan memengaruhi kinerja MariaDB Anda dalam topologi cloud hybrid. Anda dapat menentukan apakah aplikasi Anda rakus dengan penulisan, kemudian replikasi dan transfer jaringan terpengaruh, Anda bisa mendapatkan antar-aktivitas cluster dalam dua atau lebih infra cloud. Yang terbaik adalah menentukan seberapa baik simpul Anda dapat menangani stres. Terutama selama stress testing sebelum mendorong perubahan spesifik dalam aplikasi Anda, yang terbaik adalah mencoba dan menguji untuk menentukan manajemen kapasitas produk aplikasi Anda dan menentukan apakah node dan desain database Anda saat ini dapat menangani beban persyaratan aplikasi Anda.

Untuk metrik data yang lebih terperinci dan kaya, Anda bisa mendapatkan lebih banyak data menggunakan pemantauan berbasis agen. Lihat di bawah,

Beginilah cara Anda mendekati pemantauan Cluster MariaDB Anda. Visualisasi yang sempurna selalu lebih mudah dan lebih cepat untuk dikelola. Ketika segala sesuatunya berjalan ke selatan, Anda tidak dapat kehilangan produktivitas Anda dan juga waktu henti dapat memengaruhi bisnis Anda. Meskipun memiliki versi gratis tidak memberi Anda kemewahan dan kenyamanan saat mengelola database lalu lintas tinggi; memiliki alarm, notifikasi, dan manajemen basis data di satu area adalah add-on praktis yang dapat dilakukan ClusterControl.

Kesimpulan

Memantau server database MariaDB Anda di lingkungan cloud hybrid tidak mudah dan juga rumit terutama bila ada sejumlah layanan dan hubungan kompleks yang merumuskan seluruh tumpukan teknologi Anda. Menggunakan alat yang tepat untuk pemantauan membantu Anda mengelola aplikasi secara efektif dan sekaligus meningkatkan produktivitas. Selain itu, dengan alat pemantauan yang tepat, Anda akan memiliki lebih banyak waktu untuk fokus pada peningkatan aplikasi Anda bersama dengan proses bisnis lainnya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Analisis dengan MariaDB AX - tThe Open Source Columnar Datastore

  2. MariaDB RTRIM() vs RTRIM_ORACLE():Apa Bedanya?

  3. MariaDB &Data Eksternal

  4. Bagaimana LPAD() Bekerja di MariaDB

  5. Bagaimana CURDATE() Bekerja di MariaDB