Tryb natywny: limity

Na tej stronie opisujemy 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 tej usługi bezpłatnie. Wartości bezpłatnego limitu są podane w tej tabeli.

Ilości z poziomu bezpłatnego są stosowane codziennie i resetowane o północy czasu pacyficznego.

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

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

Limity standardowe

W tabelach poniżej znajdziesz limity, które obowiązują w przypadku Cloud Firestore w trybie natywnym. O ile nie zaznaczono inaczej, są to limity sztywne.

Bazy danych

Limit Szczegóły
Maksymalna liczba baz danych w projekcie

100

Możesz skontaktować się z zespołem pomocy, aby poprosić o zwiększenie tego limitu.

Maksymalna liczba baz danych z kluczami szyfrowania zarządzanymi przez klienta (CMEK) w projekcie

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 z dwóch 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 przekraczać 1500 bajtów
  • Nie może zawierać ukośnika (/)
  • Nie może składać się wyłącznie z jednej kropki (.) ani z dwóch kropek (..).
  • Nie można dopasować wyrażenia regularnego __.*__
  • Jeśli zaimportujesz encje Datastore do bazy danych Firestore, identyfikatory liczbowe encji będą 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 kropką (.), gdzie każdy segment jest prostą nazwą pola lub nazwą pola w cudzysłowie (zdefiniowaną poniżej).
Prosta nazwa pola to nazwa, w przypadku której spełnione są 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 backtick (`). 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 znakiem ukośnika odwrotnego (\). Aby uniknąć nazw pól w cudzysłowie, możesz przekazać ścieżkę pola jako obiekt FieldPath (np. zobacz 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 mapy i tablicy zwiększają ogólną głębokość obiektu o 1 poziom. Na przykład poniższy obiekt ma łączną głębokość 3 poziomów:


{
  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 czasu na transakcję 270 sekund z 60-sekundowym czasem wygaśnięcia bezczynności.
Maksymalna liczba przekształceń pól, które można wykonać w przypadku pojedynczego dokumentu w ramach operacji Commit lub transakcji. 500

Indeksy

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

Maksymalna liczba wpisów w indeksie dla każdego dokumentu

40 000

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

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 zasady TTL w tym samym polu są liczone jako 1 konfiguracja pola w ramach limitu.

Eksport/import

Operacje importu i eksportu zarządzanego są objęte tymi ograniczeniami:

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()getAfter() na żądanie
  • 10 w przypadku żądań dotyczących pojedynczego dokumentu i 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 Twoje reguły zabezpieczeń używają 2 wywołań dostępu do dokumentu, aby zweryfikować każdy zapis. W takim przypadku każdy zapis wykorzystuje 2 z 10 wywołań dostępu, a żądanie zapisu zbiorczego wykorzystuje 6 z 20 wywołań dostępu.

Przekroczenie któregokolwiek z tych limitów spowoduje wyświetlenie błędu dotyczącego braku uprawnień.

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

Maksymalna głębokość zagnieżdżenia 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 dozwolonych w zagnieżdżonych instrukcjach 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 w ramach jednego żądania 1000
Maksymalny rozmiar zestawu reguł Zbiory reguł muszą spełniać 2 limity rozmiaru:
  • limit 256 KB na rozmiar źródła tekstu zestawu reguł opublikowanego w konsoli Firebase lub w interfejsie 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 na backendzie;