Firebase oferuje 2 dostępne dla klientów bazy danych dokumentów w chmurze. Nowym klientom zalecamy rozpoczęcie od Cloud Firestore:
Cloud Firestore to zalecana baza danych dokumentów klasy korporacyjnej zgodna z JSON, której zaufało ponad 250 tys. deweloperów. Nadaje się do aplikacji z rozbudowanymi modelami danych, które wymagają możliwości wykonywania zapytań, skalowalności i wysokiej dostępności. Umożliwia też synchronizację klienta z niskim opóźnieniem i dostęp do danych offline.
Realtime Database to klasyczna baza danych Firebase w formacie JSON. Nadaje się do aplikacji z prostymi modelami danych, które wymagają prostych wyszukiwań i synchronizacji o niskim opóźnieniu z ograniczoną skalowalnością.
Jakie inne ważne kwestie należy wziąć pod uwagę?
Po rozważeniu powyższych kwestii możesz wybrać bazę danych. Jeśli nadal rozważasz zalety i wady, w tej sekcji znajdziesz inne różnice między Cloud Firestore a Realtime Database.
Model danych
Zarówno Realtime Database, jak i Cloud Firestore to bazy danych NoSQL.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Przechowuje dane jako kolekcje dokumentów.
Dowiedz się więcej o Cloud Firestore modelu danych. |
Przechowuje dane w postaci jednego dużego drzewa JSON.
Dowiedz się więcej o Realtime Database modelu danych. |
Pomoc w czasie rzeczywistym i offline
Oba mają pakiety SDK zoptymalizowane pod kątem urządzeń mobilnych i działające w czasie rzeczywistym oraz obsługują lokalne przechowywanie danych w aplikacjach działających w trybie offline.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Obsługa offline na urządzeniach Apple, Android i w klientach internetowych. | Obsługa offline klientów Apple i Androida. |
Obecność
Warto wiedzieć, kiedy klient jest online, a kiedy offline. FirebaseRealtime Database może rejestrować stan połączenia klienta i przesyłać aktualizacje za każdym razem, gdy stan połączenia klienta się zmieni.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Nie jest obsługiwane natywnie. Możesz rozszerzyć obsługę obecności w Realtime Database, synchronizując Cloud Firestore i Realtime Database za pomocą Cloud Functions. Więcej informacji znajdziesz w artykule Tworzenie obecności w Cloud Firestore. | Obsługuje obecność. |
Wysyłanie zapytań
Pobieraj, sortuj i filtruj dane z obu baz danych za pomocą zapytań.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Indeksowane zapytania z sortowaniem i filtrowaniem złożonym.
|
Zaawansowane zapytania z ograniczonymifunkcjami sortowania i filtrowania.
|
Zapisy i transakcje
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Zaawansowane operacje zapisu i transakcji.
|
Podstawowe operacje zapisu i transakcji.
|
Niezawodność i wydajność
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Cloud Firestore to regionalne i obejmujące wiele regionów rozwiązanie, które automatycznie się skaluje.
|
Realtime Database to rozwiązanie regionalne.
|
Czas działania
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Bardzo wysoka wydajność w zakresie czasu działania.
|
Wysoka wydajność i dostępność
|
Skalowalność
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Skalowanie jest automatyczne.
|
Skalowanie wymaga dzielenia na partycje.
|
Bezpieczeństwo
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Reguły niekaskadowe, które łączą autoryzację i weryfikację.
|
Język reguł kaskadowych, który rozdziela autoryzację i weryfikację.
|
Ceny
Oba rozwiązania są dostępne w ramach abonamentów Spark i Blaze.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Opłaty są naliczane głównie za operacje wykonywane w bazie danych (odczyt, zapis, usuwanie), a w mniejszym stopniu za przepustowość i miejsce na dane.
Cloud Firestore obsługuje dzienne limity wydatków w przypadku App Engine projektów, aby mieć pewność, że nie przekroczysz akceptowalnych kosztów. Dowiedz się więcej o abonamentach.Cloud Firestore |
Opłaty są naliczane tylko za przepustowość i miejsce na dane, ale według wyższej stawki.
Dowiedz się więcej o abonamentach Realtime Database. |
Korzystanie z Cloud Firestore i Realtime Database
Możesz używać obu baz danych w ramach tej samej aplikacji lub projektu Firebase. Obie bazy danych NoSQL mogą przechowywać te same typy danych, a biblioteki klienta działają w podobny sposób. Jeśli zdecydujesz się używać w aplikacji obu baz danych, pamiętaj o wcześniej opisanych różnicach.
Dowiedz się więcej o funkcjach dostępnych w Realtime Database i Cloud Firestore.
Chcesz wybrać bazę danych?
Mamy nadzieję, że to porównanie pomoże Ci wybrać rozwiązanie bazy danych Firebase. Teraz możesz dowiedzieć się, jak dodać bazę danych do projektów Firebase.