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

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

Использование бесплатного уровня

В режиме Native Cloud Firestore предлагает бесплатный тарифный план, позволяющий начать работу с Cloud Firestore в режиме Native без каких-либо затрат. Размеры бесплатного тарифного плана указаны в следующей таблице.

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

Бесплатный уровень применяется только к одной базе данных 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 байт
Ограничения на траектории движения поля
  • Названия полей необходимо разделять одной точкой ( . ).
  • Может передаваться в виде строки сегментов, разделенных точками ( . ), где каждый сегмент представляет собой либо простое имя поля, либо имя поля в кавычках (определено ниже).
Простое имя поля — это такое имя, для которого выполняются все следующие условия:
  • Содержит только символы az , AZ , 0-9 и нижнее подчеркивание ( _ ).
  • Не начинается с 0-9
Имя поля в кавычках начинается и заканчивается символом обратной кавычки ( ` ). Например, foo.`x&y` относится к полю x&y , вложенному в поле foo . Чтобы создать имя поля с символом обратной кавычки, экранируйте его символом обратной косой черты ( \ ). Для удобства можно избежать использования имен полей в кавычках, передавая путь к полю в виде объекта FieldPath ( например, см. JavaScript FieldPath ).
Максимальный размер пути поля 1500 байт
Максимальный размер значения поля 1 МиБ - 89 байт (1 048 487 байт)
Максимальная глубина полей на карте или в массиве.

20

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


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

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

Лимит Подробности
Максимальный размер запроса API 10 МиБ
Срок действия транзакции 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 также применяется к каждой операции.

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

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

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

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