Режим Native: квоты и ограничения

На этой странице описаны квоты на запросы и ограничения версии Enterprise для Cloud Firestore в нативном режиме.

Использование в рамках бесплатного плана

Cloud Firestore в стандартном режиме предлагает бесплатный план, который позволяет начать работу с Cloud Firestore в стандартном режиме без дополнительных затрат. Объемы бесплатного плана указаны в таблице ниже.

Бесплатные квоты применяются ежедневно и сбрасываются в полночь по тихоокеанскому времени.

Бесплатный план распространяется только на одну базу данных Cloud Firestore в проекте. Бесплатный план будет назначен первой базе данных, созданной в проекте, в котором нет базы данных с бесплатным планом. Если база данных, к которой применяется бесплатный план, будет удалена, то он будет применен к следующей созданной базе данных.

Бесплатный план Квота
Хранящиеся данные 1 ГиБ
Чтение единиц измерения 50 000 в день
Обновление данных в реальном времени 50 000 в день
Запись данных о единицах 40 000 в день
Передача исходящих данных 10 ГиБ в месяц

Стандартные ограничения

В таблицах ниже приведены ограничения, которые применяются к Cloud Firestore в нативном режиме. Если не указано иное, это жесткие ограничения.

Базы данных

Ограничение Сведения
Максимальное количество баз данных в проекте

100

Чтобы увеличить лимит, обратитесь в службу поддержки.

Максимальное количество баз данных с ключами шифрования, управляемыми клиентом (CMEK), на проект

0

По умолчанию квота равна 0, поскольку эта функция доступна только пользователям из белого списка. Чтобы запросить увеличение квоты, заполните форму запроса доступа к CMEK.

Коллекции, документы и поля

Ограничение Сведения
Ограничения на идентификаторы коллекций
  • Должны быть допустимые символы UTF-8.
  • Длина не должна превышать 1500 байт.
  • Не может содержать косую черту (/).
  • Не может состоять только из одной (.) или двух (..) точек.
  • Не соответствует регулярному выражению __.*__.
Максимальная глубина вложенности подколлекций 100
Ограничения для идентификаторов документов
  • Должны быть допустимые символы UTF-8.
  • Длина не должна превышать 1500 байт.
  • Не может содержать косую черту (/).
  • Не может состоять только из одной (.) или двух (..) точек.
  • Не соответствует регулярному выражению __.*__.
  • Если вы импортируете объекты Datastore в базу данных Firestore, числовые идентификаторы объектов будут представлены как __id[0-9]+__.
Максимальный размер названия документа 6 КиБ
Максимальный размер документа 1 МиБ (1 048 576 байт)
Ограничения на названия полей
  • Должны быть допустимые символы UTF-8.
  • Не соответствует регулярному выражению __.*__.
Максимальный размер названия поля 1500 байт
Ограничения на пути полей
  • Названия полей должны быть разделены точкой (.).
  • Может передаваться как строка сегментов, разделенных точками (.), где каждый сегмент – это простое или заключенное в кавычки название поля (определено ниже).
Простое название поля соответствует следующим требованиям:
  • Содержит только символы a-z, A-Z, 0-9 и символ подчеркивания (_).
  • Не начинается с 0-9
Название поля в кавычках начинается и заканчивается символом обратного апострофа (`). Например, foo.`x&y` относится к полю x&y, вложенному в поле foo. Чтобы создать название поля с обратным апострофом, экранируйте его обратной косой чертой (\). Чтобы не использовать названия полей в кавычках, можно передать путь к полю как объект FieldPath (например, FieldPath в JavaScript).
Максимальный размер пути к полю 1500 байт
Максимальный размер значения поля 1 МиБ – 89 байт (1 048 487 байт)
Максимальная глубина полей на карте или в массиве

20

Поля карт и массивов добавляют один уровень к общей глубине объекта. Например, у следующего объекта глубина вложенности равна трем:


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

Записи и транзакции

Ограничение Сведения
Максимальный размер запроса к API 10 МиБ
Ограничение памяти для запроса 128 МиБ
Ограничение по времени для транзакции 270 секунд, а время ожидания – 60 секунд.
Максимальное количество преобразований полей, которые можно выполнить в одном документе за одну операцию Commit или транзакцию. 500

Индексы

Ограничение Сведения
Максимальное количество индексов для базы данных

Максимальное количество записей индекса для каждого документа

40 000

Максимальное количество полей в индексе 100
Максимальный размер записи в индексе

7,5 КиБ

Максимальная сумма размеров записей индекса документа

8 МиБ

Время жизни (TTL)

Ограничение Сведения
Максимальное количество конфигураций для одного поля в базе данных
  • 200, если вы не включили платежные функции для проекта Google Cloud.

    Если вам нужна более высокая квота, включите оплату для проекта Google Cloud.

  • 1000, когда вы включите платежные функции для проекта Google Cloud.

Одна конфигурация на уровне поля может содержать несколько конфигураций для одного и того же поля. Например, исключение из индексирования одного поля и правило TTL для того же поля считаются одной конфигурацией поля.

Экспорт/импорт

Для управляемых операций импорта и экспорта действуют следующие ограничения:

Ограничение Сведения
Максимальное общее количество запросов на экспорт и импорт для проекта в минуту 20
Максимальное количество одновременных операций экспорта и импорта 50
Максимальное количество фильтров по идентификатору коллекции для запросов на экспорт и импорт 100

Правила безопасности

Ограничение Сведения
Максимальное количество вызовов exists(), get() и getAfter() на запрос
  • 10 для запросов с одним документом и запросов с запросом.
  • 20 для чтения нескольких документов, транзакций и пакетной записи. Прежнее ограничение (10) также применяется к каждой операции.

    Например, вы создаете пакетный запрос на запись с тремя операциями записи, а правила безопасности используют два вызова доступа к документу для проверки каждой записи. В этом случае каждая запись использует 2 из 10 вызовов доступа, а пакетный запрос на запись – 6 из 20 вызовов доступа.

При превышении любого из этих ограничений возникает ошибка "Доступ запрещен".

Некоторые вызовы доступа к документам могут кешироваться и не учитываться в лимитах.

Максимальная глубина вложенности оператора match 10
Максимальная длина пути (в сегментах), допустимая в наборе вложенных операторов match. 100
Максимальное количество переменных для захвата пути в наборе вложенных операторов match 20
Максимальная глубина вызова функции 20
Максимальное количество аргументов функции 7
Максимальное количество привязок переменных let на функцию 10
Максимальное количество рекурсивных или циклических вызовов функций 0 (не разрешено)
Максимальное количество выражений, оцениваемых за один запрос 1000
Максимальный размер набора правил Для наборов правил действуют два ограничения по размеру:
  • Ограничение на размер текста набора правил, опубликованного из консоли Firebase или из CLI с помощью firebase deploy, составляет 256 КБ.
  • 250 КБ – ограничение на размер скомпилированного набора правил, который получается, когда Firebase обрабатывает исходный код и активирует его на сервере.

Ограничения на количество сохраненных запросов

Значение Ограничение
Максимальное количество сохраненных запросов на проект (включая сохраненные запросы для других продуктов Google Cloud) 10 000
Максимальный размер запроса 1 МиБ