Wykorzystanie i limity

Z tego przewodnika dowiesz się więcej o limitach obowiązujących w usłudze Cloud Firestore, i zapoznaj się z cennikiem usługi Cloud Firestore, w którym znajdziesz pełne, szczegółowe wyjaśnienia Koszty usługi Cloud Firestore, w tym rzeczy, na które trzeba uważać.

Monitorowanie użytkowania

Aby monitorować wykorzystanie Cloud Firestore, otwórz Cloud Firestore Karta Użycie w konsoli Firebase. W panelu możesz sprawdzać wykorzystanie usługi w różnych okresach.

szczegółowe informacje o korzystaniu z konsoli Google Cloud,

Podczas tworzenia projektu Firebase tworzysz też projekt Google Cloud. Limity interfejsu API Cloud Firestore oraz Limity: App Engine strony w konsoli Google Cloud śledzą wykorzystanie Cloud Firestore i limit i informacjami o nich.

Bezpłatny limit

Cloud Firestore oferuje bezpłatny limit, dzięki któremu możesz zacząć Twoją bazę danych (default) bez opłat. Kwoty bezpłatnych limitów są wymienione poniżej. Jeśli potrzebujesz większej puli, musisz włączyć płatności w projekcie Google Cloud.

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

Do bezpłatnego limitu kwalifikuje się tylko baza danych (default).

Poziom bezpłatny Limit
Przechowywane dane 1 GiB
Odczyty dokumentów 50 000 na dzień
Zapisy dokumentów 20 000 dziennie
Usunięcia dokumentu 20 000 dziennie
Wychodzące przesyłanie danych 10 GiB miesięcznie

Wymienione niżej operacje i funkcje nie są objęte bezpłatnym wykorzystaniem. Aby korzystać z tych funkcji, musisz włączyć płatności:

  • Użycie nazwanych (innych niż domyślne) baz danych
  • Usunięcia z powodu TTL
  • Dane PITR
  • Tworzenie kopii zapasowej danych
  • Operacje przywracania

Więcej informacji o tym, jak są naliczane opłaty za te funkcje, znajdziesz w sekcji Ceny miejsca na dane.

Standardowe limity

W tabelach poniżej znajdziesz limity, które obowiązują Cloud Firestore Są to sztywne limity, chyba że wskazano inaczej.

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.

Kolekcje, dokumenty i pola

Limit Szczegóły
Ograniczenia dotyczące identyfikatorów kolekcji
  • Musi zawierać prawidłowe znaki UTF-8.
  • Nie może być dłuższa niż 1500 bajtów
  • Nie może zawierać ukośnika wiodącego (/)
  • Nie może składać się wyłącznie z jednej kropki (.) lub podwójne kropki (..)
  • 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ższa niż 1500 bajtów
  • nie może zawierać ukośnika (/);
  • Nie może składać się wyłącznie z jednej kropki (.) lub podwójnej kropki (..).
  • Nie pasuje do wyrażenia regularnego __.*__
  • Jeśli zaimportujesz 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.
  • Nie można dopasować wyrażenia regularnego __.*__
