Tryb natywny: limity

Na tej stronie opisano limity żądań i limity wersji Enterprise dla Cloud Firestore w trybie natywnym.

Wykorzystanie na poziomie bezpłatnym

Cloud Firestore w trybie natywnym oferuje poziom bezpłatny, który umożliwia rozpoczęcie korzystania z Cloud Firestore w trybie natywnym bez opłat. Kwoty w ramach poziomu bezpłatnego są podane w tabeli poniżej.

Limity poziomu bezpłatnego są stosowane codziennie i resetowane o północy czasu pacyficznego.

Poziom bezpłatny dotyczy tylko jednej bazy danych Cloud Firestore na projekt. Pierwsza baza danych utworzona w projekcie bez bazy danych na poziomie bezpłatnym otrzyma poziom bezpłatny. Jeśli baza danych z poziomem bezpłatnym zostanie usunięta, następna utworzona baza danych otrzyma poziom bezpłatny.

Poziom bezpłatny Limit
Przechowywane dane 1 GiB
Odczyt jednostek 50 tys. dziennie
Jednostki aktualizacji w czasie rzeczywistym 50 tys. dziennie
Zapis jednostek 40 tys. dziennie
Przesyłanie danych na zewnątrz 10 GiB miesięcznie

Limity standardowe

W poniższych tabelach przedstawiono limity obowiązujące w Cloud Firestore w trybie natywnym. O ile nie zaznaczono inaczej, są to limity bezwzględne.

Bazy danych

Limit Szczegóły
Maksymalna liczba baz danych na projekt

100

Aby poprosić o zwiększenie tego limitu, skontaktuj się z zespołem pomocy.

Maksymalna liczba baz danych z kluczami szyfrowania zarządzanymi przez klienta (CMEK) na projekt

0

Domyślnie limit wynosi 0, ponieważ ta funkcja jest dostępna tylko dla użytkowników z listy dozwolonych. Możesz poprosić o zwiększenie limitu, wypełniając formularz prośby o dostęp do kluczy CMEK.

Kolekcje, dokumenty i pola

Limit Szczegóły
Ograniczenia dotyczące identyfikatorów kolekcji
  • Musi zawierać prawidłowe znaki UTF-8
  • Nie może przekraczać 1500 bajtów
  • Nie może zawierać ukośnika (/).
  • Nie może składać się wyłącznie z jednej kropki (.) ani 2 kropek (..).
  • Nie można dopasować wyrażenia regularnego __.*__
Matsymalna głębokość podkolekcji 100
Ograniczenia dotyczące identyfikatorów dokumentów
  • Musi zawierać prawidłowe znaki UTF-8
  • Nie może przekraczać 1500 bajtów
  • Nie może zawierać ukośnika (/).
  • Nie może składać się wyłącznie z jednej kropki (.) ani 2 kropek (..).
  • Nie można dopasować wyrażenia regularnego __.*__
  • Jeśli importujesz encje Datastore do bazy danych Firestore, liczbowe identyfikatory encji 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
  • Nie można dopasować wyrażenia regularnego __.*__
Maksymalny rozmiar nazwy pola 1500 bajtów
Ograniczenia dotyczące ścieżek pól
  • Nazwy pól muszą być oddzielone pojedynczą kropką (.)
  • Może być przekazywany jako ciąg segmentów rozdzielonych kropkami (.), gdzie każdy segment jest prostą nazwą pola lub nazwą pola w cudzysłowie (zdefiniowaną poniżej).
Prosta nazwa pola to taka, która spełnia wszystkie te warunki:
  • Zawiera tylko znaki a-z, A-Z, 0-9 i podkreślenie (_)
  • Nie rozpoczyna się od 0-9
