Wykorzystanie i ograniczenia

Skorzystaj z tego przewodnika, aby poznać ograniczenia Cloud Firestore, i zobacz Cennik Cloud Firestore , aby uzyskać pełne, szczegółowe wyjaśnienie kosztów Cloud Firestore, w tym rzeczy, na które należy uważać.

Monitoruj swoje użycie

Aby monitorować wykorzystanie Cloud Firestore, otwórz kartę Wykorzystanie Cloud Firestore w konsoli Firebase. Użyj pulpitu nawigacyjnego, aby ocenić swoje wykorzystanie w różnych okresach.

Szczegółowe wykorzystanie w Google Cloud Console

Tworząc projekt Firebase, tworzysz też projekt Google Cloud. Strona App Engine Limity w Google Cloud Console śledzi wykorzystanie Cloud Firestore i informacje o limitach.

Bezpłatny kontyngent

Cloud Firestore oferuje bezpłatny limit, dzięki któremu możesz zacząć bezpłatnie. Kwoty bezpłatnych kontyngentów są wymienione poniżej. Jeśli potrzebujesz większego limitu, musisz włączyć rozliczenia dla swojego projektu Cloud Platform .

Przydziały są stosowane codziennie i resetowane około północy czasu pacyficznego.

Poziom bezpłatny Kontyngent
Przechowywane dane 1 GiB
Dokument czyta 50 000 dziennie
Dokument zapisuje 20 000 dziennie
Dokument usuwa 20 000 dziennie
Wyjście z sieci 10 GiB miesięcznie

Limity standardowe

W poniższych tabelach przedstawiono ograniczenia dotyczące Cloud Firestore. Są to twarde limity, chyba że zaznaczono inaczej.

Kolekcje, dokumenty i pola

Limit Detale
Ograniczenia dotyczące identyfikatorów kolekcji
  • Musi zawierać prawidłowe znaki UTF-8
  • Nie może być dłuższy niż 1500 bajtów
  • Nie może zawierać ukośnika ( / )
  • Nie może składać się wyłącznie z pojedynczej kropki ( . ) lub podwójnych kropek ( .. )
  • Nie można dopasować wyrażenia regularnego __.*__
Maksymalna głębokość podzbiorów 100
Ograniczenia dotyczące identyfikatorów dokumentów
  • Musi zawierać prawidłowe znaki UTF-8
  • Nie może być dłuższy niż 1500 bajtów
  • Nie może zawierać ukośnika ( / )
  • Nie może składać się wyłącznie z pojedynczej kropki ( . ) lub podwójnych kropek ( .. )
  • Nie można dopasować wyrażenia regularnego __.*__
  • Jeśli importujesz encje Datastore do bazy danych Firestore, numeryczne identyfikatory jednostek są wyświetlane jako __id[0-9]+__
Maksymalny rozmiar nazwy dokumentu 6 KiB
Maksymalny rozmiar dokumentu 1 MiB (1 048 576 bajtów)
Ograniczenia dotyczące nazw pól Musi zawierać prawidłowe znaki UTF-8
Maksymalny rozmiar nazwy pola 1500 bajtów
Ograniczenia na ścieżkach polnych
  • Należy oddzielić nazwy pól pojedynczą kropką ( . )
  • Może być przekazany jako ciąg znaków, gdy wszystkie nazwy pól w ścieżce są proste, w przeciwnym razie musi być przekazany jako obiekt FieldPath ( np. JavaScript FieldPath )
Prosta nazwa pola to taka, w której spełnione są wszystkie poniższe warunki:
  • Zawiera tylko znaki az , AZ , 0-9 i podkreślenie ( _ )
  • Nie zaczyna się od 0-9
Maksymalny rozmiar ścieżki terenowej 1500 bajtów
Maksymalny rozmiar wartości pola 1 MiB - 89 bajtów (1 048 487 bajtów)
Maksymalna głębia pól na mapie lub tablicy 20

Zapisy i transakcje

Limit Detale
Maksymalna liczba zapisów na sekundę na bazę danych 10 000 (do 10 MiB na sekundę)*. Ten limit zostanie usunięty w przyszłości. Skontaktuj się z pomocą techniczną , aby uzyskać wczesny dostęp.
Maksymalny rozmiar żądania API 10 MiB
Maksymalna liczba zapisów, które można przekazać do operacji Commit lub wykonać w transakcji 500
Maksymalna liczba przekształceń pól, które można wykonać na pojedynczym dokumencie w operacji Commit lub w transakcji 500
Termin transakcji 270 sekund, z 60-sekundowym czasem bezczynności

Limity miękkie

Cloud Firestore nie powstrzymuje Cię przed przekroczeniem poniższych progów, ale wpływa to na wydajność.

Limit miękki Detale
Maksymalna stała szybkość zapisu do dokumentu

1 na sekundę

Utrzymanie szybkości zapisu powyżej raz na sekundę zwiększa opóźnienia i powoduje błędy rywalizacji. To nie jest sztywny limit i możesz go przekroczyć w krótkich seriach.

Maksymalna szybkość zapisu do kolekcji, w której dokumenty zawierają kolejne wartości w indeksowanym polu 500 na sekundę

Aktualizacje w czasie rzeczywistym

Limit miękki Detale
Maksymalna liczba jednoczesnych połączeń dla klientów mobilnych/internetowych na bazę danych

1 000 000

Cloud Firestore nie powstrzymuje Cię przed przekroczeniem tego miękkiego limitu, ale ma to duży wpływ na opóźnienia i wskaźnik błędów.

