Pemulihan point-in-time (PITR) Firestore dalam mode Datastore memberikan perlindungan terhadap penghapusan atau penulisan yang tidak disengaja. PITR mempertahankan versi entity Anda dari stempel waktu yang lalu. Misalnya, jika developer mendorong data yang salah, menghapus atau menulis secara tidak sengaja, PITR dapat memulihkan data ke titik waktu tertentu di masa lalu (hingga maksimum 7 hari) dengan lancar.
Untuk setiap database live yang mengikuti Praktik terbaik, penggunaan PITR tidak memengaruhi performa baca atau tulis.
Periode PITR
Setelah Anda mengaktifkan PITR, mode Datastore mulai menyimpan data PITR. Data PITR dipertahankan selama 7 hari di periode PITR.
Anda dapat baca data sesuai stempel waktu berdasarkan waktu PITR diaktifkan:
Status pengaktifan PITR | Data PITR paling awal tersedia | |
---|---|---|
Dinonaktifkan | 1 jam sebelum waktu permintaan baca | |
diaktifkan dalam waktu 7 hari | 1 jam sebelum PITR diaktifkan | |
diaktifkan lebih dari 7 hari yang lalu | 7 hari sebelum waktu permintaan baca |
Satu versi per menit yang dipertahankan dalam periode PITR. Anda dapat baca dokumen dengan tingkat perincian menit menggunakan stempel waktu satu menit. Hanya satu versi dokumen yang dipertahankan jika terjadi beberapa kali penulisan. Misalnya, jika dokumen memiliki beberapa rentang penulisan, mulai dari v1, v2, ... vk
antara stempel waktu 2023-05-30 09:00:00AM
(eksklusif) dan 2023-05-30 09:01:00AM
(inklusif), permintaan baca pada stempel waktu 2023-05-30 09:01:00AM
akan menampilkan versi vk
dari dokumen.
Anda dapat membaca dari data yang dibuat selama periode PITR. Data disimpan pada tingkat perincian satu menit dan Anda dapat memulihkan data pada tingkat perincian yang sama. Fitur PITR mode Datastore dinonaktifkan secara default.
Kolom earliestVersionTime pada database Anda menentukan waktu baca paling awal yang diizinkan untuk data Anda.
Terlepas dari apakah PITR diaktifkan atau tidak, Anda dapat membaca (tetapi tidak mengekspor) dokumen pada stempel waktu dengan perincian mikrodetik dalam satu jam terakhir, tetapi tidak sebelum earliestVersionTime.
Cara memulihkan data
Ada dua cara untuk memulihkan data:
Untuk memulihkan sebagian database, lakukan pembacaan yang sudah tidak berlaku yang menentukan kondisi kueri atau menggunakan pencarian kunci langsung beserta stempel waktu sebelumnya, lalu tuliskan hasilnya ke database live. Hal ini biasanya digunakan untuk operasi bedah pada database live. Misalnya, jika Anda tidak sengaja menghapus entity tertentu atau salah memperbarui subset data, Anda dapat memulihkannya dengan metode ini. Untuk mengetahui petunjuknya, lihat memulihkan sebagian database Anda.
Untuk memulihkan seluruh database, ekspor database yang menentukan stempel waktu sebelumnya, lalu impor ke database baru. Operasi ekspor PITR mendukung semua filter, termasuk ekspor semua entity dan ekspor jenis atau namespace tertentu. Perhatikan bahwa proses ekspor database dapat memerlukan waktu beberapa jam. Anda dapat mengekspor data PITR dengan stempel waktu satu menit dalam tujuh hari terakhir, tetapi tidak lebih awal dari VersionTime.
Harga
Pertimbangkan informasi harga berikut sebelum mengaktifkan PITR untuk database Anda:
Penyimpanan: Mode Datastore mengukur ukuran database setiap hari. Selama sebulan, titik contoh ini dirata-ratakan untuk menghitung ukuran penyimpanan database. Nilai rata-rata ini dikalikan dengan harga satuan PITR (GB-bulan). Lihat harga penyimpanan untuk informasi selengkapnya.
Penyimpanan PITR tidak memiliki paket gratis dan Anda harus mengaktifkan penagihan jika ingin menggunakan PITR.
Penagihan komputasi: Setiap kueri yang Anda buat selama periode PITR 7 hari, baik melalui pembacaan yang sudah tidak berlaku maupun ekspor, akan dikenai biaya operasi baca berdasarkan jumlah dokumen yang dibaca. Lihat Harga untuk informasi selengkapnya.
Penagihan minimum: Anda dapat ditagih hingga 1 hari biaya penyimpanan PITR meskipun Anda menonaktifkan PITR dalam satu hari setelah pengaktifan.
Langkah selanjutnya
- Pelajari lebih lanjut cara memulihkan data dengan PITR.