Ketersediaan tinggi di Azure Database for MariaDB

Penting

Azure Database for MariaDB berada di jalur penghentian. Kami sangat menyarankan Anda bermigrasi ke Azure Database for MySQL. Untuk informasi selengkapnya tentang migrasi ke Azure Database for MySQL, lihat Apa yang terjadi pada Azure Database for MariaDB?.

Layanan Azure Database for MariaDB cocok untuk menjalankan database misi penting yang memerlukan waktu aktif tinggi. Ini memberikan ketersediaan tinggi selama:

  • Peristiwa yang direncanakan, seperti operasi komputasi skala yang dimulai pengguna.
  • Peristiwa yang tidak dienkripsi, seperti perangkat keras, perangkat lunak, atau kegagalan jaringan yang mendasar.

Azure Database for MariaDB menyediakan perjanjian tingkat layanan yang didukung secara finansial untuk waktu aktif. Karena layanan ini dibangun di arsitektur Azure, Anda dapat memanfaatkan kemampuannya untuk ketersediaan tinggi, redundansi, dan ketahanan tanpa mengonfigurasi komponen tambahan apa pun.

Komponen di Azure Database for MariaDB

Komponen Deskripsi
Server database MariaDB Azure Database for MariaDB menyediakan kemampuan keamanan, isolasi, perlindungan sumber daya, serta hidupkan ulang cepat untuk server database. Kemampuan ini memfasilitasi operasi seperti penskalakan dan pemulihan server database (dalam detik) setelah pemadaman.
Modifikasi data di server database biasanya terjadi dalam konteks transaksi database. Semua perubahan database direkam secara sinkron dalam bentuk log write-ahead (ib_log file) di Azure Storage, yang dilampirkan ke server database. Selama proses titik pemeriksaan database, halaman data dari memori server database juga dikirim ke penyimpanan.
Penyimpanan Jarak Jauh Semua file data fisik mariaDB dan file log disimpan di Azure Storage, yang menyimpan tiga salinan data dalam suatu wilayah untuk menyediakan redundansi, ketersediaan, dan keandalan data. Lapisan penyimpanan tidak bergantung pada server database. Ini dapat dilepas dari server database yang gagal dan dipasang kembali ke server database baru dalam beberapa detik.
Azure Storage terus memantau kesalahan penyimpanan apa pun. Jika mendeteksi kerusakan blok, ia secara otomatis memperbaiki masalah dengan membuat instans salinan penyimpanan baru.
Gateway Gateway bertindak sebagai proksi database dengan merutekan semua koneksi klien ke server database.

Mitigasi waktu henti yang direncanakan

Arsitektur Azure Database for MariaDB menyediakan ketersediaan tinggi selama operasi waktu henti yang direncanakan.

Diagram of elastic scaling in Azure Database for MariaDB.

Berikut adalah beberapa skenario untuk pemeliharaan terencana:

Skenario Deskripsi
Peningkatan atau penurunan skala komputasi Saat Anda melakukan operasi peningkatan atau penurunan skala komputasi, Azure Database for MariaDB menyediakan server database baru dengan menggunakan konfigurasi komputasi yang diskalakan. Pada server database lama, layanan memungkinkan titik pemeriksaan aktif selesai, menguras koneksi klien, dan membatalkan transaksi yang tidak dilakukan. Layanan kemudian mematikan server database lama. Ini melepaskan penyimpanan dari server database lama dan melampirkan penyimpanan ke server database baru. Saat aplikasi klien mencoba kembali koneksi atau mencoba membuat koneksi baru, gateway mengarahkan permintaan koneksi ke server database baru.
Meningkatkan skala penyimpanan Meningkatkan skala penyimpanan adalah operasi online dan tidak mengganggu server database.
Penyebaran Perangkat Lunak Baru (Azure) Peluncuran fitur baru atau perbaikan bug secara otomatis terjadi sebagai bagian dari pemeliharaan terencana layanan. Untuk informasi selengkapnya, lihat dokumentasi dan periksa portal Anda.
Peningkatan versi minor Azure Database for MariaDB secara otomatis menambal server database ke versi minor yang ditentukan Azure. Patching otomatis terjadi sebagai bagian dari pemeliharaan terencana layanan. Ini menimbulkan waktu henti singkat dalam hal detik, dan server database secara otomatis dimulai ulang dengan versi minor baru. Untuk informasi selengkapnya, lihat dokumentasi dan periksa portal Anda.

