Ringkasan pemulihan point-in-time (PITR)

Firestore dalam pemulihan point-in-time (PITR) mode Datastore memberikan perlindungan terhadap penghapusan atau penulisan yang tidak disengaja. PITR mempertahankan versi entitas Anda dari stempel waktu sebelumnya. 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 usang dengan menentukan kondisi kueri atau menggunakan pencarian kunci langsung beserta stempel waktu di masa lalu, lalu tulis kembali hasilnya ke dalam database live. Metode ini biasanya digunakan untuk operasi bedah pada database yang aktif. Misalnya, jika Anda secara tidak sengaja menghapus entitas tertentu atau memperbarui subset data secara tidak benar, Anda dapat memulihkannya dengan metode ini. Untuk mengetahui petunjuknya, lihat memulihkan sebagian dari 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 mengekspor database dapat memerlukan waktu beberapa jam. Anda dapat mengekspor data PITR dengan stempel waktu berupa stempel waktu satu menit dalam tujuh hari terakhir, tetapi tidak lebih awal dari waktu paling awal.

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 pricing untuk informasi selengkapnya.

  • Penagihan minimum: Anda mungkin akan ditagih biaya penyimpanan PITR hingga 1 hari meskipun Anda menonaktifkan PITR dalam waktu satu hari setelah pengaktifan.

Langkah selanjutnya