Maksymalny rozmiar nazwy pola 1500 bajtów
Ograniczenia na ścieżkach pól
  • Nazwy pól muszą być oddzielone jedną kropką (.)
  • Można ją przekazywać jako ciąg segmentów rozdzielonych kropką (.), w których każdy segment jest zwykłą nazwą pola lub nazwą pola ujętego w cudzysłów (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 zaczyna się od 0-9
Nazwa pola cytowanego 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 zawierającą znak grawisu, zastąp go znakiem ukośnika lewego (\). Możesz uniknąć nazw pól w cudzysłowie, przekazując ścieżkę pola jako obiekt FieldPath (np. patrz 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łębia pól w mapie lub tablicy

20

Pola mapy i tablicy zwiększają ogólną głębokość obiektu o 1 poziom. Na przykład ten obiekt ma łączną głębokość 3 poziomy:


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

Zapisy i transakcje

Oprócz tych limitów warto też zapoznać się ze sprawdzonymi metodami dotyczącymi projektowania na potrzeby skalowania.

Limit Szczegóły
Maksymalny rozmiar żądania do interfejsu API 10 MiB
Czas na realizację transakcji 270 sekund, przy czym czas bezczynności wynosi 60 sekund

Indeksy

W przypadku indeksów z jednym polem i indeksów złożonych obowiązują te limity:

Limit Szczegóły
Maksymalna liczba indeksów złożonych dla bazy danych
Maksymalna liczba konfiguracji z jednym polem dla bazy danych

Konfiguracja na poziomie 1 pola może zawierać wiele konfiguracji tego samego pola. Przykład: wykluczenie z indeksowania pojedynczego pola i zasada TTL dla tego samego pola; są uwzględniane jako konfiguracja jednego pola w ramach limitu.

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

40 000

Liczba wpisów w indeksie to suma następujących wartości dokumentu:

  • Liczba wpisów indeksu pojedynczego pola
  • Liczba wpisów indeksu złożonego

Aby zobaczyć, jak Cloud Firestore zmienia dokument i zbiór elementów indeksy we wpisach indeksu, zobacz tym przykładem liczby wpisów w indeksie.

Maksymalna liczba pól w indeksie złożonym 100
Maksymalny rozmiar wpisu w indeksie

7,5 KiB

Aby dowiedzieć się, jak Cloud Firestore oblicza rozmiar wpisu w indeksie, zapoznaj się z artykułem Rozmiar wpisu w indeksie.

Maksymalna suma rozmiarów wpisów indeksu dokumentu

8 MiB

Łączny rozmiar to suma tych elementów w dokumentach:

  • Suma rozmiarów wpisów indeksu pojedynczego pola dokumentu
  • Suma rozmiaru wpisów indeksu złożonego dokumentu
  • Maksymalny rozmiar wartości pola indeksowanego

    1500 bajtów

    Wartości pól, które przekraczają 1500 bajtów, są obcinane. Zapytania dotyczące obciętych wartości pól mogą zwracać niespójne wyniki.

    Czas życia danych (TTL)

    Limit Szczegóły
    Maksymalna liczba konfiguracji z jednym polem dla bazy danych

    Konfiguracja na poziomie 1 pola może zawierać wiele konfiguracji tego samego pola. Przykład: wykluczenie z indeksowania pojedynczego pola i zasada TTL dla tego samego pola; są uwzględniane jako konfiguracja jednego pola w ramach limitu.

    Eksport/Import

    W przypadku zarządzanych operacji importowania i eksportowania obowiązują następujące limity:

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

    Reguły zabezpieczeń

    Limit Szczegóły
    Maksymalna liczba wywołań funkcji exists(), get()getAfter() na żądanie
    • 10 w przypadku żądań pojedynczych dokumentów i zapytań.
    • 20 w przypadku odczytów wielu dokumentów, transakcji, i zapisy wsadowe. Poprzedni limit 10 obowiązuje również w przypadku .

      Załóżmy na przykład, że tworzysz zbiorczy żądanie zapisu z 3 operacjami zapisu i że Twoje reguły zabezpieczeń używają 2 wywołań dostępu do dokumentu do sprawdzania każdego zapisu. W tym przypadku każde zapisywanie korzysta z 2 z 10 wywołań dostępu, a żądanie zbiorczego zapisywania korzysta z 6 z 20 wywołań dostępu.

    Przekroczenie któregokolwiek z tych limitów powoduje błąd dotyczący braku uprawnień.

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

    Maksymalna głębokość zagnieżdżonej instrukcji match 10
    Maksymalna długość ścieżki w segmentach ścieżki dozwolona w zbiorze zagnieżdżonych Wyciągi: match 100
    Maksymalna liczba zmiennych przechwytywania ścieżki dozwolona w zbiorze zagnieżdżone instrukcje match 20
    Maksymalna głębokość wywołania funkcji 20
    Maksymalna liczba argumentów funkcji 7
    Maksymalna liczba powiązań zmiennych na funkcję (let) 10
    Maksymalna liczba rekurencyjnych lub cyklicznych wywołań funkcji 0 (niedozwolone)
    Maksymalna liczba wyrażeń ocenianych na żądanie 1000
    Maksymalny rozmiar zestawu reguł Reguły muszą spełniać 2 limity rozmiaru:
    • limit 256 KB na rozmiar źródła tekstowego reguł opublikowanego z poziomu konsoli Firebase lub za pomocą interfejsu wiersza poleceń za pomocą polecenia firebase deploy.
    • Limit 250 KB na rozmiar skompilowanego zestawu reguł, który generuje gdy Firebase przetworzy źródło i włączy je z backendu.

    Zarządzanie wydatkami

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

    Ustaw budżet miesięczny

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

    Aby ustawić budżet, otwórz sekcję Płatności w konsoli Google Cloud i utwórz budżet dla konta Cloud Billing. Możesz użyć domyślnych ustawień alertów lub zmodyfikować alerty umożliwiające wysyłanie powiadomień z określoną wartością procentową budżetu miesięcznego.

    Dowiedz się więcej o konfigurowaniu budżetów i alertów dotyczących budżetu.