Mitigasi waktu henti yang tidak dienkripsi

Waktu henti yang tidak diencana dapat terjadi sebagai akibat dari kegagalan tak terduga, termasuk kesalahan perangkat keras yang mendasarinya, masalah jaringan, dan bug perangkat lunak. Jika server database tidak berfungsi secara tiba-tiba, server database baru akan otomatis disediakan dalam hitungan detik. Penyimpanan jarak jauh secara otomatis dilampirkan ke server database baru.

Mesin MariaDB melakukan operasi pemulihan dengan menggunakan file log dan database write-ahead, dan membuka server database untuk memungkinkan klien terhubung. Transaksi yang tidak dilakukan hilang, dan aplikasi harus mencobanya kembali.

Meskipun Anda tidak dapat menghindari waktu henti yang tidak diencana, Azure Database for MariaDB menguranginya dengan secara otomatis melakukan operasi pemulihan di server database dan lapisan penyimpanan tanpa memerlukan intervensi manusia.

Diagram of high availability in Azure Database for MariaDB.

Waktu henti yang tidak dienkripsi: Skenario kegagalan dan pemulihan layanan

Berikut adalah dua skenario kegagalan dan bagaimana Azure Database for MariaDB secara otomatis pulih:

Skenario Pemulihan otomatis
Kegagalan server database Jika server database tidak berfungsi karena kesalahan perangkat keras yang mendasar, Azure Database for MariaDB menghilangkan koneksi aktif dan membatalkan transaksi dalam penerbangan apa pun. Layanan secara otomatis menyebarkan server database baru dan melampirkan penyimpanan data jarak jauh ke server database baru. Setelah pemulihan database selesai, klien dapat tersambung ke server database baru melalui gateway.
Aplikasi yang menggunakan database MariaDB perlu dibangun dengan cara yang mereka deteksi dan coba lagi koneksi yang terputus dan transaksi yang gagal. Saat aplikasi mencoba kembali koneksi, gateway secara transparan mengalihkan koneksi ke server database yang baru dibuat.
Kegagalan penyimpanan Masalah terkait penyimpanan, seperti kegagalan disk atau kerusakan blok fisik, tidak memengaruhi aplikasi. Karena data disimpan dalam tiga salinan, penyimpanan yang bertahan melayani salinan data. Azure Database for MariaDB secara otomatis mengoreksi kerusakan blok. Jika salinan data hilang, layanan secara otomatis membuat salinan data baru.

Berikut adalah skenario kegagalan yang mengharuskan tindakan pengguna pulih:

Skenario Rencana pemulihan
Kegagalan wilayah Kegagalan suatu wilayah adalah peristiwa langka. Namun, jika Anda memerlukan perlindungan dari kegagalan wilayah, Anda dapat mengonfigurasi satu atau beberapa replika baca di wilayah lain untuk pemulihan bencana. Untuk detailnya, lihat artikel ini tentang membuat dan mengelola replika baca. Jika kegagalan tingkat wilayah terjadi, Anda dapat mempromosikan replika baca yang dikonfigurasi secara manual di wilayah lain untuk menjadi server database produksi Anda.
Kesalahan logis/pengguna Pemulihan dari kesalahan pengguna, seperti tabel yang dihilangkan secara tidak sengaja atau data yang salah diperbarui, melibatkan melakukan pemulihan titik waktu. Tindakan ini memulihkan dan memulihkan data hingga waktu tepat sebelum kesalahan terjadi.
Jika Anda hanya ingin memulihkan subset database atau tabel tertentu daripada semua database di server database, Anda dapat memulihkan server database dalam instans baru, mengekspor tabel melalui mysqldump, lalu memulihkan tabel tersebut di database Anda.

Ringkasan

Azure Database for MariaDB memiliki kemampuan ketersediaan tinggi yang melekat untuk membantu melindungi database Anda dari pemadaman umum. Ini menyediakan kemampuan hidupkan ulang server database yang cepat, penyimpanan redundan, dan perutean yang efisien dari gateway. Untuk perlindungan data tambahan, Anda dapat mengonfigurasi cadangan untuk direplikasi secara geografis dan menyebarkan replika baca di wilayah lain.

Langkah berikutnya