Jaka jest różnica między Cloud Firestore a Firebase Realtime Database?

Google właśnie udostępniło Cloud Firestore, nową bazę dokumentów dla aplikacji.

Czytałem dokumentację, ale nie widzę zbyt wielu różnic między Firestore i Firebase DB.

Głównym punktem jest to, że Firestore używa dokumentów i kolekcji, które pozwalają na łatwe korzystanie z zapytań w porównaniu do Firebase, która jest tradycyjną bazą danych noSQL z bazą JSON.

Chciałbym dowiedzieć się trochę więcej o ich różnicach, zwyczajach lub czy Firestore właśnie przyszedł zastąpić Firebase DB?

Author: chainicko, 2017-10-03

6 answers

Więc napisałem cały post na blogu wszystko o tym samym pytaniu, i polecam sprawdzić to (lub oficjalna dokumentacja ) dla bardziej kompletnej odpowiedzi.

Ale jeśli chcesz szybkiego (- owskiego) podsumowania, oto jest:

Lepsze zapytania i bardziej ustrukturyzowane dane -- podczas gdy baza danych w czasie rzeczywistym jest tylko gigantycznym drzewem JSON, Cloud Firestore jest nieco bardziej ustrukturyzowany. Wszystkie Twoje dane składają się z dokumentów (które są w zasadzie magazynami wartości klucza) i zbiory (czyli zbiory dokumentów). Dokumenty będą również często wskazywać na podkolekcje, które zawierają inne dokumenty, które same mogą zawierać inne dokumenty, i tak dalej.

Te ustrukturyzowane dane pomagają na dwa sposoby. Po pierwsze, wszystkie zapytania są płytkie , co oznacza, że możesz zażądać dokumentu bez pobierania wszystkich danych pod spodem. Oznacza to, że możesz przechowywać swoje dane w sposób hierarchiczny w sposób, który ma większy sens dla ciebie bez martwienia się o utrzymaniu płytkiej bazy danych. Po drugie, masz bardziej zaawansowane zapytania. Na przykład, można teraz odpytywać wiele pól bez konieczności tworzenia tych pól" combo", które łączą (i denormalizują) dane z innych części bazy danych. W niektórych przypadkach Cloud Firestore uruchomi te zapytania bezpośrednio, a w innych automatycznie utworzy i utrzyma indeksy dla Ciebie.

Zaprojektowany do skalowania -- Cloud Firestore będzie w stanie skalować lepiej niż Baza Danych W Czasie Rzeczywistym. Należy pamiętać, że zapytania skalują się do rozmiaru zestawu wyników, a nie zestawu danych. Tak więc wyszukiwanie pozostanie szybkie, bez względu na to, jak duży może stać się zestaw danych.

Łatwiejsze ręczne pobieranie danych -- podobnie jak Baza Danych W Czasie Rzeczywistym, możesz skonfigurować słuchacze w chmurze Firestore do przesyłania strumieniowego zmian w czasie rzeczywistym. Ale jeśli nie chcesz tego typu zachowania, a chcesz po prostu zadzwonić "Pobierz moje dane", Cloud Firestore również to ma i jest zbudowany w podstawowym przypadku użycia. (Są znacznie lepsze niż once wywołania w realtime Database-land)

Obsługa wielu regionów - oznacza to w zasadzie większą niezawodność, ponieważ dane są udostępniane w wielu centrach danych jednocześnie. Ale nadal masz silną spójność, co oznacza, że zawsze możesz wykonać zapytanie i mieć pewność, że otrzymujesz najnowszą wersję danych.

Inny model cenowy -- podczas gdy baza danych w czasie rzeczywistym pobiera głównie opłaty w oparciu o pamięć masową lub przepustowość sieci, Cloud Firestore ładuje się głównie na podstawie liczby operacji, które wykonujesz. Będzie lepiej, czy gorzej? To zależy od twojej aplikacji.

[1]}do zasilania aplikacji news, turowej gry wieloosobowej lub czegoś podobnego do własnej wersji Stack Overflow, Cloud Firestore będzie prawdopodobnie wyglądać dość korzystnie z punktu widzenia cenowego. W przypadku czegoś takiego jak aplikacja do rysowania grup w czasie rzeczywistym, w której wysyłasz wiele aktualizacji na sekundę do wielu osób, to prawdopodobnie będzie droższy niż baza danych w czasie rzeczywistym.

