Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Wykorzystanie i ograniczenia

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Skorzystaj z tego przewodnika, aby zrozumieć 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ę Cloud Firestore Usage w konsoli Firebase. Korzystaj z pulpitu nawigacyjnego, aby mierzyć wykorzystanie w różnych okresach.

Szczegółowe użycie w Google Cloud Console

Tworząc projekt Firebase, tworzysz też projekt Google Cloud. Strony Cloud Firestore API Quotas i App Engine Quotas w Google Cloud Console śledzą wykorzystanie Cloud Firestore i informacje o limitach.

Wolna kwota

Cloud Firestore oferuje bezpłatny limit, który pozwala rozpocząć bez żadnych kosztów. Kwoty bezpłatnych przydziałów są wymienione poniżej. Jeśli potrzebujesz więcej miejsca, musisz włączyć rozliczenia dla swojego projektu Cloud Platform .

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

Bezpłatny poziom Kontyngent
Przechowywane dane 1 GiB
Czyta dokument 50 000 dziennie
Pisze dokument 20 000 dziennie
Usuwa dokument 20 000 dziennie
Wyjście sieciowe 10 GiB miesięcznie

Standardowe limity

Poniższe tabele przedstawiają 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ść podkolekcji 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 jednostki Datastore do bazy danych Firestore, numeryczne identyfikatory jednostek są widoczne 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 polowych
  • Nazwy pól muszą być oddzielone pojedynczą kropką ( . )
  • Może być przekazany jako ciąg, jeśli 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 pola 1500 bajtów
Maksymalny rozmiar wartości pola 1 MiB - 89 bajtów (1 048 487 bajtów)
Maksymalna głębokość pól na mapie lub tablicy 20

Zapisy i transakcje

Oprócz tych ograniczeń powinieneś także zapoznać się z najlepszymi praktykami projektowania na dużą skalę .

Limit Detale
Maksymalny rozmiar żądania interfejsu API 10 MB
Maksymalna liczba zapisów, które można przekazać do Commit zatwierdzenia lub wykonać w ramach transakcji 500
Maksymalna liczba przekształceń pól, które można wykonać na pojedynczym dokumencie w Commit zatwierdzenia lub w transakcji 500
Limit czasu dla transakcji 270 sekund, z 60-sekundowym czasem bezczynności

Miękkie limity

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

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

Indeksy

Następujące ograniczenia mają zastosowanie do indeksów jednopolowych i indeksów złożonych :

Limit Detale
Maksymalna liczba indeksów złożonych dla bazy danych

200

Możesz skontaktować się z pomocą techniczną , aby poprosić o zwiększenie tego limitu.

Maksymalna liczba konfiguracji jednopolowych dla bazy danych

200

W sumie dozwolonych jest 200 konfiguracji na poziomie pola. Jedna konfiguracja pola może zawierać wiele konfiguracji dla tego samego pola. Na przykład wykluczenie z indeksowania pojedynczego pola i zasada TTL dla tego samego pola liczą się jako jedna konfiguracja pola w ramach limitu.

Maksymalna liczba wpisów indeksu dla każdego dokumentu

40 000

Liczba wpisów indeksu jest sumą następujących elementów dla dokumentu:

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

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

Maksymalna liczba pól w indeksie złożonym 100
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 MiB

Całkowity rozmiar jest sumą następujących elementów dla dokumentu:

  • Suma wielkości wpisów indeksu pojedynczego pola dokumentu
  • Suma wielkości złożonych pozycji indeksu dokumentu
  • Maksymalny rozmiar indeksowanej wartości pola

    1500 bajtów

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

    Czas życia (TTL)

    Limit Detale
    Maksymalna liczba konfiguracji jednopolowych dla bazy danych

    200

    W sumie dozwolonych jest 200 konfiguracji na poziomie pola. Jedna konfiguracja pola może zawierać wiele konfiguracji dla tego samego pola. Na przykład wykluczenie z indeksowania pojedynczego pola i zasada TTL dla tego samego pola liczą się jako jedna konfiguracja pola w ramach limitu.

    Eksportuj/Importuj

    Następujące ograniczenia mają zastosowanie do zarządzanych operacji importu i eksportu :

    Limit Detale
    Maksymalna łączna liczba żądań eksportu i importu dla 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ń funkcji There( exists() , get() i getAfter() na żądanie
    • 10 dla żądań pojedynczych dokumentów i zapytań.
    • 20 dla wielodokumentowych odczytów, transakcji i zapisów wsadowych. Poprzedni limit 10 dotyczy również każdej operacji.

      Na przykład wyobraź sobie, że tworzysz żądanie zapisu wsadowego z 3 operacjami zapisu i że twoje reguły bezpieczeństwa używają 2 wywołań dostępu do dokumentów do sprawdzania poprawności każdego zapisu. W takim przypadku każdy zapis wykorzystuje 2 z 10 wywołań dostępu, a żądanie zapisu wsadowego 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 powiązań zmiennych let na funkcję 10
    Maksymalna liczba rekurencyjnych lub cyklicznych wywołań funkcji 0 (niedozwolone)
    Maksymalna liczba wyrażeń ocenianych na żądanie 1000
    Maksymalny rozmiar zestawu reguł Zestawy reguł muszą przestrzegać dwóch ograniczeń rozmiaru:
    • limit 256 KB rozmiaru źródła tekstowego zestawu reguł publikowanego z konsoli Firebase lub z interfejsu wiersza polecenia za pomocą firebase deploy .
    • limit 250 KB rozmiaru skompilowanego zestawu reguł, który pojawia się, 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.

    Ustal budżet miesięczny

    Aby śledzić koszty Cloud Firestore, utwórz budżet miesięczny 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ę do planowanych kosztów na dany miesiąc lub je przekraczasz.

    Aby ustawić budżet, przejdź do sekcji Rozliczenia 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 w różnych procentach swojego miesięcznego budżetu.

    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 w 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.