Replika baca 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?.

Fitur replika baca memungkinkan Anda mereplikasi data dari Azure Database for MySQL Flexible Server ke server baca-saja. Anda dapat mereplikasi dari server sumber maksimal lima replika. Replika diperbarui secara asinkron menggunakan teknologi replikasi berbasis posisi file log biner (binlog) mesin MariaDB dengan ID transaksi global (GTID). Untuk mempelajari selengkapnya tentang replikasi binlog, lihat ringkasan replikasi binlog.

Replika adalah server baru yang Anda kelola mirip dengan server Azure Database for MariaDB biasa. Untuk setiap replika baca, Anda akan ditagih atas komputasi yang disediakan dalam vCore dan penyimpanan dalam GB/bulan.

Untuk mempelajari selengkapnya tentang replikasi GTID, lihat Dokumentasi replikasi MariaDB.

Catatan

Artikel ini berisi referensi ke istilah slave, istilah yang tidak lagi digunakan Microsoft. Saat istilah dihapus dari perangkat lunak, kami akan menghapusnya dari artikel ini.

Kapan harus menggunakan replika baca

Fitur replika baca membantu meningkatkan performa dan skala beban kerja intensif baca. Beban kerja baca dapat diisolasi ke replika, sementara beban kerja tulis dapat diarahkan ke yang utama.

Skenario umum adalah meminta BI dan beban kerja analitis menggunakan replika baca sebagai sumber data untuk pelaporan.

Karena bersifat baca-saja, replika tidak mengurangi beban kapasitas tulis pada replika utama secara langsung. Fitur ini tidak ditargetkan pada beban kerja tulis yang intensif.

Fitur replika baca menggunakan replikasi asinkron. Fitur ini tidak dimaksudkan untuk skenario replikasi sinkron. Akan ada penundaan terukur antara sumber dan replika. Data pada replika akhirnya selaras dengan data di server utama. Gunakan fitur tersebut untuk beban kerja yang dapat mengakomodasi penundaan ini.

Replikasi lintas wilayah

Anda dapat membuat replika baca di wilayah yang berbeda dari server sumber. Replikasi lintas wilayah dapat membantu skenario seperti perencanaan pemulihan bencana atau mendekatkan data dengan pengguna Anda.

Anda dapat memiliki server sumber di wilayah Azure Database for MariaDB mana pun. Server sumber dapat memiliki replika di wilayah pasangannya atau wilayah replika universal. Gambar di bawah ini memperlihatkan wilayah replika yang tersedia, tergantung pada wilayah sumber Anda.

Read replica regions

Wilayah replika universal

Anda dapat membuat replika baca di salah satu wilayah berikut, terlepas dari lokasi server sumber Anda. Wilayah replika universal yang didukung meliputi:

Australia Timur, Australia Tenggara, Brasil Selatan, Kanada Tengah, Kanada Timur, US Tengah, Asia Timur, US Timur, US Timur 2, Jepang Timur, Jepang Barat, Korea Tengah, Korea Selatan, US Tengah Utara, Eropa Utara, US Selatan Tengah, Asia Tenggara, UK Selatan, UK Barat, Eropa Barat, EU Barat, US Barat 2, Barat Sentral AS.

Wilayah yang dipasangkan

Selain wilayah replika universal, Anda dapat membuat replika baca di wilayah berpasangan Azure di server sumber Anda. Jika tidak mengetahui pasangan wilayah Anda, Anda dapat mempelajari selengkapnya dari artikel Wilayah Berpasangan Azure.

Jika menggunakan replika lintas wilayah untuk perencanaan pemulihan bencana, sebaiknya buat replika di wilayah berpasangan, bukan di salah satu wilayah lainnya. Wilayah yang dipasangkan menghindari pembaruan simultan dan memprioritaskan isolasi fisik dan residensi data.

Namun, ada beberapa batasan untuk dipertimbangkan:

  • Ketersediaan regional: Azure Database for MariaDB tersedia di Prancis Tengah, UAE Utara, dan Jerman Tengah. Namun, wilayah pasangannya tidak tersedia.

  • Pasangan satu arah: Beberapa wilayah Azure dipasangkan dalam satu arah saja. Wilayah-wilayah tersebut mencakup India Barat, Brasil Selatan, dan US Gov Virginia. Ini berarti bahwa server sumber di India Barat dapat membuat replika di India Selatan. Namun, server sumber di India Selatan tidak dapat membuat replika di India Barat. Karena wilayah sekunder India Barat adalah India Selatan, tetapi wilayah sekunder India Selatan bukan India Barat.

