Omówienie odzyskiwania do określonego momentu (PITR)

Odzyskiwanie do określonego momentu chroni przed przypadkowym usunięciem lub zapisami. Odzyskiwanie do określonego momentu zachowuje wersje dokumentów z przeszłych sygnatur czasowych. Jeśli na przykład deweloper prześle nieprawidłowe dane, przypadkowo usunie lub zapisze dane, odzyskiwanie do określonego momentu może przywrócić dane do stanu z określonego momentu w przeszłości (maksymalnie 7 dni wstecz).

W przypadku każdej aktywnej bazy danych, która jest zgodna ze sprawdzonymi metodami, korzystanie z odzyskiwania do określonego momentu nie wpływa na wydajność odczytu ani zapisu.

Okno odzyskiwania do określonego momentu

Po włączeniu odzyskiwania do określonego momentu Cloud Firestore zaczyna przechowywać dane odzyskiwania do określonego momentu. Dane odzyskiwania do określonego momentu są przechowywane przez 7 dni w oknie odzyskiwania do określonego momentu.

Możesz odczytywać dane z sygnatury czasowej na podstawie tego, kiedy włączono odzyskiwanie do określonego momentu:

Stan włączenia odzyskiwania do określonego momentu Najwcześniejsze dostępne dane odzyskiwania do określonego momentu
Wyłączono 1 godzina przed czasem żądania odczytu
Włączono w ciągu 7 dni 1 godzina przed włączeniem odzyskiwania do określonego momentu
Włączono ponad 7 dni temu 7 dni przed czasem żądania odczytu

W oknie odzyskiwania do określonego momentu zachowywana jest jedna wersja na minutę. Możesz odczytywać dokumenty z dokładnością do minuty, używając sygnatury czasowej całej minuty. Odczyty, które nie są wykonywane z dokładnością do minuty, np. 2023-05-30 09:00:00.1234AM, zwracają błąd, że read_time jest zbyt stary.

W przypadku wielu operacji zapisu zachowywana jest tylko jedna wersja dokumentu. Jeśli na przykład dokument miał wiele operacji zapisu w zakresie od v1, v2, ... vk między 2023-05-30 09:00:00AM (wyłącznie) a 2023-05-30 09:01:00AM (włącznie) sygnaturami czasowymi, żądanie odczytu z sygnaturą czasową 2023-05-30 09:01:00AM zwraca vk wersję dokumentu.

Możesz odczytywać dane utworzone w oknie odzyskiwania do określonego momentu. Dane są przechowywane z dokładnością do minuty i możesz je odzyskać z taką samą dokładnością. Funkcja odzyskiwania do określonego momentu jest domyślnie wyłączona.

Pole earliestVersionTime w bazie danych określa najwcześniejszy dopuszczalny czas odczytu danych.

Niezależnie od tego, czy odzyskiwanie do określonego momentu jest włączone, czy nie, możesz odczytywać (ale nie eksportować) dokumenty z dowolną sygnaturą czasową z dokładnością do mikrosekundy w ciągu ostatniej godziny, ale nie wcześniej niż earliestVersionTime.

Sposoby odzyskiwania danych

Dane możesz odzyskać na kilka sposobów:

  • Aby odzyskać część bazy danych, wykonaj odczyt opóźniony określając warunek zapytania lub używając bezpośredniego wyszukiwania klucza wraz z sygnaturą czasową w przeszłości, a następnie zapisz wyniki z powrotem w aktywnej bazie danych. Jest to zwykle używane do operacji chirurgicznych w aktywnej bazie danych. Jeśli na przykład przypadkowo usuniesz konkretny dokument lub nieprawidłowo zaktualizujesz podzbiór danych, możesz go odzyskać za pomocą tej metody. Instrukcje znajdziesz w artykule Odzyskiwanie części bazy danych.

  • Aby odzyskać całą bazę danych, użyj jednej z tych opcji:

    • Sklonuj bazę danych aby utworzyć jej kopię z określoną sygnaturą czasową.

    • Wyeksportuj bazę danych, określ sygnaturę czasową w przeszłości, a następnie zaimportuj ją do nowej bazy danych. Operacja eksportu odzyskiwania do określonego momentu obsługuje wszystkie filtry, w tym eksport wszystkich dokumentów i eksport określonych kolekcji.

    Możesz klonować lub eksportować dane odzyskiwania do określonego momentu, w przypadku których sygnatura czasowa jest sygnaturą czasową całej minuty w ciągu ostatnich 7 dni, ale nie wcześniej niż earliestVersionTime.

Ceny

Zanim włączysz odzyskiwanie do określonego momentu w bazie danych, zapoznaj się z tymi informacjami o cenach:

  • Miejsce na dane: Cloud Firestore codziennie mierzy rozmiar bazy danych. W ciągu miesiąca te punkty próbkowania są uśredniane w celu obliczenia rozmiaru miejsca na dane w bazie danych. Ta średnia wartość jest mnożona przez cenę jednostkową odzyskiwania do określonego momentu (GB/miesiąc). Więcej informacji znajdziesz w cenniku miejsca na dane.

    Miejsce na dane odzyskiwania do określonego momentu nie ma bezpłatnego poziomu, a jeśli chcesz korzystać z odzyskiwania do określonego momentu, musisz mieć włączone rozliczenia.

  • Rozliczenia za obliczenia: wszystkie zapytania wysyłane w 7-dniowym oknie odzyskiwania do określonego momentu, zarówno w przypadku nieaktualnych odczytów, jak i eksportów, wiążą się z kosztami operacji odczytu na podstawie liczby odczytanych dokumentów. Więcej informacji znajdziesz w cenniku.

  • Minimalne rozliczenia: nawet jeśli wyłączysz odzyskiwanie do określonego momentu w ciągu 1 dnia od jego włączenia, możesz zostać obciążony(-a) kosztem miejsca na dane odzyskiwania do określonego momentu za 1 dzień.

Co dalej?