Z tego przewodnika dowiesz się, jakie są limity Cloud Firestore. Szczegółowe informacje o kosztach Cloud Firestore, w tym o tym, na co zwracać uwagę, znajdziesz w artykule Ceny Cloud Firestore.
Monitorowanie wykorzystania
Aby monitorować wykorzystanie Cloud Firestore w konsoli Firebase, otwórz kartę Bazy danych i miejsce na dane > Firestore > Użycie. Za pomocą tego panelu możesz ocenić wykorzystanie w różnych okresach.
Szczegółowe informacje o wykorzystaniu w konsoli Google Cloud
Gdy tworzysz projekt w Firebase, tworzysz też projekt Google Cloud. Strony Limity interfejsu API Cloud Firestore i Limity App Engine w konsoli Google Cloud śledzą informacje o wykorzystaniu i limitach Cloud Firestore.
Bezpłatny limit
Cloud Firestore oferuje bezpłatny limit, który pozwala rozpocząć korzystanie z usługi bez opłat. Jeśli potrzebujesz większego limitu, musisz włączyć płatności w projekcie Google Cloud.
Limity są stosowane codziennie i resetowane około północy czasu pacyficznego.
Tabela poniżej zawiera podsumowanie bezpłatnych limitów:
| Poziom bezpłatny | Limit |
|---|---|
| Przechowywane dane | 1 GiB |
| Odczyty dokumentów | 50 tys. dziennie |
| Zapisy dokumentów | 20 000 dziennie |
| Usunięcia dokumentu | 20 000 dziennie |
| Przesyłanie danych na zewnątrz | 10 GiB miesięcznie |
Te operacje i funkcje nie są objęte bezpłatnym wykorzystaniem. Aby korzystać z tych funkcji, musisz włączyć płatności:
- Usunięcia TTL
- Dane odzyskiwania do określonego momentu
- Utwórz kopię zapasową danych
- Operacje przywracania
- Operacje klonowania
Więcej informacji o tym, jak te funkcje są rozliczane, znajdziesz w artykule Ceny miejsca na dane.
Limity standardowe
W tabelach poniżej znajdziesz limity, które obowiązują w Cloud Firestore. 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 |
|
| Matsymalna głębokość podkolekcji | 100 |
| Ograniczenia dotyczące identyfikatorów dokumentów |
|
| Maksymalny rozmiar nazwy dokumentu | 6 KiB |
| Maksymalny rozmiar dokumentu | 1 MiB (1 048 576 bajtów) |
| Ograniczenia dotyczące nazw pól |
|
| Maksymalny rozmiar nazwy pola | 1500 bajtów |
| Ograniczenia dotyczące ścieżek pól |
`). 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: |
Zapisy i transakcje
Oprócz tych limitów zapoznaj się też ze sprawdzonymi metodami projektowania pod kątem skalowania.
| Limit | Szczegóły |
|---|---|
| Maksymalny rozmiar żądania do interfejsu API | 10 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
W przypadku indeksów pojedynczego pola i indeksów złożonych obowiązują te limity:
| Limit | Szczegóły |
|---|---|
| Maksymalna liczba indeksów złożonych w bazie danych |
|
| 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. |
|
Maksymalna liczba wpisów indeksu dla każdego dokumentu |
40 000 Liczba wpisów indeksu jest sumą tych wartości dla dokumentu:
Aby zobaczyć, jak Cloud Firestore przekształca dokument i zestaw indeksów we wpisy indeksu, zapoznaj się z tym przykładem liczby wpisów indeksu. |
| Maksymalna liczba pól w indeksie wieloskładnikowym | 100 |
| Maksymalny rozmiar wpisu indeksu |
7,5 KiB Aby dowiedzieć się, jak Cloud Firestore oblicza rozmiar wpisu indeksu, zobacz rozmiar wpisu indeksu. |
| Maksymalna suma rozmiarów wpisów indeksu dokumentu |
8 MiB Łączny rozmiar to suma tych elementów dokumentu: |
| Maksymalny rozmiar wartości indeksowanego pola |
1500 bajtów Wartości pól przekraczające 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 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 |
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:
|
Zarządzanie wydatkami
Aby uniknąć nieoczekiwanych opłat na rachunku, ustaw budżety miesięczne i alerty.
Ustawianie budżetu miesięcznego
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żysz się do planowanych kosztów na dany miesiąc lub je przekroczysz.
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ć je tak, aby wysyłały powiadomienia przy różnych wartościach procentowych budżetu miesięcznego.
Dowiedz się więcej o konfigurowaniu budżetów i alertów dotyczących budżetu.