Membuat replika

Penting

Fitur replika baca hanya tersedia untuk server Azure Database for MariaDB dalam tingkat harga Tujuan Umum atau Memori yang Dioptimalkan. Pastikan server sumber berada di salah satu tingkat harga tersebut.

Jika server sumber tidak memiliki server replika, sumber akan memulai ulang terlebih dahulu untuk mempersiapkan replikasi.

Jika Anda memulai alur kerja pembuatan replika baca, server Azure Database for MariaDB kosong akan dibuat. Server baru akan diisi dengan data yang ada di server sumber. Waktu pembuatan bergantung pada jumlah data pada sumber dan waktu sejak pencadangan penuh mingguan terakhir. Waktu dapat berkisar dari beberapa menit hingga beberapa jam.

Catatan

Jika Anda tidak memiliki pemberitahuan penyimpanan yang disiapkan di server, sebaiknya Anda menyiapkannya. Pemberitahuan akan memberi tahu Anda jika server mendekati batas penyimpanannya, yang dapat memengaruhi replikasi.

Pelajari cara membuat replika baca di portal Azure.

Menghubungkan ke replika

Saat dibuat, replika akan mewarisi aturan firewall server sumber. Setelah itu, aturan ini akan terpisah dari server sumber.

Replika mewarisi akun admin dari server sumber. Semua akun pengguna di server sumber akan direplikasi ke replika baca. Anda hanya dapat tersambung ke replika baca menggunakan akun pengguna yang tersedia di server sumber.

Anda dapat tersambung ke replika dengan menggunakan nama host dan akun pengguna yang valid, seperti yang Anda lakukan pada server Azure Database for MariaDB reguler. Untuk server bernama myreplica dengan nama pengguna admin myadmin, Anda dapat tersambung ke replika menggunakan CLI mysql:

mysql -h myreplica.mariadb.database.azure.com -u myadmin@myreplica -p

Di perintah, masukkan kata sandi untuk akun pengguna.

Pantau replikasi

Azure Database for MariaDB menyediakan metrik Jeda replikasi dalam hitungan detik di Azure Monitor. Metrik ini hanya tersedia untuk replika.

Metrik ini dihitung menggunakan metrik seconds_behind_master yang tersedia di perintah MariaDBSHOW SLAVE STATUS.

Atur pemberitahuan untuk memberi tahu Anda ketika jeda replikasi mencapai nilai yang tidak dapat diterima untuk beban kerja Anda.

Hentikan replikasi

Anda dapat menghentikan replikasi antara sumber dan replika. Setelah replikasi dihentikan antara server sumber dan replika baca, replika akan menjadi server mandiri. Data di server mandiri adalah data yang tersedia pada replika saat perintah hentikan replikasi dimulai. Server mandiri tidak mengejar ketinggalan dengan server sumber.

Jika Anda memilih untuk menghentikan replikasi pada replika, semua tautan ke sumber sebelumnya dan replika lainnya akan hilang. Tidak ada failover otomatis antara sumber dan replikanya.

Penting

Server mandiri tidak dapat dibuat menjadi replika lagi. Sebelum Anda menghentikan replikasi pada replika baca, pastikan replika memiliki semua data yang diperlukan.

Pelajari cara menghentikan replikasi pada replika.

Failover

Tidak ada failover otomatis antara server sumber dan replika.

Karena replikasi tidak sinkron, ada lag antara sumber dan replika. Jumlah jeda dapat dipengaruhi oleh sejumlah faktor seperti seberapa berat beban kerja yang berjalan di server sumber dan latensi di antara pusat data. Dalam kebanyakan kasus, lag replika berkisar antara beberapa detik hingga beberapa menit. Anda dapat melacak jeda replikasi yang sebenarnya menggunakan metrik Jeda Replika, yang tersedia untuk setiap replika. Metrik ini menunjukkan waktu sejak transaksi terakhir diputar ulang. Sebaiknya identifikasi jeda rata-rata Anda dengan mengamati jeda replika selama jangka waktu tertentu. Anda dapat mengatur pemberitahuan untuk jeda replika, sehingga jika berada di luar jangkauan yang diharapkan, tindakan dapat diambil.

