Используйте это руководство, чтобы понять ограничения Cloud Firestore, а также ознакомьтесь с ценами Cloud Firestore для полного и подробного объяснения затрат на Cloud Firestore, включая моменты, на которые следует обратить внимание.
Контролируйте свое использование
Чтобы отслеживать использование Cloud Firestore, откройте вкладку «Использование Cloud Firestore» в консоли Firebase. Используйте панель мониторинга, чтобы оценить свое использование в разные периоды времени.
Подробное использование в Google Cloud Console
Когда вы создаете проект Firebase, вы также создаете проект Google Cloud. Страницы «Квоты Cloud Firestore API» и «Квоты App Engine» в Google Cloud Console отслеживают использование Cloud Firestore и информацию о квотах.
Бесплатная квота
Cloud Firestore предлагает бесплатную квоту, которая позволяет вам начать работу бесплатно. Сумма бесплатной квоты указана ниже. Если вам нужно больше квоты, вам необходимо включить оплату для вашего проекта Google Cloud .
Квоты применяются ежедневно и сбрасываются около полуночи по тихоокеанскому времени.
Только база данных (default)
соответствует требованиям бесплатной квоты.
Бесплатный уровень | Квота |
---|---|
Сохраненные данные | 1 ГиБ |
Документ читается | 50 000 в день |
Документ пишет | 20 000 в день |
Удаление документа | 20 000 в день |
Выход из сети | 10 ГиБ в месяц |
Следующие операции и функции не включают бесплатное использование. Чтобы использовать эти функции, необходимо включить оплату:
- TTL удаляет
- Данные ПИТР
- Резервные данные
- Операции восстановления
Дополнительные сведения о том, как выставляются счета за эти функции, см. в разделе Цены на хранилище .
Стандартные лимиты
В следующих таблицах показаны ограничения, применимые к Cloud Firestore. Это жесткие ограничения, если не указано иное.
Базы данных
Лимит | Подробности |
---|---|
Максимальное количество баз данных на проект | 100 Вы можете обратиться в службу поддержки и запросить увеличение этого лимита. |
Коллекции, документы и поля
Лимит | Подробности |
---|---|
Ограничения на идентификаторы коллекций |
|
Максимальная глубина подколлекций | 100 |
Ограничения на идентификаторы документов |
|
Максимальный размер имени документа | 6 КиБ |
Максимальный размер документа | 1 МиБ (1 048 576 байт) |
Ограничения на имена полей | Должны быть допустимые символы UTF-8. |
Максимальный размер имени поля | 1500 байт |
Ограничения на траектории полей |
` ). Например, foo.`x&y` относится к полю x&y , вложенному в поле foo . Чтобы создать имя поля с помощью символа обратной кавычки, экранируйте символ обратной кавычки с помощью символа обратной косой черты ( \ ). Для удобства вы можете избежать имен полей в кавычках, передав путь к полю как объект FieldPath ( например, см. JavaScript FieldPath ). |
Максимальный размер пути поля | 1500 байт |
Максимальный размер значения поля | 1 МиБ — 89 байт (1 048 487 байт) |
Максимальная глубина полей на карте или массиве | 20 |
Запись и транзакции
Помимо этих ограничений, вам также следует ознакомиться с рекомендациями по масштабируемому проектированию .
Лимит | Подробности |
---|---|
Максимальный размер запроса API | 10 МБ |
Ограничение по времени на транзакцию | 270 секунд, с временем простоя 60 секунд. |
Индексы
Следующие ограничения применяются к индексам с одним полем и составным индексам :
Лимит | Подробности |
---|---|
Максимальное количество составных индексов для базы данных | 200 Вы можете обратиться в службу поддержки и запросить увеличение этого лимита. |
Максимальное количество конфигураций с одним полем для базы данных | 200 Всего разрешено 200 конфигураций на уровне поля. Одна конфигурация поля может содержать несколько конфигураций для одного и того же поля. Например, освобождение от индексации одного поля и политика TTL для одного и того же поля считаются одной конфигурацией поля в рамках ограничения. |
Максимальное количество записей указателя для каждого документа | 40 000 Количество записей индекса представляет собой сумму следующих значений для документа:
Чтобы увидеть, как Cloud Firestore превращает документ и набор индексов в записи индекса, посмотрите этот пример подсчета записей индекса . |
Максимальное количество полей в составном индексе | 100 |
Максимальный размер записи индекса | 7,5 КиБ Чтобы узнать, как Cloud Firestore вычисляет размер записи индекса, см. Размер записи индекса . |
Максимальная сумма размеров записей указателя документа | 8 МБ Общий размер представляет собой сумму следующих элементов документа: |
Максимальный размер значения индексированного поля | 1500 байт Значения полей размером более 1500 байт обрезаются. Запросы, включающие усеченные значения полей, могут возвращать противоречивые результаты. |
Время жизни (TTL)
Лимит | Подробности |
---|---|
Максимальное количество конфигураций с одним полем для базы данных | 200 Всего разрешено 200 конфигураций на уровне поля. Одна конфигурация поля может содержать несколько конфигураций для одного и того же поля. Например, освобождение от индексации одного поля и политика TTL для одного и того же поля считаются одной конфигурацией поля в рамках ограничения. |
Вывоз ввоз
К управляемым операциям импорта и экспорта применяются следующие ограничения:
Лимит | Подробности |
---|---|
Максимально допустимое общее количество запросов на экспорт и импорт для проекта в минуту. | 20 |
Максимальное количество одновременных экспорта и импорта | 50 |
Максимальное количество фильтров идентификаторов коллекций для запросов на экспорт и импорт. | 100 |
Правила безопасности
Лимит | Подробности |
---|---|
Максимальное количество exists() , get() и getAfter() на один запрос |
Превышение любого ограничения приводит к ошибке отказа в разрешении. Некоторые вызовы доступа к документу могут кэшироваться, и кэшированные вызовы не учитываются при расчете ограничений. |
Максимальная глубина вложенного match | 10 |
Максимальная длина пути в сегментах пути, разрешенная в наборе вложенных match сопоставления. | 100 |
Максимальное количество переменных захвата пути, разрешенное в наборе вложенных match сопоставления | 20 |
Максимальная глубина вызова функции | 20 |
Максимальное количество аргументов функции | 7 |
Максимальное количество привязок переменных let на функцию | 10 |
Максимальное количество рекурсивных или циклических вызовов функций | 0 (не разрешено) |
Максимальное количество выражений, оцениваемых за запрос | 1000 |
Максимальный размер набора правил | Наборы правил должны подчиняться двум ограничениям по размеру:
|
Управляйте расходами
Чтобы избежать непредвиденных расходов по вашему счету, установите ежемесячные бюджеты и оповещения.
Установите ежемесячный бюджет
Чтобы отслеживать расходы на Cloud Firestore, создайте ежемесячный бюджет в Google Cloud Console. Бюджеты не будут ограничивать ваше использование, но вы можете настроить оповещения, которые будут уведомлять вас, когда вы приближаетесь к запланированным расходам на месяц или превышаете их.
Чтобы установить бюджет, перейдите в раздел «Оплата» в Google Cloud Console и создайте бюджет для своей учетной записи Cloud Billing. Вы можете использовать настройки оповещений по умолчанию или изменить оповещения, чтобы отправлять уведомления в разных процентах от вашего ежемесячного бюджета.
Узнайте больше о настройке бюджетов и оповещений о бюджете .