Indeksy

Poniższe ograniczenia dotyczą indeksów jednopolowych i indeksów złożonych :

Limit Detale
Maksymalna liczba indeksów złożonych dla bazy danych 200
Maksymalna liczba wyłączeń indeksu jednopolowego dla bazy danych 200

Maksymalna liczba wpisów indeksu dla każdego dokumentu

40 000

Liczba wpisów w indeksie jest sumą następujących wartości dla dokumentu:

  • Liczba wpisów indeksu jednopolowego
  • Liczba wpisów indeksu złożonego

Aby zobaczyć, jak Cloud Firestore przekształca dokument i zestaw indeksów we wpisy indeksu, zobacz ten przykład liczby wpisów indeksu .

Maksymalny rozmiar wpisu indeksu

7,5 KiB

Aby zobaczyć, jak Cloud Firestore oblicza rozmiar wpisu indeksu, zobacz rozmiar wpisu indeksu .

Maksymalna suma rozmiarów wpisów indeksu dokumentu

8 MB

Całkowity rozmiar to suma następujących elementów dla dokumentu:

  • Suma rozmiaru jednopolowych wpisów indeksu dokumentu
  • Suma rozmiaru złożonych wpisów indeksu dokumentu
  • Maksymalny rozmiar indeksowanej wartości pola

    1500 bajtów

    Wartości pól powyżej 1500 bajtów są obcinane. Zapytania zawierające obcięte wartości pól mogą zwracać niespójne wyniki.

    Eksport/Import

    Następujące ograniczenia dotyczą zarządzanych operacji importu i eksportu :

    Limit Detale
    Maksymalna łączna liczba żądań eksportu i importu projektu dozwolona na minutę 20
    Maksymalna liczba jednoczesnych eksportów i importów 50
    Maksymalna liczba filtrów identyfikatorów kolekcji dla żądań eksportu i importu 100

    Zasady bezpieczeństwa

    Limit Detale
    Maksymalna liczba wywołań existing( exists() , get() i getAfter() na żądanie
    • 10 dla żądań pojedynczych dokumentów i zapytań.
    • 20 dla odczytów, transakcji i zapisów wsadowych wielu dokumentów. Poprzedni limit 10 dotyczy również każdej operacji.

      Na przykład wyobraź sobie, że tworzysz grupowe żądanie zapisu z 3 operacjami zapisu, a Twoje reguły bezpieczeństwa używają 2 wywołań dostępu do dokumentów do sprawdzania poprawności każdego zapisu. W tym przypadku każdy zapis wykorzystuje 2 ze swoich 10 wywołań dostępu, a grupowe żądanie zapisu wykorzystuje 6 z 20 wywołań dostępu.

    Przekroczenie któregokolwiek z limitów skutkuje błędem odmowy uprawnień.

    Niektóre wywołania dostępu do dokumentów mogą być buforowane, a wywołania buforowane nie wliczają się do limitów.

    Maksymalna głębokość zagnieżdżonej instrukcji match 10
    Maksymalna długość ścieżki w segmentach ścieżki, dozwolona w zestawie zagnieżdżonych instrukcji match 100
    Maksymalna liczba zmiennych przechwytywania ścieżki dozwolona w zestawie zagnieżdżonych instrukcji match 20
    Maksymalna głębokość wywołania funkcji 20
    Maksymalna liczba argumentów funkcji 7
    Maksymalna liczba wiązań let zmiennej na funkcję 10
    Maksymalna liczba wywołań funkcji rekurencyjnych lub cyklicznych 0 (niedozwolone)
    Maksymalna liczba wyrażeń ocenianych na żądanie 1000
    Maksymalny rozmiar zestawu reguł Zestawy reguł muszą być zgodne z dwoma ograniczeniami rozmiaru:
    • ograniczenie do 256 KB rozmiaru źródła tekstu zestawu reguł opublikowanego z konsoli Firebase lub z interfejsu wiersza polecenia przy użyciu narzędzia firebase deploy .
    • limit 250 KB rozmiaru skompilowanego zestawu reguł, który powstaje, gdy Firebase przetwarza źródło i uaktywnia je na zapleczu.

    Zarządzaj wydatkami

    Aby uniknąć nieoczekiwanych opłat na rachunku, ustaw miesięczne budżety i alerty.

    Ustaw miesięczny budżet

    Aby śledzić koszty Cloud Firestore, utwórz miesięczny budżet w Google Cloud Console. Budżety nie ograniczają Twojego wykorzystania, ale możesz ustawić alerty, które będą powiadamiać Cię, gdy zbliżasz się lub przekraczasz planowane koszty na dany miesiąc.

    Aby ustawić budżet, przejdź do sekcji Płatności w Google Cloud Console i utwórz budżet dla swojego konta rozliczeniowego Cloud. Możesz użyć domyślnych ustawień alertów lub zmodyfikować alerty, aby wysyłać powiadomienia o różnych wartościach procentowych budżetu miesięcznego.

    Dowiedz się więcej o konfigurowaniu budżetów i alertów budżetowych .

    Ustaw dzienny limit wydatków

    Aby ograniczyć wykorzystanie Cloud Firestore, ustaw dzienny limit wydatków za pomocą App Engine. App Engine umożliwia ustawienie dziennego limitu wydatków na zasoby powiązane z App Engine, w tym Cloud Firestore. Limit App Engine nie dotyczy żadnych innych produktów Firebase.