Tip

Jika beralih ke replika, jeda pada saat Anda membatalkan replika dari sumber akan menunjukkan berapa banyak data yang hilang.

Setelah Anda memutuskan ingin melakukan failover pada replika,

  1. Hentikan replikasi pada replika.

    Langkah ini diperlukan agar server replika dapat menerima penulisan. Sebagai bagian dari proses ini, server replika akan dilepas dari server utama. Setelah Anda memulai penghentian replikasi, proses backend biasanya akan selesai dalam waktu sekitar 2 menit. Lihat bagian menghentikan replikasi di artikel ini untuk memahami implikasi dari tindakan ini.

  2. Mengarahkan aplikasi Anda ke replika (sebelumnya).

    Setiap server memiliki string koneksi yang unik. Perbarui aplikasi Anda agar mengarah ke replika (sebelumnya), alih-alih yang utama.

Setelah aplikasi Anda berhasil memproses pembacaan dan penulisan, Anda telah menyelesaikan failover. Jumlah waktu henti yang dialami aplikasi Anda akan bergantung pada saat Anda mendeteksi masalah dan menyelesaikan langkah 1 dan 2 di atas.

Pertimbangan dan batasan

Tingkat harga

Replika baca saat ini hanya tersedia di tingkat harga Tujuan Umum dan Memori yang Dioptimalkan.

Catatan

Biaya menjalankan server replika didasarkan pada wilayah tempat server replika berjalan.

Pengaktifan ulang server sumber

Jika Anda membuat replika untuk sumber yang tidak memiliki replika, sumber akan terlebih dahulu memulai ulang untuk mempersiapkan replikasi. Pertimbangkan dan lakukan operasi ini selama periode senggang.

Replika baru

Replika baca dibuat sebagai server Azure Database for MariaDB baru. Server yang sudah ada tidak dapat dibuat menjadi replika. Anda tidak dapat membuat replika atas replika baca lain.

Konfigurasi replika

Replika dibuat dengan menggunakan konfigurasi server yang sama dengan server utama. Setelah replika dibuat, beberapa pengaturan dapat diubah secara independen dari server sumber: pembuatan komputasi, vCore, penyimpanan, periode retensi cadangan, dan versi mesin MariaDB. Tingkat harga juga dapat diubah secara independen, kecuali ke atau dari tingkat Dasar.

Penting

Sebelum konfigurasi server sumber diperbarui ke nilai baru, perbarui konfigurasi replika ke nilai yang setara atau lebih besar. Tindakan ini memastikan replika dapat mengikuti setiap perubahan yang dilakukan pada server utama.

Aturan firewall dan pengaturan parameter diwariskan dari server sumber ke replika ketika replika dibuat. Kemudian, aturan replika bersifat independen.

Replika yang dihentikan

Jika Anda menghentikan replikasi antara server sumber dan replika baca, replika yang dihentikan akan menjadi server mandiri yang menerima baca dan tulis. Server mandiri tidak dapat dibuat menjadi replika lagi.

Server sumber dan mandiri yang dihapus

Ketika server sumber dihapus, replikasi pada semua replika baca akan dihentikan. Replika ini otomatis menjadi server mandiri dan dapat menerima pembacaan dan penulisan. Server sumber tersebut akan dihapus.

Akun pengguna

Pengguna di server sumber akan direplikasi ke replika baca. Anda hanya dapat tersambung ke replika baca menggunakan akun pengguna yang tersedia di server sumber.

Parameter server

Agar data tetap sinkron dan untuk menghindari potensi kerusakan atau kehilangan data, beberapa parameter server dikunci agar tidak diperbarui saat menggunakan replika baca.

Parameter server berikut dikunci pada server sumber dan replika:

Parameter event_scheduler dikunci pada server replika.

Untuk memperbarui salah satu parameter di atas pada server sumber, hapus server replika, perbarui nilai parameter pada server utama, dan buat ulang replika.

Lainnya

  • Membuat replika dari replika tidak didukung.
  • Tabel dalam memori dapat menyebabkan replika tidak sinkron. Ini adalah keterbatasan teknologi replikasi MariaDB.
  • Pastikan tabel server sumber memiliki kunci primer. Kurangnya kunci utama dapat mengakibatkan latensi replikasi antara sumber dan replika.

Langkah berikutnya