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

Membandingkan MariaDB Enterprise Backup dengan ClusterControl Backup Management

MariaDB Enterprise Backup adalah solusi pencadangan dari MariaDB Corporation dengan sejumlah fitur seperti pencadangan tanpa pemblokiran, pencadangan penuh, pencadangan tambahan, pencadangan sebagian, dan Pemulihan Titik Waktu.

Kami sering mendapat pertanyaan tentang perbedaan antara fitur manajemen cadangan MariaDB Backup dan ClusterControl. Jadi ini tentang blog ini.

Membuat cadangan vs mengelolanya

MariaDB Backup adalah cabang dari Percona XtraBackup, dan merupakan alat untuk mengambil cadangan fisik server MariaDB. Ini memungkinkan Anda melakukan hal-hal seperti pencadangan penuh, inkremental, parsial. Seseorang juga dapat melakukan pemulihan titik waktu dengan bantuan log biner. Menurut dokumentasi, versi 'Perusahaan' dari cadangan MariaDB menyediakan "pelacakan pernyataan DDL, yang mengurangi waktu penguncian selama pencadangan".

ClusterControl mendukung MariaDB Backup sebagai metode pencadangan untuk MariaDB. Ini menyediakan antarmuka pengguna grafis untuk menjadwalkan pencadangan penuh, pencadangan tambahan dan pencadangan parsial, dan melakukan pemulihan file cadangan atau juga mengotomatiskan pemulihan titik waktu. Selain itu, ClusterControl menyediakan fitur seperti enkripsi, kompresi, unggah ke penyimpanan cloud (Azure, AWS, Google Cloud) dan verifikasi cadangan otomatis untuk memastikan cadangan dapat dipulihkan.

Pencadangan dan Pemulihan Penuh

Untuk melakukan pencadangan penuh menggunakan MariaDB Enterprise Backup, Anda dapat menggunakan utilitas perintah mariabackup. Ada 4 input parameter setelah perintah mariabackup. Parameternya adalah :

  • Cadangan - ini digunakan untuk membuat cadangan database menggunakan utilitas mariabackup.
  • Siapkan - untuk membuat pencadangan yang konsisten tepat waktu, Anda perlu menyiapkan cadangan setelah pencadangan mentah dijalankan.
  • Salin balik - digunakan untuk mengembalikan cadangan yang diekstraksi ke direktori data default mysql. Ini akan menyalin cadangan ke direktori mysql, tanpa menghapus cadangan asli.
  • Mundur -  digunakan untuk memulihkan cadangan yang diekstrak ke direktori data mysql dengan memindahkan semua direktori cadangan.

Jika Anda ingin mencadangkan dan memulihkan, Anda cukup meneruskan parameter wajib setelah perintah mariabackup. Untuk perintah full backup, di bawah ini adalah contoh script menggunakan MariaDB Backup.

mariabackup --backup --target-dir=/backup/full/ --user=bkpuser --password=p4sswordb4ckup

Ada beberapa opsi yang perlu Anda tentukan, seperti --target-dir, yang merupakan lokasi target untuk file cadangan, --user, digunakan untuk kredensial pengguna untuk cadangan, dan --password untuk sandi cadangan kredensial.

Agar pencadangan menjadi konsisten secara point-int-time, Anda harus menjalankan persiapan setelah pencadangan lengkap selesai. File data tidak konsisten sampai Anda menjalankan persiapan, karena saat Anda menjalankan pencadangan, file data disalin pada titik waktu yang berbeda selama pencadangan.

Untuk menjalankan persiapan pencadangan:

mariabackup --prepare --target-dir=/backup/full

Setelah Anda menjalankan persiapan, itu akan membuat cadangan siap untuk dipulihkan. Anda akan melihat pesan di baris terakhir seperti di bawah ini,  saat persiapan berhasil.

InnoDB: Shutdown completed; log sequence number 9553231