Nazwa pola w cudzysłowie zaczyna się i kończy znakiem grawisu (`). Na przykład foo.`x&y` odnosi się do pola x&y zagnieżdżonego w polu foo. Aby utworzyć nazwę pola ze znakiem grawisu, poprzedź go ukośnikiem lewym (\). Aby uniknąć nazw pól w cudzysłowie, możesz przekazać ścieżkę pola jako obiekt FieldPath (zobacz na przykład JavaScript FieldPath).
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 w mapie lub tablicy

20

Pola map i tablic dodają 1 poziom do ogólnej głębokości obiektu. Na przykład ten obiekt ma łącznie 3 poziomy:


{
  nested_map: {         #depth 1
    nested_array: [     #depth 2
      {
        foo: "bar"      #depth 3
      }
    ]
  }
}
      

Zapisy i transakcje

Limit Szczegóły
Maksymalny rozmiar żądania do interfejsu API 10 MiB
limit pamięci dla zapytania, 128 MiB
Limit czasu transakcji 270 sekund, z 60-sekundowym czasem wygaśnięcia bezczynności.
Maksymalna liczba przekształceń pól, które można wykonać na pojedynczym dokumencie w ramach operacji Commit lub transakcji 500

Indeksy

Limit Szczegóły
Maksymalna liczba indeksów w bazie danych

Maksymalna liczba wpisów indeksu dla każdego dokumentu

40 000

Maksymalna liczba pól w indeksie 100
Maksymalny rozmiar wpisu indeksu

7,5 KiB

Maksymalna suma rozmiarów wpisów indeksu dokumentu

8 MiB

Czas życia danych (TTL)

Limit Szczegóły
Maksymalna liczba konfiguracji pojedynczego pola w bazie danych

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

Eksport/Import

W przypadku operacji zarządzanego importu i eksportu obowiązują te limity:

Limit Szczegóły
Maksymalna łączna liczba żądań eksportu i importu w projekcie dozwolona na minutę 20
Maksymalna liczba jednoczesnych eksportów i importów 50
Maksymalna liczba filtrów identyfikatorów kolekcji w przypadku żądań eksportu i importu 100

Reguły zabezpieczeń

Limit Szczegóły
Maksymalna liczba wywołań exists(), get() i getAfter() na żądanie
  • 10 w przypadku żądań dotyczących pojedynczego dokumentu i żądań zapytań.
  • 20 w przypadku odczytów wielu dokumentów, transakcji i zapisów zbiorczych. Poprzedni limit wynoszący 10 dotyczy też każdej operacji.

    Załóżmy na przykład, że tworzysz żądanie zapisu zbiorczego z 3 operacjami zapisu, a reguły zabezpieczeń używają 2 wywołań dostępu do dokumentu, aby zweryfikować każdy zapis. W tym przypadku każdy zapis wykorzystuje 2 z 10 wywołań dostępu, a żądanie zapisu zbiorczego – 6 z 20 wywołań dostępu.

Przekroczenie któregoś z tych limitów spowoduje błąd braku uprawnień.

Niektóre wywołania dostępu do dokumentów mogą być przechowywane w pamięci podręcznej, a wywołania z pamięci podręcznej nie wliczają się do limitów.

Maksymalna głębokość zagnieżdżonych instrukcji match 10
Maksymalna długość ścieżki (w segmentach ścieżki) dozwolona w zbiorze zagnieżdżonych instrukcji match 100
Maksymalna liczba zmiennych przechwytywania ścieżki dozwolona w zbiorze zagnieżdżonych instrukcji match 20
Maksymalna głębokość wywołania funkcji 20
Maksymalna liczba argumentów funkcji 7
Maksymalna liczba wią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 zbioru reguł Zbiory reguł muszą przestrzegać 2 limitów rozmiaru:
  • limit 256 KB na rozmiar źródła tekstu zestawu reguł opublikowanego z konsoli Firebase lub z interfejsu wiersza poleceń za pomocą firebase deploy.
  • limit 250 KB na rozmiar skompilowanego zbioru reguł, który powstaje, gdy Firebase przetwarza źródło i aktywuje je w backendzie.

Limity zapisanych zapytań

Wartość Limit
Maksymalna liczba zapisanych zapytań na projekt (w tym zapisanych zapytań dotyczących innych usług Google Cloud) 10 000
Maksymalny rozmiar każdego zapytania 1 MiB