Omówienie podstawowych operacji w Firestore

Podstawowe operacje Firestore w wersji Standard zapewniają szeroki zakres funkcji bazy danych dokumentów, w tym płynne pakiety SDK dla dużej liczby języków programowania, obsługę w czasie rzeczywistym i offline, wysoką dostępność w konfiguracjach jedno- i wieloregionowych oraz wygodny model działania bezserwerowego z płynnym autoskalowaniem.

Najważniejsze funkcje

Wersja Standard to Firestore zoptymalizowana pod kątem szybkiego tworzenia aplikacji za pomocą operacji podstawowych.

  • Model danych: Cloud Firestore wykorzystuje elastyczną, hierarchiczną strukturę danych NoSQL, w której dane są przechowywane w dokumentach uporządkowanych w kolekcje i podkolekcje.
  • W czasie rzeczywistym i offline: te operacje obejmują wbudowaną obsługę zapytań nasłuchujących w czasie rzeczywistym, które natychmiast aktualizują aplikacje klienckie, gdy dane ulegają zmianie, a także niezawodne przechowywanie danych offline na potrzeby klientów mobilnych i internetowych.
  • Wykonywanie zapytań: podstawowe operacje obsługują ekspresyjne i wydajne zapytania, umożliwiając łączenie filtrów i sortowanie. Kluczową cechą jest to, że wydajność zapytania jest proporcjonalna do rozmiaru zbioru wyników, a nie do całkowitego rozmiaru zbioru danych.

Indeksowanie

W wersji Standard indeksowanie jest ściśle egzekwowane przy użyciu operacji podstawowych.

  • Obowiązkowe indeksowanie: wszystkie zapytania muszą być obsługiwane przez indeks. Jeśli operacja podstawowa spróbuje uruchomić zapytanie bez odpowiedniego indeksu, zakończy się niepowodzeniem, zamiast przeprowadzić skanowanie kolekcji.
  • Automatyczne indeksy: aby uprościć proces tworzenia aplikacji, Firestore automatycznie tworzy indeksy pojedynczych pól dla wszystkich pól w dokumencie.
  • Ręczne indeksy złożone: w przypadku złożonych operacji podstawowych obejmujących wiele pól deweloperzy muszą ręcznie tworzyć indeksy złożone. Przykładem może być zapytanie, które filtruje dane według jednego pola i sortuje je według innego. Pakiet SDK klienta ułatwia to zadanie, udostępniając link do błędu, który kieruje dewelopera do konsoli Firebase, gdzie może utworzyć brakujący indeks.

Rozliczenia i limity

Model rozliczeniowy w przypadku operacji podstawowych w wersji Standard jest oparty na liczbie przetworzonych dokumentów lub indeksów, a nie na rozmiarze przetworzonych danych (z wyjątkiem miejsca na dane). Poniższe ceny są podane w us-central1.

  • Opłaty za dokumenty: opłaty są naliczane za liczbę odczytanych, zapisanych i usuniętych dokumentów.

    • Odczyty: 0,03 USD za 100 tys. odczytów lub 0,30 USD za milion odczytów, opłata naliczana za dokument.
    • Zapisy: 0,09 USD za 100 tys. zapisów lub 0,90 USD za milion zapisów, naliczane za dokument.
    • Usuwanie: 0,01 USD za 100 tys. usunięć lub 0,10 USD za milion usunięć.
  • Koszty zapisu indeksu: w przeciwieństwie do wersji Enterprise nie ma konkretnej opłaty za zapisywanie wpisów w indeksie. Aktualizacje indeksu są uwzględnione w koszcie zapisu dokumentu. Za miejsce na dane zajmowane przez te indeksy naliczane są jednak opłaty.

  • Zapytania dotyczące słuchania w czasie rzeczywistym: aktualizacje w czasie rzeczywistym są rozliczane jako standardowe odczyty dokumentów. Opłata za odczytanie jest naliczana za każdym razem, gdy dokument zostanie dodany lub zaktualizowany w zestawie wyników odbiorcy.

  • Odczyty wpisów indeksu: większość operacji podstawowych jest rozliczana według liczby dokumentów, ale w przypadku niektórych złożonych operacji, takich jak zapytania zbiorcze (count, sum, avg) czy wyszukiwanie wektorowe, opłata jest naliczana za liczbę odczytanych wpisów indeksu.

  • Bezpłatny limit: wersja Standard obejmuje dzienny bezpłatny limit wynoszący 50 000 odczytów, 20 000 zapisów i 20 000 usunięć.