Wykorzystanie i ograniczenia

Użyj tego przewodnika, aby zrozumieć granice Chmura FireStore i zobacz Ceny Chmura FireStore dla pełnego, szczegółowego wyjaśnienia kosztów Chmura FireStore, w tym rzeczy, na które trzeba uważać.

Monitoruj swoje użycie

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

Szczegółowe wykorzystanie w Google Cloud Console

Tworząc projekt Firebase, tworzysz też projekt Google Cloud. Kontyngenty App Engine w konsoli Google Cloud tory Chmura FireStore wykorzystania kwot i informacji.

Bezpłatny limit

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ęcej kontyngentu, należy włączyć płatności dla projektu Chmura 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 granice, 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śnik ( / )
  • Nie można jedynie składać się z jednego okresu ( . ) Lub podwójne kropki ( .. )
  • Nie można dopasować wyrażenie regularne __.*__
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śnik ( / )
  • Nie można jedynie składać się z jednego okresu ( . ) Lub podwójne kropki ( .. )
  • Nie można dopasować wyrażenie regularne __.*__
  • Jeśli importujesz Datastore podmioty do bazy danych FireStore, numeryczne identyfikatory podmiotu narażone są 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 z jednego okresu ( . )
  • Mogą być przekazywane jako ciąg, gdy wszystkie nazwy pól w ścieżce są proste, inaczej muszą być przekazywane 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 oraz znak podkreślenia ( _ )
  • Nie rozpoczyna się 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ę)
Maksymalny rozmiar żądania API 10 MiB
Maksymalna liczba zapisów, które mogą być przekazywane do Commit pracy lub wykonywanych w ramach transakcji 500
Maksymalna liczba przekształceń polowych, które można wykonać na jednym dokumencie w Commit pracy lub w ramach 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

Następujące ogranicza się do indeksów jednego pola i indeksy kompozytowych :

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 chmura Firestore okazuje dokument oraz zestaw wskaźników do haseł indeksu, zobacz ten przykład indeks count wpis .

Maksymalny rozmiar wpisu indeksu

7,5 KiB

Aby zobaczyć, jak chmura Firestore oblicza wskaźnik wielkości wejścia, zobaczyć rozmiar wpis indeksu .

Maksymalna suma rozmiarów wpisów indeksu dokumentu

8 MB

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

  • Suma wielkości 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

    Poniższe 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 exists() , get() , a getAfter() zwraca na żądanie
    • 10 dla żądań pojedynczych dokumentów i zapytań.
    • 20 dla odczytów wielu dokumentów, transakcji i zapisów wsadowych. 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 zabezpieczeń 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 z 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 zagnieżdżona match głębokość oświadczenie 10
    Maksymalna długość ścieżki w segmentach ścieżki, dozwolone w obrębie zestawu zagnieżdżonych match sprawozdania 100
    Maksymalna liczba zmiennych przechwytywania ścieżki dozwolone w obrębie zestawu zagnieżdżonych match sprawozdania 20
    Maksymalna głębokość wywołania funkcji 20
    Maksymalna liczba argumentów funkcji 7
    Maksymalna liczba let zmiennych wiązań na funkcji 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:
    • limit 256 KB na wielkości zestawu reguł źródła tekstu opublikowanego w konsoli Firebase lub z CLI używając 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 ustalić budżet, przejdź do płatności sekcji w konsoli Google Cloud i stworzyć budżet na koncie Billing 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 tworzeniu 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 pozwala ustawić dzienny limit wydatków na App Engine towarzyszących im zasobów, w tym chmura FireStore. Limit App Engine nie dotyczy żadnych innych produktów Firebase.