Anda dapat menjalankan perintah restore menggunakan copy-back. Berikut adalah contoh skrip untuk memulihkan cadangan:

mariabackup --copy-back --target-dir=/backup/full

Anda dapat meletakkan skrip di atas dalam perintah skrip shell dan memberikan izin yang dapat dieksekusi, mengonfigurasinya pada penjadwal sistem operasi.

Backup dan Restore menggunakan ClusterControl Backup Management sangat mudah digunakan. ClusterControl mendukung pencadangan logis dan pencadangan fisik. Untuk pencadangan logis, ClusterControl menggunakan mysqldump dan untuk pencadangan fisik menggunakan mariabackup full backup dan incremental.

Ada dua opsi tentang bagaimana Anda ingin melakukan pencadangan; Anda dapat membuat pencadangan secara langsung atau menjadwalkan pencadangan.

Anda juga dapat mengaktifkan beberapa opsi seperti enkripsi, kompresi, utas salinan paralel sebagai ditunjukkan di bawah ini :

Memulihkan cadangan semudah membuat cadangan. Anda hanya perlu memilih file cadangan lengkap yang ingin Anda pulihkan.

Ada dua opsi tentang cara Anda ingin memulihkan cadangan; Anda dapat memulihkan cadangan ke node tempat cadangan diambil atau Anda dapat memulihkan cadangan ke host mandiri khusus.

Pencadangan dan Pemulihan Tambahan

Mengambil cadangan penuh dari database yang sangat besar akan memakan waktu dan sumber daya. Pencadangan tambahan digunakan untuk melakukan pencadangan perubahan setelah pencadangan penuh terakhir dilakukan.

Saat pencadangan tambahan berjalan, MariaDB Enterprise Backup akan membandingkan cadangan lengkap sebelumnya atau cadangan tambahan untuk menemukan perubahan terakhir.

mariabackup --backup --incremental-basedir=/backup/full --target-dir=/backup/incr --user=bkpuser  --password=p4sswordb4ackup

Sebelum melakukan pencadangan inkremental, Anda perlu memastikan bahwa pencadangan lengkap telah disiapkan. Setelah itu, Anda dapat menjalankan pencadangan tambahan, menerapkan pencadangan penuh terakhir.

mariabackup --prepare  --target-dir=/backup/full --incremental-dir=/backup/incr

Setelah cadangan tambahan diterapkan ke cadangan lengkap, direktori cadangan lengkap sekarang akan menyiapkan semua data cadangan.

Memulihkan cadangan lengkap yang telah disiapkan dengan semua perubahan tambahan dapat dilakukan melalui :

mariabackup --copy-back --target-dir=/backup/full

Untuk melakukan pencadangan inkremental di ClusterControl, Anda dapat memilih inkremental mariabackup. Anda harus menyiapkan cadangan lengkap sebelum melakukan pencadangan tambahan.

ClusterControl akan secara otomatis menemukan cadangan lengkap terdekat saat Anda menjalankan pencadangan tambahan. Dan untuk memulihkan cadangan, Anda dapat memilih cadangan dan pemulihan lengkap yang disiapkan. Ini akan meminta Anda bagaimana Anda ingin memulihkan cadangan, baik pada node atau host mandiri. Ini akan memulihkan cadangan termasuk perubahan tambahan.

Pencadangan dan Pemulihan Sebagian

Cadangan sebagian menentukan database atau tabel mana yang ingin Anda cadangkan. Anda dapat memilih daftar database dan tabel untuk dicadangkan, atau Anda dapat mengecualikan beberapa database dan tabel dari cadangan. Pilihannya meliputi :--databases, --databases-exclude, --tables, --tables-exclude

Di bawah ini adalah contoh skrip untuk melakukan pencadangan sebagian, untuk tabel card_data.

mariabackup --backup --target-dir=/backup/partial --user=bkpuser --password=p4sswordb4ckup --tables=card_data

