Pengguna paket Blaze dapat menyiapkan Firebase Realtime Database untuk cadangan otomatis, yakni fitur layanan mandiri yang dapat digunakan untuk mencadangkan data dan aturan aplikasi Database setiap harinya ke bucket Cloud Storage dalam format JSON.
Penyiapan
Untuk memulai, buka tab Cadangan di bagian Database pada Firebase console, lalu ikuti panduan penyiapan cadangan otomatis.
Untuk menghemat biaya penyimpanan, kami mengaktifkan kompresi Gzip secara default, dan Anda dapat memilih untuk mengaktifkan kebijakan siklus proses 30 hari di bucket agar cadangan yang berumur lebih dari 30 hari otomatis dihapus.
Anda dapat melihat status dan aktivitas backup secara langsung di Firebase console dan juga memulai backup manual di sana. Cara ini berguna untuk mengambil snapshot pada waktu tertentu atau sebagai tindakan pengamanan sebelum Anda mengubah kode.
Setelah penyiapan selesai, Anda akan mendapatkan bucket Cloud Storage baru dengan izin PENULIS untuk Firebase. Sebaiknya jangan menyimpan data di bucket ini jika Anda tidak ingin Firebase mengaksesnya. Firebase tidak akan memiliki akses tambahan ke bucket Cloud Storage lain atau area Google Cloud lainnya.
Memulihkan dari cadangan
Untuk memulihkan Firebase Anda dari cadangan, download file dari Cloud Storage ke disk lokal Anda terlebih dahulu. Lakukan ini dengan mengklik nama file dalam bagian aktivitas cadangan atau dari antarmuka bucket Cloud Storage. Jika file ini dikompresi dengan Gzip, buka kompresinya terlebih dahulu.
Ada dua cara untuk mengimpor data:
Metode 1: Klik tombol Impor JSON di bagian Data Database, lalu pilih file JSON data aplikasi Anda.
Metode 2: Anda juga dapat membuat permintaan CURL dari command line.
Pertama-tama, ambil rahasia dari Firebase yang dapat diperoleh dengan membuka halaman Setelan database.
Selanjutnya, masukkan baris berikut ini ke terminal dan ganti kolom DATABASE_NAME
dan SECRET
dengan nilai Anda sendiri:
curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -x PUT -d @<DATABASE_NAME>.json
Jika Anda kesulitan memulihkan cadangan dari database yang berukuran sangat besar, harap hubungi tim dukungan kami.
Penjadwalan
Backup Database ditetapkan ke waktu tertentu setiap harinya agar bebannya terbagi secara merata dan memelihara ketersediaan tertinggi untuk semua pelanggan backup. Backup terjadwal ini akan dilakukan meskipun Anda melakukan backup manual sepanjang hari.
Penamaan file
File yang ditransfer ke bucket Cloud Storage akan diberi stempel waktu (standar ISO 8601) dan menggunakan konvensi nama berikut:
- Data database:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
- Aturan database:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json
Jika Gzip diaktifkan, akhiran .gz
akan ditambahkan ke nama file. Anda dapat menemukan cadangan dari tanggal atau waktu tertentu dengan mudah menggunakan penelusuran awalan Cloud Storage.
Kompresi Gzip
Secara default, kami mengompresi file backup Anda menggunakan kompresi Gzip untuk menghemat biaya penyimpanan dan mengurangi waktu transfer. Ukuran file kompresi bervariasi bergantung pada karakteristik data Database. Namun, biasanya ukuran Database dapat menyusut hingga ⅓ ukuran aslinya, sehingga Anda dapat menghemat biaya penyimpanan dan mengurangi waktu upload file cadangan.
Untuk membuka file JSON yang dikompresi dengan Gzip, buat perintah command line menggunakan biner gunzip
yang secara default dikirimkan untuk distribusi OS-X dan sebagian besar Linux.
gunzip <DATABASE_NAME>.json.gz # Will unzip to <DATABASE_NAME>.json
Siklus proses 30 hari untuk Storage
Kami menawarkan pengalihan konfigurasi yang mudah digunakan, yang secara default mengaktifkan kebijakan siklus proses objek selama 30 hari untuk bucket Cloud Storage Anda. Jika kebijakan ini diaktifkan, file di bucket Anda akan otomatis dihapus setelah 30 hari. Hal ini membantu mengurangi cadangan lama yang tidak diinginkan, sehingga menghemat biaya penyimpanan Anda dan menjaga direktori bucket tetap bersih. Jika Anda menyimpan file lain di bucket Cadangan Otomatis, file ini juga akan dihapus dengan kebijakan yang sama.
Biaya
Fitur cadangan dapat diaktifkan untuk project pada paket Blaze tanpa biaya tambahan. Namun, Anda akan dikenakan biaya tarif standar untuk file cadangan yang disimpan di bucket Cloud Storage Anda. Anda dapat mengaktifkan Kompresi Gzip dan Siklus proses 30 hari untuk Storage untuk mengurangi biaya penyimpanan.