Użytkownicy subskrypcji Blaze mogą skonfigurować Firebase Realtime Database do automatycznych kopii zapasowych. Jest to funkcja samoobsługowa, która umożliwia codzienne tworzenie kopii zapasowych danych aplikacji bazy danych i reguł w formacie JSON w zasobniku Cloud Storage.
Konfiguracja
Aby rozpocząć, otwórz kartę Kopie zapasowe w sekcji Baza danych w konsoli Firebase, a kreator przeprowadzi Cię przez proces konfigurowania automatycznych kopii zapasowych.
Aby obniżyć koszty przechowywania, domyślnie włączamy kompresję Gzip. Możesz też włączyć 30-dniową zasadę cyklu życia w przypadku swojego zasobnika, aby automatycznie usuwać kopie zapasowe starsze niż 30 dni.
Stan i aktywność kopii zapasowej możesz sprawdzić bezpośrednio w konsoli Firebase, gdzie możesz też utworzyć kopię zapasową ręcznie. Może to być przydatne do wykonywania określonych migawek w określonym czasie lub jako działanie zabezpieczające przed wprowadzeniem zmian w kodzie.
Po zakończeniu konfiguracji utworzymy dla Ciebie nowy zasobnik Cloud Storage z uprawnieniami WRITER w Firebase. Nie przechowuj w tym zbiorze danych, do których nie chcesz, aby Firebase miała dostęp. Firebase nie będzie mieć dodatkowego dostępu do innych zasobników Cloud Storage ani innych obszarów usługi Google Cloud.
Przywracanie z kopii zapasowych
Aby przywrócić Firebase z kopii zapasowej, najpierw pobierz plik z Cloud Storage na dysk lokalny. Można to zrobić, klikając nazwę pliku w sekcji aktywności tworzenia kopii zapasowej lub w interfejsie zasobnika Cloud Storage. Jeśli plik jest skompresowany za pomocą Gzip, najpierw odkompresuj plik.
Dane możesz importować na 2 sposoby:
Metoda 1. W sekcji Dane bazy danych kliknij przycisk Importuj plik JSON i wybierz plik danych aplikacji w formacie JSON.
Metoda 2. Możesz też wysłać żądanie CURL z poziomu wiersza poleceń.
Najpierw pobierz tajny klucz z Firebase. Aby to zrobić, otwórz stronę ustawień bazy danych.
Następnie wpisz w terminalu te wartości, zastępując pola DATABASE_NAME
i SECRET
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 przywracaniem kopii zapasowej z bardzo dużej bazy danych, skontaktuj się z naszym zespołem pomocy.
Harmonogram
Twoja kopia zapasowa bazy danych jest przypisana do konkretnej godziny każdego dnia, co zapewnia równomierny rozkład obciążenia i najwyższą dostępność dla wszystkich klientów korzystających z kopii zapasowych. Zaplanowana kopia zapasowa zostanie utworzona niezależnie od tego, czy w ciągu dnia zostaną utworzone ręczne kopie zapasowe.
Nazewnictwo plików
Pliki przenoszone do zasobnika Cloud Storage będą oznaczone sygnaturami czasowymi (standard ISO 8601) i będą zgodne z tymi konwencjami nazewnictwa:
- Dane 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 Gzip jest włączony, do nazw plików zostanie dodany sufiks .gz
. Za pomocą wyszukiwania prefiksów Cloud Storagemożesz łatwo znaleźć kopie zapasowe z określonej daty lub godziny.
Kompresja Gzip
Domyślnie kompresujemy pliki kopii zapasowej za pomocą Gzip, aby obniżyć koszty przechowywania i skrócić czas przesyłania. Rozmiar skompresowanego pliku zależy od charakterystyki bazy danych, ale typowe bazy danych mogą zostać skompresowane do 1/3 ich pierwotnego rozmiaru, co pozwoli Ci zaoszczędzić na kosztach miejsca na dane i skróci czas przesyłania kopii zapasowych.
Aby rozpakować skompresowane pliki JSON skompresowane za pomocą Gzip, użyj polecenia w wierszu poleceń, używając pliku binarnego gunzip
, który jest domyślnie uruchamiany w dystrybucjach systemu operacyjnego OS X i większości Linuksa.
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 umożliwia włączenie domyślnej zasady cyklu życia obiektów na 30 dni w zasośniku Cloud Storage. Gdy ta opcja jest włączona, pliki w Twoim zasobniku są automatycznie usuwane po 30 dniach. Pomaga to zmniejszyć liczbę niechcianych starych kopii zapasowych, oszczędzać na kosztach miejsca na dane i utrzymywać katalog zasobników w czystości. Jeśli umieścisz w zasobniku Automatyczne kopie zapasowe inne pliki, one również zostaną usunięte z tą samą zasadą.
Koszty
Funkcję kopii zapasowych można włączyć w przypadku projektów w ramach abonamentu Blaze bez dodatkowych kosztów. Opłaty za pliki kopii zapasowych umieszczone w zasobniku Cloud Storage będą jednak naliczane według standardowych stawek. Aby zmniejszyć koszty miejsca na dane, możesz włączyć kompresję gzip i cykl życia danych na 30 dni.