Anda masih perlu menyiapkan pencadangan sebagian penuh untuk membuat pencadangan tepat waktu dengan menjalankan perintah di bawah ini : 

mariabackup --prepare --export --target-dir=/backup/partial

Melakukan pemulihan sebagian sangat berbeda dibandingkan dengan memulihkan cadangan penuh dan cadangan tambahan. Anda perlu menyiapkan tabel dan database di Server MariaDB yang sedang berjalan, lalu menyalin file data secara manual ke direktori data mysql.

Misalnya, Anda ingin melakukan pemulihan sebagian untuk tabel card_data (tabel yang tidak dipartisi).

  • Buat tabel kosong card_data dengan struktur yang sama di database target 
  • Jalankan tablespace DISCARD pada tabel card_data.
    ALTER TABLE carddb.card_data DISCARD TABLESPACE;
  • Salin file data ke direktori data mysql 
    cp /backup/partial/carddb/card_data.* /var/lib/mysql/carddb
  • Ubah pemilik file menjadi mysql
    chown mysql:mysql /var/lib/mysql/carddb/card_data.*
  • Hal terakhir, impor tablespace: 
    ALTER TABLE carddb.card_data IMPORT TABLESPACE;

Partial Backup di ClusterControl sangat mudah, Anda hanya perlu mengaktifkan opsi Partial Backup. Ini akan memberi Anda pilihan untuk memasukkan atau mengecualikan database dan tabel seperti yang ditunjukkan di bawah ini :

Bagian selanjutnya mirip dengan full backup dan incremental backup, Anda bisa pilih pengaturan seperti enkripsi dan kompresi.

Memulihkan sebagian cadangan sama persis seperti saat kami memulihkan cadangan penuh. Anda hanya perlu memilih cadangan sebagian, dan sisanya akan ditangani oleh ClusterControl.

Pemulihan Titik dalam Waktu

Memulihkan cadangan penuh atau cadangan tambahan memang memberi Anda cadangan sejak pencadangan diambil, tetapi itu tidak memberi Anda data apa pun yang datang setelah pencadangan diambil. Perubahan ini akan ada di log biner. Saat Anda melakukan pencadangan yang disiapkan dengan binlog diaktifkan, akan ada file bernama xtrabackup_binlog_info. File tersebut berisi file log biner dan posisi nomor urut terakhir.

Anda dapat melakukan pemulihan titik waktu dengan mengekstrak perubahan ke SQL, seperti setelah pemulihan selesai. Anda dapat menjalankan mysqlbinlog untuk mengekstrak waktu tertentu di node database sumber, dan menerapkan SQL di node database target/dipulihkan.

Point in Time Recovery (PITR) di ClusterControl dapat diaktifkan seperti gambar di bawah ini:

Anda perlu menentukan sampai titik mana untuk memulihkan, ada dua opsi yang didukung yang berbasis waktu atau berbasis posisi. Untuk time based, Anda hanya perlu mengisi waktu yang tepat saat data akan dikembalikan. Untuk berdasarkan posisi, Anda perlu mengisi nama dan posisi binlog. Pemulihan lainnya serupa.

Kesimpulan

Itu saja untuk saat ini. Seperti yang telah kita lihat di atas, MariaDB Backup adalah alat yang bagus dengan banyak pilihan. ClusterControl menyediakan GUI yang mudah digunakan untuk melakukan prosedur pencadangan. Itu juga menambahkan sejumlah fitur seperti enkripsi, kompresi, penjadwalan, manajemen penyimpanan, dan verifikasi pencadangan otomatis.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa Itu Tabel Temporal MariaDB?

  2. HOUR() vs EXTRACT(HOUR ...) di MariaDB:Apa Bedanya?

  3. Panduan untuk MariaDB Columnstore untuk Admin MySQL

  4. Bagaimana SEC_TO_TIME() Bekerja di MariaDB

  5. Panduan untuk Otomatisasi Basis Data dengan Kontrol Cluster Somenines