Firebase oferuje 2 bazy danych dokumentów dostępne w chmurze i dostępne dla klienta. nowym klientom zalecamy wykonanie tych czynności: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 z prostymi modelami danych, które wymagają prostych wyszukiwań i synchronizacji o małej latencji z ograniczoną skalowalnością.
Co jeszcze warto wziąć pod uwagę?
Po zastanowieniu się nad kluczowymi kwestiami wymienionymi powyżej 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 | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Zapisywanie danych w kolekcjach dokumentów.
Dowiedz się więcej o Cloud Firestore modelu danych. |
Przechowuje dane w jednym dużym drzewie 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 przypadku aplikacji 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 dla klientów korzystających z systemó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 z klientem i przesyłać aktualizacje za każdym razem, gdy stan połączenia klienta ulegnie zmianie.
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 każdej bazy danych za pomocą zapytań.
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Zapytania indeksowane z użyciem złożonego sortowania i filtrowania.
|
Zaawansowane 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 | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Cloud Firestore to rozwiązanie regionalne i wieloregionalne, które skaluje się automatycznie.
|
Realtime Database to regionalne rozwiązanie.
|
Czas działania
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Wysoka dostępność.
|
Wysoka dostępność
|
Skalowalność
Cloud Firestore | [ PREFEROWANY ] | Realtime Database |
---|---|---|
Skalowanie jest automatyczne.
|
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 poprzednio opisanych 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.
- W przypadku Realtime Database przeczytaj temat Pierwsze kroki na odpowiedniej platformie: Apple, Android, C++, Unity, internet lub REST.