Firebase oferuje 2 działające w chmurze bazy danych dokumentów dostępne dla klienta. Zalecamy nowym klientom rozpoczęcie od Cloud Firestore:
Cloud Firestore to zalecana korporacyjna baza danych dokumentów zgodna z formatem JSON, której zaufało ponad 250 tys. programistów. Nadaje się do aplikacji z bogatymi 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 JSON w Firebase. Nadaje się do aplikacji o prostych modelach danych, które wymagają prostych wyszukiwań i synchronizacji o małej latencji z ograniczoną skalowalnością.
O czym jeszcze warto pamiętać?
Po zastanowieniu się nad kluczowymi kwestiami wymienionymi powyżej możesz wybrać bazę danych. Jeśli nadal analizujesz zalety i wady, w tej sekcji omawiamy inne różnice między Cloud Firestore i Realtime Database.
Model danych
Zarówno Realtime Database, jak i Cloud Firestore to bazy danych NoSQL.
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Przechowuje dane w postaci kolekcji dokumentów.
Dowiedz się więcej o Cloud Firestore modelu danych. |
Przechowuje dane jako jedno duże drzewo JSON.
Dowiedz się więcej o Realtime Database modelu danych. |
Obsługa w czasie rzeczywistym i offline
Oba pakiety SDK są zoptymalizowane pod kątem urządzeń mobilnych i obsługują lokalne przechowywanie danych w aplikacjach działających w trybie offline.
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Obsługa offline na urządzeniach z systemem Apple, Android i klientach internetowych. | Obsługa offline w przypadku klientów Apple i Androida. |
Obecność
Może być przydatne, aby wiedzieć, kiedy klient jest online, a kiedy offline. Firebase Realtime Database może rejestrować stan połączenia klienta i przesyłać aktualizacje za każdym razem, gdy zmienia się stan połączenia klienta.
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Nieobsługiwane natywnie. Możesz korzystać z obsługi obecności w Realtime Database, synchronizując Cloud Firestore i Realtime Database za pomocą Cloud Functions. Zapoznaj się z artykułem Tworzenie obecności w Cloud Firestore. | Obsługa obecności |
Tworzenie zapytań
Pobieraj, sortuj i filtruj dane z dowolnej bazy danych za pomocą zapytań.
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Zapytania indeksowane z użyciem złożonego sortowania i filtrowania.
|
Precyzyjne zapytania z ograniczonymi funkcjami sortowania i filtrowania.
|
Zapisy i transakcje
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Zaawansowane operacje zapisu i transakcji.
|
Podstawowe operacje zapisu i transakcji.
|
Niezawodność i wydajność
Cloud Firestore | [ PREFEROWANE ] | Realtime Database |
---|---|---|
Cloud Firestore to rozwiązanie regionalne i wieloregionalne, które skaluje się automatycznie.
|
Realtime Database to rozwiązanie regionalne.
|
Czas działania
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Wysoka dostępność
|
Wysoka wydajność.
|
Skalowalność
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Skalowanie odbywa się automatycznie.
|
Skalowanie wymaga podziału na segmenty.
|
Bezpieczeństwo
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Reguły niekaskadowe, które łączą autoryzację i weryfikację.
|
Język reguł kaskadowych, który oddziela autoryzację od walidacji.
|
Ceny
Oba rozwiązania są dostępne w ramach abonamentów Spark i Blaze.
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Opłaty są naliczane głównie za operacje wykonywane w bazie danych (odczyt, zapis, usunięcie), a przy niższej stawce za przepustowość i miejsce na dane.
Cloud Firestore obsługuje dzienne limity wydatków w przypadku projektów App Engine, aby nie przekroczyć ustalonych przez Ciebie kosztów. Dowiedz się więcej o abonamentach Cloud Firestore. |
Opłaty tylko za przepustowość i miejsce na dane, ale po wyższej stawce.
Dowiedz się więcej o abonamentach Realtime Database. |
Używasz Cloud Firestore i Realtime Database
Możesz używać obu baz danych w ramach tej samej aplikacji lub tego samego 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żyć w aplikacji obu baz danych, pamiętaj o wymienionych wcześniej różnicach.
Dowiedz się więcej o funkcjach dostępnych w Realtime Database i Cloud Firestore.
Gotowy do wyboru bazy danych?
Mamy nadzieję, że to porównanie pomogło Ci wybrać rozwiązanie bazy danych Firebase. Dowiedz się, jak dodać bazę danych do projektów Firebase.
- W przypadku Cloud Firestore zapoznaj się z artykułem Pierwsze kroki z Cloud Firestore.
- Jeśli korzystasz z Realtime Database, przeczytaj temat Pierwsze kroki dotyczący Twojej platformy: Apple, Android, C++, Unity, Internet lub REST.