Catch up on everthing we announced at this year's Firebase Summit. Learn more

Использование и ограничения

Используйте это руководство , чтобы понять пределы Облака Firestore и увидеть облако Firestore Цены на полное, детальное объяснение затрат Облака Firestore, в том числе вещей , чтобы не упустить.

Следите за своим использованием

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

Подробное использование в Google Cloud Console

Когда вы создаете проект Firebase, вы также создаете проект Google Cloud. Квоты App Engine страница в Google Cloud Console отслеживает Облако Firestore использования и квот информации.

Бесплатная квота

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

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

Уровень бесплатного пользования Квота
Сохраненные данные 1 ГиБ
Документ гласит 50 000 в день
Документ пишет 20,000 в день
Документ удаляется 20,000 в день
Выход из сети 10 ГиБ в месяц

Стандартные лимиты

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

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

Предел Подробности
Ограничения на идентификаторы коллекций
  • Должны быть допустимые символы UTF-8.
  • Должно быть не более 1500 байт.
  • Они не могут содержать косую черту ( / )
  • Не может состоять исключительно из одного периода ( . ) Или двойные периоды ( .. )
  • Может не совпадать с регулярным выражением __.*__
Максимальная глубина вложенных коллекций 100
Ограничения на идентификаторы документов
  • Должны быть допустимые символы UTF-8.
  • Должно быть не более 1500 байт.
  • Они не могут содержать косую черту ( / )
  • Не может состоять исключительно из одного периода ( . ) Или двойные периоды ( .. )
  • Может не совпадать с регулярным выражением __.*__
  • При импорте хранилища данных объектов в базу данных Firestore, идентификаторы числовых сущностей представлены как __id[0-9]+__
Максимальный размер имени документа 6 КБ
Максимальный размер документа 1 МБ (1,048,576 байт)
Ограничения на имена полей Должны быть допустимые символы UTF-8.
Максимальный размер имени поля 1500 байт
Ограничения на пути к полю
  • Необходимо отделить имена полей с одного периода ( . )
  • Может быть передан в виде строки , когда все имена полей в пути являются простыми, в противном случае должен быть принят в качестве объекта FieldPath ( например , JavaScript FieldPath )
Простое имя поля - это такое, в котором выполняются все следующие условия:
  • Содержит только символы az , AZ , 0-9 и подчеркивание ( _ )
  • Не начинается с 0-9
Максимальный размер пути к полю 1500 байт
Максимальный размер значения поля 1 МиБ - 89 байт (1048 487 байт)
Максимальная глубина резкости на карте или в массиве 20

Пишет и транзакции

Предел Подробности
Максимальное количество операций записи в секунду на базу данных 10000 (до 10 МБ в секунду)
Максимальный размер запроса API 10 МБ
Максимальное число записей , которые могут быть переданы в Commit операции или выполняемых в транзакции 500
Максимальное число преобразований на местах , которые могут быть выполнены на одном документе в Commit операции или транзакции 500
Лимит времени на транзакцию 270 секунд, время простоя - 60 секунд

Мягкие ограничения

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

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

1 в секунду

Поддержание скорости записи выше одного раза в секунду увеличивает задержку и вызывает конфликтные ошибки. Это не жесткий предел, и вы можете превзойти его короткими очередями.

Максимальная скорость записи в коллекцию, в которой документы содержат последовательные значения в индексированном поле 500 в секунду

Обновления в реальном времени

Мягкий лимит Подробности
Максимальное количество одновременных подключений для мобильных / веб-клиентов на одну базу данных

1 000 000

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

Индексы

Следующие ограничения применяются к одному полю индексов и композитных индексов :

Предел Подробности
Максимальное количество составных индексов для базы данных 200
Максимальное количество исключений для индекса с одним полем для базы данных 200

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

40 000

Количество записей указателя складывается из следующих значений для документа:

  • Количество записей указателя с одним полем
  • Количество записей составного индекса

Чтобы увидеть , как облако Firestore получается документ и набор индексов в индексные записи, см этого показателя счетчик начального пример .

Максимальный размер записи индекса

7,5 КБ

Чтобы увидеть , как облако Firestore вычисляет индекс размера входа, см размера начального индекса .

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

8 МБ

Общий размер - это сумма следующих для документа:

  • Сумма размера записей индекса документа с одним полем.
  • Сумма размеров записей составного индекса документа.
  • Максимальный размер значения индексированного поля

    1500 байт

    Значения полей размером более 1500 байт усекаются. Запросы с усеченными значениями полей могут возвращать противоречивые результаты.

    Вывоз ввоз

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

    Предел Подробности
    Максимально допустимое общее количество запросов на экспорт и импорт для проекта в минуту 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 (не разрешено)
    Максимальное количество выражений, оцениваемых за запрос 1,000
    Максимальный размер набора правил Наборы правил должны соответствовать двум ограничениям по размеру:
    • предел 256 КБ на размер набора правил исходного текста опубликованного из Firebase консоли или из командной строки с помощью firebase deploy .
    • ограничение в 250 КБ на размер скомпилированного набора правил, которое возникает, когда Firebase обрабатывает источник и делает его активным на сервере.

    Управляйте расходами

    Чтобы избежать непредвиденных расходов по вашему счету, устанавливайте ежемесячные бюджеты и оповещения.

    Установите ежемесячный бюджет

    Чтобы отслеживать расходы на Cloud Firestore, создайте ежемесячный бюджет в Google Cloud Console. Бюджеты не ограничивают ваше использование, но вы можете настроить оповещения, чтобы уведомлять вас, когда вы приближаетесь к запланированным расходам на месяц или превышаете их.

    Для того, чтобы установить бюджет, перейдите на Billing раздел в Google Cloud Console и создать бюджет для вашей учетной записи Cloud Billing. Вы можете использовать настройки предупреждений по умолчанию или изменить предупреждения, чтобы отправлять уведомления с разными процентами от вашего ежемесячного бюджета.

    Подробнее о настройке бюджетов и бюджетных предупреждений .

    Установите дневной лимит расходов

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