Dlaczego nadal możesz chcieć korzystać z bazy danych Realtime -- sprowadza się to do kilku powodów. 1) to całe "prawdopodobnie będzie tańsze dla aplikacji, które robią wiele częstych aktualizacji" rzecz, o której wspomniałem wcześniej, 2) to już od dawna i został przetestowany przez tysiące Aplikacji, 3) ma lepsze opóźnienia, a kiedy potrzebujesz czegoś z niezawodnie niskim opóźnieniem, aby czuć się w czasie rzeczywistym, Czas rzeczywisty Baza danych może działać lepiej.

W przypadku większości nowych aplikacji zalecamy sprawdzenie Cloud Firestore. Ale jeśli masz aplikację, która jest już w bazie danych w czasie rzeczywistym, naprawdę nie polecam przełączania tylko ze względu na przełączanie, chyba że masz przekonujący powód, aby to zrobić.

Mam nadzieję, że to pomoże!
 440
Author: Todd Kerpelman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-08 13:35:36

Możesz przeczytać cały artykuł tutaj: https://medium.com/@beingrahul/firebase-cloud-firestore-v-s-firebase-realtime-database-931d4265d4b0

Firebase Realtime database Cloud Firestore przechowuje dane w dokumentach (dokument jest zbiorem par klucz-wartość) i kolekcjach (Kolekcje dokumentów).

Więcej Danych Struktury

Realtime Database przechowuje dane w JSON tree, podczas gdy Cloud firestore przechowuje dane w dokumentach, które są bardzo podobne do JSON. Tutaj wpisz opis obrazka

W usłudze Cloud FireStore dokumenty mogą zawierać podkolekcje i zagnieżdżone obiekty (takie jak "telefon" na powyższym rysunku), z których oba mogą zawierać prymitywne pola, takie jak ciągi znaków (takie jak "nazwa", "e-mail" na powyższym rysunku) lub złożone obiekty, takie jak listy.

Lepsze Zapytania

  • w bazie danych Realtime możemy sortować lub filtrować tylko jedną właściwość w ramach jednego zapytania, a nie sortować i filtrować tylko jedną właściwość. W Cloud FireStore, możesz połączyć filtrów i łączy filtrowanie i sortowanie na właściwości w jednym zapytaniu.
  • jeśli chcesz pobrać dane w porządku malejącym, to Cloud FireStore jest bardzo przydatne dla Ciebie. Dla bazy danych w czasie rzeczywistym nie ma zapytania funkcja dostępna. Tutaj wpisz opis obrazka
  • Możesz również łączyć wiele metod "gdzie", aby stworzyć bardziej szczegółowe zapytania (logiczne i) w chmurze FireStore. Tutaj wpisz opis obrazka

Skalowalność

[5]}Cloud Firestore będzie w stanie lepiej skalować niż baza danych w czasie rzeczywistym. Należy pamiętać, że wydajność zapytań jest proporcjonalna do rozmiaru zestawu wyników, a nie zestawu danych. Tak więc wyszukiwanie pozostanie szybkie, bez względu na to, jak duży może stać się zestaw danych.

Ręczne pobieranie danych

Możemy słuchać danych w czasie rzeczywistym w chmurze FireStore jak w bazie danych Realtime, ale w chmurze FireStore możemy również pobierać dane manualnie (jeśli chcesz mieć jakieś dane tylko jeden czas).

Bezpieczeństwo

W bazie danych w czasie rzeczywistym musimy osobno walidować dane za pomocą reguły walidacji, ale w chmurze FireStore walidacja danych odbywa się automatycznie.

Zapis danych

Możemy wykonać wiele operacji w jednej partii i zakończyć je atomicznie, z dowolną kombinacją set(), update() lub delete() metody. Tutaj wpisz opis obrazka

Cennik

W bazie danych w czasie rzeczywistym, opłaty tylko za przepustowość i pamięć masowa, ale z większą szybkością. Podczas pracy w chmurze FireStore pobiera opłaty przede wszystkim za operacje wykonywane w bazie danych (Odczyt, Zapis, usuwanie) oraz, przy niższej szybkości, przepustowość i pamięć masową.

 77
Author: 0xAliHn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-11-17 19:18:55

Powody, dla których warto wybrać Cloud Firestore zamiast bazy danych w czasie rzeczywistym

Jest to ulepszona wersja

