Automatyczne kopie zapasowe

Użytkownicy planu Blaze mogą skonfigurować Firebase Realtime Database do automatycznego tworzenia kopii zapasowych. Jest to funkcja samoobsługowa, która umożliwia codzienne tworzenie kopii zapasowych danych aplikacji bazy danych i Security Rules w formacie JSON w zasobniku Cloud Storage.

Konfiguracja

  1. W konsoli Firebase otwórz Bazy danych i miejsce na dane > Baza danych czasu rzeczywistego.

  2. Na karcie Kopie zapasowe użyj przepływu pracy w konsoli, aby skonfigurować automatyczne tworzenie kopii zapasowych.

Aby zmniejszyć koszty przechowywania, domyślnie włączamy kompresję Gzip. Możesz też włączyć 30-dniową zasadę cyklu życia w przypadku zasobnika, aby automatycznie usuwać kopie zapasowe starsze niż 30 dni.

Stan i aktywność kopii zapasowej możesz wyświetlić bezpośrednio w Firebasekonsoli i tam też możesz rozpocząć ręczne tworzenie kopii zapasowej. Może to być przydatne do robienia określonych migawek czasowych lub jako działanie zabezpieczające przed wprowadzeniem zmian w kodzie.

Po skonfigurowaniu utworzymy dla Ciebie nowy Cloud Storage zasobnik z uprawnieniami ZAPIS dla Firebase. Nie przechowuj w tym zasobniku danych, do których nie chcesz, aby Firebase miał dostęp. Firebase nie będzie mieć dodatkowego dostępu do innych zasobników Cloud Storage ani żadnych innych obszarów Google Cloud.

Przywracanie z kopii zapasowych

Aby przywrócić Firebase z kopii zapasowej, najpierw pobierz plik z Cloud Storage na dysk lokalny. Możesz to zrobić, klikając nazwę pliku w sekcji aktywności kopii zapasowej lub w interfejsie Cloud Storage kosza. Jeśli plik jest skompresowany za pomocą Gzip, najpierw go rozpakuj.

Dane możesz importować na 2 sposoby:

  • Opcja 1: użyj konsoli Firebase.

    1. Otwórz Bazy danych i pamięć > Baza danych czasu rzeczywistego > karta Dane.

    2. Kliknij Importuj JSON i wybierz plik JSON z danymi aplikacji.

  • Opcja 2: wyślij żądanie CURL z wiersza poleceń.

    1. Pobierz klucz tajny z Firebase. Możesz go uzyskać w sekcji Bazy danych i pamięć > Baza danych czasu rzeczywistego > karta Ustawienia.

    2. Wpisz w terminalu te wartości, zastępując pola DATABASE_NAMESECRET własnymi wartościami:

      curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
      

Jeśli masz problemy z przywróceniem kopii zapasowej z bardzo dużej bazy danych, skontaktuj się z zespołem pomocy Firebase.

Harmonogram

Kopia zapasowa bazy danych jest przypisana do konkretnej godziny każdego dnia, co zapewnia równomierne obciążenie i najwyższą dostępność dla wszystkich klientów korzystających z kopii zapasowych. Ta zaplanowana kopia zapasowa zostanie utworzona niezależnie od tego, czy w ciągu dnia utworzysz jakieś kopie ręczne.

Nazewnictwo plików

Pliki przesyłane do zasobnika Cloud Storage będą miały sygnaturę czasową (zgodną z normą ISO 8601) i będą używać tych konwencji nazewnictwa:

  • Dane z bazy danych: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • Reguły bazy danych: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

Jeśli włączona jest opcja Gzip, do nazw plików zostanie dodany sufiks .gz. Możesz łatwo znaleźć kopie zapasowe z określonej daty lub godziny, korzystając z wyszukiwania z prefiksami Cloud Storage.

Kompresja Gzip

Domyślnie kompresujemy pliki kopii zapasowych za pomocą kompresji Gzip, aby obniżyć koszty pamięci i skrócić czas przesyłania. Rozmiar skompresowanego pliku różni się w zależności od charakterystyki danych w bazie danych, ale typowe bazy danych mogą zmniejszyć się do ⅓ swojego pierwotnego rozmiaru, co pozwala zaoszczędzić na kosztach miejsca na dane i skrócić czas przesyłania kopii zapasowych.

Aby zdekompresować pliki JSON skompresowane za pomocą gzip, wydaj polecenie wiersza poleceń za pomocą pliku binarnego gunzip, który jest domyślnie dostarczany w systemach OS-X i większości dystrybucji Linuxa.

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

30-dniowy cykl przechowywania danych

Oferujemy łatwy w użyciu przełącznik konfiguracji, który włącza domyślne zasady cyklu życia obiektów w zasobniku Cloud Storage na 30 dni. Gdy ta opcja jest włączona, pliki w Twoim zasobniku będą automatycznie usuwane po 30 dniach. Pomaga to ograniczyć liczbę niepotrzebnych starych kopii zapasowych, co pozwala zaoszczędzić na kosztach miejsca na dane i utrzymać porządek w katalogu zasobnika. Jeśli umieścisz inne pliki w zasobniku Automatyczne kopie zapasowe, zostaną one usunięte zgodnie z tymi samymi zasadami.

Koszty

Funkcję tworzenia kopii zapasowych można włączyć w projektach w ramach abonamentu Blaze bez dodatkowych opłat. Za pliki kopii zapasowych umieszczone w zasobniku Cloud Storage naliczymy jednak standardowe stawki. Aby obniżyć koszty przechowywania danych, możesz włączyć kompresję Gzip i 30-dniowy cykl życia pamięci.