Firebase oferuje 2 bazy danych dokumentów dostępne dla klientów w chmurze. Nowym klientom zalecamy rozpoczęcie korzystania z Cloud Firestore:
Cloud Firestore to zalecana baza danych dokumentów klasy korporacyjnej zgodna z formatem JSON , której ufa ponad 600 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. Oferuje też synchronizację klientów 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 z niskim opóźnieniem oraz ograniczoną skalowalnością.
Jakie inne ważne kwestie należy wziąć pod uwagę?
Po rozważeniu powyższych kluczowych kwestii możesz być gotowy(-a) do wybrania bazy 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.
Więcej informacji o Cloud Firestore modelu danych. |
Przechowuje dane jako jedno duże drzewo JSON.
Więcej informacji o Realtime Database modelu danych. |
|
Obsługa w czasie rzeczywistym i offline
Obie bazy danych mają pakiety SDK w czasie rzeczywistym, które są dostosowane do urządzeń mobilnych, i obsługują lokalne przechowywanie danych w aplikacjach działających w trybie offline.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| Obsługa offline w przypadku klientów Apple, Android i internetowych. | Obsługa offline w przypadku klientów Apple i Android. | |
Obecność
Warto wiedzieć, kiedy klient jest online lub offline. Firebase Realtime Database może rejestrować stan połączenia klienta i przesyłać aktualizacje za każdym razem, gdy zmieni się stan połączenia klienta.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| Nieobsługiwane natywnie. Możesz korzystać z obsługi obecności w Realtime Database's synchronizując Cloud Firestore i Realtime Database za pomocą Cloud Functions Zobacz Tworzenie obecności w Cloud Firestore. | Obsługa obecności. | |
Wykonywanie zapytań
Możesz pobierać, sortować i filtrować dane z dowolnej bazy danych za pomocą zapytań.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Zapytania indeksowane z sortowaniem i filtrowaniem złożonym.
|
Zapytania głębokie z ograniczonymi
funkcjami 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
rozwiązanie regionalne i wieloregionowe
, które skaluje się automatycznie.
|
Realtime Database to
rozwiązanie regionalne.
|
|
Czas działania
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Bardzo wysoka wydajność czasu działania.
|
Wysoka wydajność czasu działania.
|
|
Skalowalność
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Skalowanie jest automatyczne.
|
Skalowanie wymaga fragmentowania.
|
|
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, usunięcie) oraz, w mniejszym stopniu, za przepustowość i miejsce na dane.
Cloud Firestore obsługuje budżety miesięczne i alerty , które pomagają uniknąć przekroczenia limitu wydatków. Więcej informacji o Cloud Firestore abonamentach. |
Opłaty są naliczane tylko za przepustowość i miejsce na dane, ale w wyższej
cenie.
Więcej informacji o Realtime Database abonamentach. |
|
Korzystanie z Cloud Firestore i Realtime Database
Możesz używać obu baz danych w tej samej aplikacji w Firebase lub projekcie. 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ć obu baz danych w swojej aplikacji, pamiętaj o opisanych wcześniej różnicach.
Więcej informacji o funkcjach dostępnych w obu 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.
- W przypadku Cloud Firestore zapoznaj się z artykułem Pierwsze kroki z Cloud Firestore.
- W przypadku Realtime Database przeczytaj artykuł Pierwsze kroki dotyczący Twojej platformy: Apple, Android, C++, Unity, Web lub REST.