Baza danych Firebase wystarczyła do podstawowych zastosowań. Ale nie był wystarczająco silny, aby sprostać złożonym wymaganiom. Dlatego właśnie wprowadzono Cloud Firestore. Oto kilka istotnych zmian.

  • poprawiono podstawową strukturę plików.
  • Wsparcie Offline dla klienta sieci web.
  • obsługuje bardziej zaawansowane zapytania.
  • operacje zapisu i transakcji są atomowe.
  • poprawa niezawodności i wydajności
  • Skalowanie będzie automatyczne.
  • będzie bezpieczniejsze.

Cennik

W chmurze Firestore stawki spadły, mimo że naliczane są głównie za operacje wykonywane w bazie danych wraz z przepustowością i pamięcią masową. Możesz też ustawić dzienny limit wydatków. tutaj {[30] } jest pełne informacje o rozliczeniach.

Plany na przyszłość Google

Kiedy odkryli wady z bazą danych w czasie rzeczywistym, stworzyli inny produkt, zamiast ulepszać Stary. Mimo że nie ma wiarygodnych danych ujawniających ich aktualne wyniki w bazie danych w czasie rzeczywistym, nadszedł czas, aby zacząć myśleć, że prawdopodobnie zostanie porzucony.



 18
Author: Bertram Gilfoyle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Zaproponuj również link z google : Firebase Real-time Database vs FireStore

Wyodrębnione z Google docs, mała sumamry tutaj:

FireBase Real Time DB jest oparty na JSON no SQL DB, przeznaczony dla aplikacji mobilnych, regionalnych i używanych zazwyczaj do przechowywania i synchronizacji danych między użytkownikami / urządzeniami w czasie rzeczywistym / bardzo małe opóźnienia.

FireStore to JSON' like ' NOSQL DB przeznaczony do wysokiej współbieżności, globalnej, łatwej do automatycznego skalowania trwałości, zaprojektowany dla każdego klienci (nie tylko aplikacje mobilne) z typowymi przypadkami użycia, takimi jak śledzenie zasobów, analiza w czasie rzeczywistym, tworzenie katalogów produktów detalicznych, profil użytkownika społecznościowego, rankingi gier, aplikacje oparte na czacie itp.

 2
Author: TechFree,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-24 14:06:09

Cloud firestore jest w zasadzie stworzony dla prostych, ale dużych zbiorów danych baza danych w czasie rzeczywistym jest przeznaczona do przechowywania złożonych danych (wygląda jak JSON)

Podstawowe Intro. do obu: -

  • [[6]}Cloud Firestore to najnowsza baza danych Firebase do tworzenia aplikacji mobilnych. Opiera się na sukcesach bazy danych w czasie rzeczywistym dzięki nowemu, bardziej intuicyjnemu modelowi danych. Cloud Firestore oferuje również bogatsze, szybsze zapytania i skaluje się dalej niż baza danych w czasie rzeczywistym.
  • Realtime Baza danych jest oryginalną bazą danych Firebase. To wydajne rozwiązanie o niskim opóźnieniu dla aplikacji mobilnych, które wymagają zsynchronizowanych Stanów między klientami w czasie rzeczywistym.

Główna Różnica:- Realtime database:::

  • proste dane są bardzo łatwe do przechowywania.
  • złożone, hierarchiczne dane są trudniejsze do zorganizowania w skali. Cloud firestore
  • proste dane są łatwe do przechowywania w dokumentach, które są bardzo podobne do JSON.
  • złożone, hierarchiczne dane łatwiej zorganizować na skaluj, używając podkolekcji w dokumentach.
  • wymaga mniej denormalizacji i spłaszczania danych.

Źródło (więcej info..by google):- https://firebase.google.com/docs/database/rtdb-vs-firestore#key_considerations

 1
Author: user12449933,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-01 02:48:49

Chociaż większość odpowiedzi jest w zasadzie poprawna, dokumentacja bazy Firebase wskazuje, że nie jest to prosta sprawa, aby powiedzieć, że Firestore jest nowym sposobem. To zależy od tego, co chcesz zrobić z bazami danych! Firebase zadaje ci kilka pytań w poniższym linku i zastanów się uważnie, ponieważ nie jest tak łatwo napisać aplikację wokół jednego, a następnie dowiedzieć się, że musisz korzystać z drugiego!

Na przykład: Liczba instancji bazy danych: Czy potrzebujesz wielu baz danych, 1 dla każdego większego klienta lub tylko 1 Duża baza danych? Jeśli pierwsze, użyj Firebase Realtime Database, jeśli drugie użyj Firestore.

Rtdb-vs-firestore

 0
Author: ezaspi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-06 13:30:44