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
W konsoli Firebase otwórz Bazy danych i miejsce na dane > Baza danych czasu rzeczywistego.
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.
Otwórz Bazy danych i pamięć > Baza danych czasu rzeczywistego > karta Dane.
Kliknij Importuj JSON i wybierz plik JSON z danymi aplikacji.
Opcja 2: wyślij żądanie CURL z wiersza poleceń.
Pobierz klucz tajny z Firebase. Możesz go uzyskać w sekcji Bazy danych i pamięć > Baza danych czasu rzeczywistego > karta Ustawienia.
Wpisz w terminalu te wartości, zastępując pola
DATABASE_NAMEiSECRETwł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.