Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Tips Manajemen Cadangan untuk TimescaleDB

Informasi adalah salah satu aset paling berharga dalam sebuah perusahaan, dan tidak perlu dikatakan lagi bahwa seseorang harus memiliki Rencana Pemulihan Bencana (Disaster Recovery Plan - DRP) untuk mencegah kehilangan data jika terjadi kecelakaan atau kegagalan perangkat keras. Cadangan adalah bentuk DR yang paling sederhana. Ini mungkin tidak selalu cukup untuk menjamin Recovery Point Objective (RPO) yang dapat diterima, tetapi merupakan pendekatan pertama yang baik.

Baik itu server dengan beban tinggi 24x7 atau lingkungan volume transaksi rendah, Anda perlu membuat pencadangan sebagai prosedur yang lancar tanpa mengganggu kinerja server di lingkungan produksi.

Jika kita berbicara tentang TimescaleDB, ada berbagai jenis cadangan untuk mesin baru ini untuk data deret waktu. Jenis cadangan yang harus kita gunakan bergantung pada banyak faktor, seperti lingkungan, infrastruktur, beban, dll.

Di blog ini, kita akan melihat berbagai jenis cadangan yang tersedia, dan bagaimana ClusterControl dapat membantu kita memusatkan manajemen pencadangan untuk TimescaleDB.

Jenis Cadangan

Ada berbagai jenis cadangan untuk database. Mari kita lihat masing-masing secara detail.

  • Logis:Cadangan disimpan dalam format yang dapat dibaca manusia seperti SQL.
  • Fisik:Cadangan berisi data biner.
  • Penuh/Penambahan/Diferensial:Definisi ketiga jenis cadangan ini tersirat dalam namanya. Cadangan lengkap adalah salinan lengkap dari semua data Anda. Incremental backup hanya mem-backup data yang telah berubah sejak backup sebelumnya dan differential backup hanya berisi data yang telah berubah sejak full backup terakhir dijalankan. Pencadangan inkremental dan diferensial diperkenalkan sebagai cara untuk mengurangi jumlah waktu dan penggunaan ruang disk yang diperlukan untuk melakukan pencadangan penuh.
  • Kompatibel dengan Pemulihan Titik Dalam Waktu:PITR Melibatkan pemulihan basis data pada saat tertentu di masa lalu. Untuk dapat melakukan ini, kita perlu memulihkan cadangan lengkap, lalu menerapkan semua perubahan yang terjadi setelah pencadangan hingga tepat sebelum kegagalan.

Fitur Manajemen Pencadangan ClusterControl

Mari kita lihat bagaimana ClusterControl dapat membantu kita mengelola berbagai jenis cadangan.

Membuat Cadangan

Untuk tugas ini, buka ClusterControl -> Pilih TimescaleDB Cluster -> Backup -> Create Backup .

Kami dapat membuat cadangan baru atau mengonfigurasi yang dijadwalkan. Sebagai contoh, kami akan membuat satu cadangan secara instan.

Di sini kami memiliki satu metode untuk setiap jenis cadangan yang kami sebutkan sebelumnya.

Jenis Cadangan Alat Definisi
Logis pg_dumpall Ini adalah utilitas untuk menulis semua database TimescaleDB dari sebuah cluster ke dalam satu file skrip. File skrip berisi perintah SQL yang dapat digunakan untuk memulihkan database.
Fisik pg_basebackup Ini digunakan untuk membuat salinan biner dari file cluster database, sambil memastikan sistem dimasukkan dan keluar dari mode pencadangan secara otomatis. Cadangan selalu diambil dari seluruh cluster database dari cluster database TimescaleDB yang sedang berjalan. Ini diambil tanpa mempengaruhi klien lain ke database.
Penuh/Peningkatan/Beda pgbackrest Ini adalah solusi pencadangan dan pemulihan yang sederhana dan andal yang dapat dengan mulus meningkatkan basis data dan beban kerja terbesar dengan memanfaatkan algoritme yang dioptimalkan untuk persyaratan khusus basis data. Salah satu fitur terpenting adalah dukungan untuk Pencadangan Penuh, Tambahan, dan Diferensial.
PITR pg_basebackup+WALs Untuk membuat cadangan yang kompatibel dengan PITR, ClusterControl akan menggunakan pg_basebackup dan file WAL, untuk dapat memulihkan database pada saat tertentu di masa lalu.

Kita harus memilih satu metode, server dari mana cadangan akan diambil, dan di mana kita ingin menyimpan cadangan. Kami juga dapat mengunggah cadangan kami ke cloud (AWS, Google, atau Azure) dengan mengaktifkan tombol yang sesuai.

Perlu diingat bahwa jika Anda ingin membuat cadangan yang kompatibel dengan PITR, kita harus menggunakan pg_basebackup pada langkah ini dan kita harus mengambil cadangan dari node master.

Kemudian kami menentukan penggunaan kompresi, enkripsi, dan penyimpanan cadangan kami.

