Topik ini menjelaskan fitur cadangan dan pemulihan serta metode penagihan PolarDB-X.
Cadangan
Jenis-jenis cadangan
PolarDB-X mendukung cadangan data dan log.
Cadangan Data: Sistem melakukan pencadangan data menggunakan metode fisik dan membuat set cadangan. Anda dapat memulihkan data ke waktu saat set cadangan dibuat.
Cadangan Log: Juga dikenal sebagai cadangan inkremental, mencadangkan log biner yang mencatat perubahan data.
Ketika cadangan log diaktifkan, Anda dapat memulihkan data ke waktu tertentu akurat hingga detik dalam periode retensi dengan menggunakan cadangan data dan log. Sebagai contoh, jika set cadangan data dari suatu instance dibuat pada 00:00:01 tanggal 1 Januari 2021 dan cadangan log diaktifkan, Anda dapat memulihkan data ke detik apa pun setelah 00:00:01 tanggal 1 Januari 2021.
Mode cadangan
PolarDB-X mendukung cadangan otomatis dan manual.
Cadangan Otomatis: Dipicu secara otomatis oleh sistem pada interval tertentu.
Kebijakan cadangan otomatis diaktifkan secara default dan tidak dapat dinonaktifkan. Ini mencakup cadangan data dan log.
Secara default, cadangan data dilakukan dua kali seminggu (Senin dan Kamis), dan cadangan log dilakukan secara terus-menerus. Anda dapat menentukan jendela waktu dan jadwal untuk cadangan otomatis.
Cadangan Manual: Dipicu secara manual melalui konsol PolarDB-X.
Cadangan otomatis harus berjalan minimal sekali seminggu.
Pastikan cadangan sebelumnya telah selesai sebelum memulai yang baru.
Lokasi penyimpanan file cadangan
Cadangan Data: File cadangan data disimpan dalam sistem penyimpanan Alibaba Cloud dan tidak menggunakan ruang penyimpanan instance database Anda. Secara default, mereka disimpan selama 30 hari.
Cadangan Log: File cadangan log disimpan sementara di instance database Anda. Mereka akan diunggah secara otomatis ke sistem penyimpanan Alibaba Cloud setelah disimpan selama periode waktu tertentu (7 jam secara default) atau ketika mereka menggunakan 30% dari ruang penyimpanan instance. File-file tersebut disimpan selama 7 hari.
Anda dapat mengonfigurasi kebijakan retensi cadangan log lokal untuk mencegah cadangan log menggunakan terlalu banyak ruang penyimpanan. Untuk informasi lebih lanjut, lihat Cadangan Data.
Dampak
Di PolarDB-X, cadangan dilakukan pada node data sekunder, yang tidak menangani lalu lintas bisnis. Hal ini memastikan bahwa cadangan data dan log tidak mengonsumsi sumber daya CPU dari node utama atau memengaruhi kinerja instance.
Dalam kasus langka di mana node sekunder tidak tersedia, cadangan data dan log dilakukan pada node utama.
Pemulihan
Metode pemulihan
PolarDB-X mendukung pemulihan melalui set cadangan dan pemulihan berdasarkan titik waktu.
Pemulihan Melalui Set Cadangan: Memulihkan data dari set cadangan tertentu. Anda hanya dapat memulihkan data ke waktu saat set cadangan dibuat.
Pemulihan Berdasarkan Titik Waktu: Menggunakan cadangan data dan log untuk memulihkan data ke waktu tertentu (akurat hingga detik) dalam periode retensi. Sebagai contoh, jika set cadangan data dibuat pada 00:00:01 tanggal 1 Januari 2021 dan cadangan log dihasilkan setelah itu, Anda dapat memulihkan data instance ke detik apa pun setelah waktu tersebut.
Lokasi pemulihan data
PolarDB-X hanya mendukung pemulihan data ke instance baru. Setelah data dipulihkan, gunakan alat seperti DTS untuk mengimpor data kembali ke instance asli.
Instance baru memiliki daftar putih, cadangan, dan konfigurasi parameter yang sama dengan instance asli.
Data di instance baru sama dengan data di file cadangan atau data pada titik waktu tertentu.
Informasi tentang akun yang digunakan untuk membuat cadangan data atau log dicerminkan ke instance baru.
Instance baru dan asli menggunakan topologi yang sama, termasuk jumlah node yang sama.
Konsistensi global
PolarDB-X adalah database terdistribusi di mana data disimpan di beberapa node data. Jika suatu instance berisi transaksi terdistribusi, instance tersebut harus memastikan konsistensi data di semua node. Gambar berikut menunjukkan cara memastikan konsistensi global selama transfer akun.
PolarDB-X menyimpan tabel saldo akun pengguna, dengan data didistribusikan di dua node data. Total saldo akun adalah USD 200. Dalam contoh ini, transaksi terdistribusi digunakan untuk mentransfer uang antar akun yang berbeda.
Pada 16:14:20 tanggal 25 Juli 2021, Akun B mentransfer USD 30 ke Akun A, dan Akun D mentransfer USD 20 ke Akun C. Untuk memulihkan data ke 16:14:20 tanggal 25 Juli 2021 dan memastikan konsistensi global, Anda hanya dapat memulihkan data ke titik waktu tertentu sebelum atau sesudah transaksi diproses. Dalam hal ini, total saldo akun harus USD 200, seperti ditunjukkan pada Pemulihan 2 pada gambar di atas. Dalam skenario ini, data tidak dapat dipulihkan dari Pemulihan 1. Jika data dipulihkan berdasarkan Pemulihan 1, total saldo akun selama pemulihan data sama dengan USD 250. Hal ini menyebabkan ketidaksesuaian global.