Pada bagian backup, kita dapat melihat progres backup, dan informasi seperti metode, ukuran, lokasi, dan lainnya.

Mengaktifkan Pemulihan Titik Dalam Waktu

Jika kita ingin menggunakan fitur PITR, kita harus mengaktifkan Pengarsipan WAL. Untuk ini kita bisa pergi ke ClusterControl -> Pilih TimescaleDB Cluster -> Node actions -> Enable WAL Archiving , atau cukup buka ClusterControl -> Pilih TimescaleDB Cluster -> Backup -> Settings dan aktifkan opsi “Aktifkan Pemulihan Point-In-Time (Pengarsipan WAL) ” seperti yang akan kita lihat pada gambar berikut.

Kita harus ingat bahwa untuk mengaktifkan Pengarsipan WAL, kita harus me-restart database kita. ClusterControl dapat melakukan ini untuk kita juga.

Selain opsi umum untuk semua cadangan seperti “Direktori Cadangan ” dan “Periode Retensi Cadangan ”, disini kita juga bisa menentukan Jangka Waktu Retensi WAL. Secara default adalah 0, yang berarti selamanya.

Untuk mengonfirmasi bahwa kami telah mengaktifkan Pengarsipan WAL, kami dapat memilih node Master kami di ClusterControl -> Pilih TimescaleDB Cluster -> Nodes , dan kita akan melihat pesan WAL Archiving Enabled, seperti yang dapat kita lihat pada gambar berikut.

Memulihkan Cadangan

Setelah backup selesai, kita dapat mengembalikannya dengan menggunakan ClusterControl. Untuk ini, di bagian pencadangan kami (ClusterControl -> Pilih TimescaleDB Cluster -> Backup ), kita bisa memilih "Restore Backup", atau langsung "Restore" pada backup yang ingin kita restore.

Kami memiliki tiga opsi untuk memulihkan cadangan. Kami dapat memulihkan cadangan di node database yang ada, memulihkan dan memverifikasi cadangan pada host mandiri atau membuat cluster baru dari cadangan.

Jika kami mencoba memulihkan cadangan yang kompatibel dengan PITR, kami juga perlu menentukan waktunya.

Data akan dikembalikan seperti pada waktu yang ditentukan. Perhatikan bahwa zona waktu UTC digunakan dan layanan TimescaleDB kami di master akan dimulai ulang.

Kami dapat memantau kemajuan pemulihan kami dari bagian Aktivitas di ClusterControl kami.

Verifikasi Pencadangan Otomatis

Cadangan bukan cadangan jika tidak dapat dipulihkan. Memverifikasi cadangan adalah sesuatu yang biasanya diabaikan oleh banyak orang. Mari kita lihat bagaimana ClusterControl dapat mengotomatiskan verifikasi cadangan TimescaleDB dan membantu menghindari kejutan apa pun.

Di ClusterControl, pilih cluster Anda dan buka "Backup ", lalu, pilih “Buat Cadangan ”.

Fitur verifikasi cadangan otomatis tersedia untuk pencadangan terjadwal. Jadi, mari kita pilih “Jadwalkan Pencadangan ” pilihan.

Saat menjadwalkan pencadangan, selain memilih opsi umum seperti metode atau penyimpanan, kita juga perlu menentukan jadwal/frekuensi.

Pada langkah selanjutnya, kami dapat mengompres dan mengenkripsi cadangan kami dan menentukan periode penyimpanan. Di sini, kami juga memiliki "Verifikasi Cadangan ” fitur.

Untuk menggunakan fitur ini, kami memerlukan host (atau VM) khusus yang bukan bagian dari cluster.

ClusterControl akan menginstal perangkat lunak dan akan memulihkan cadangan di host ini. Setelah restore, kita bisa melihat icon verifikasi di bagian ClusterControl Backup.

Kesimpulan

Saat ini, cadangan wajib di lingkungan apa pun. Mereka membantu Anda melindungi data Anda. Pencadangan tambahan dapat membantu mengurangi jumlah waktu dan ruang penyimpanan yang digunakan untuk proses pencadangan. Log transaksi penting untuk Point-in-Time-Recovery. ClusterControl dapat membantu mengotomatiskan proses pencadangan untuk database TimescaleDB Anda dan, jika terjadi kegagalan, pulihkan dengan beberapa klik. Selain itu, Anda dapat meminimalkan RPO dengan menggunakan cadangan yang kompatibel dengan PITR dan meningkatkan Rencana Pemulihan Bencana Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tentukan antara pemantauan berbasis agen versus tanpa agen

  2. Karena Anda perlu tahu PowerShell

  3. Pengujian otomatis aplikasi desktop:tinjauan kelayakan dan kerangka kerja

  4. 3 Tips Teratas yang Perlu Anda Ketahui untuk Menulis Tampilan SQL Lebih Cepat

  5. Pengantar Data Mining