Используйте это руководство, чтобы понять ограничения Cloud Firestore, и ознакомьтесь с ценами на Cloud Firestore , чтобы получить полное и подробное объяснение затрат на Cloud Firestore, включая то, на что следует обратить внимание.
Отслеживайте использование
Чтобы отслеживать использование Cloud Firestore, откройте вкладку «Использование Cloud Firestore» в консоли Firebase. Используйте панель управления, чтобы оценить использование за разные периоды времени.
Подробное использование в Google Cloud Console
Когда вы создаете проект Firebase, вы также создаете проект Google Cloud. Страницы Cloud Firestore API Quotas и App Engine Quotas в Google Cloud Console отслеживают использование Cloud Firestore и информацию о квотах.
Бесплатная квота
Cloud Firestore предлагает бесплатную квоту, которая позволяет вам начать работу бесплатно. Ниже перечислены бесплатные квоты. Если вам нужно больше квоты, вы должны включить выставление счетов для своего проекта Cloud Platform .
Квоты применяются ежедневно и сбрасываются около полуночи по тихоокеанскому времени.
Бесплатный уровень | квота |
---|---|
Сохраненные данные | 1 ГиБ |
Документ читает | 50 000 в день |
Документ пишет | 20 000 в день |
Документ удаляет | 20 000 в день |
Сетевой выход | 10 ГиБ в месяц |
Стандартные лимиты
В следующих таблицах показаны ограничения, применимые к Cloud Firestore. Это жесткие ограничения, если не указано иное.
Коллекции, документы и поля
Ограничение | Подробности |
---|---|
Ограничения на идентификаторы коллекций |
|
Максимальная глубина подколлекций | 100 |
Ограничения на идентификаторы документов |
|
Максимальный размер имени документа | 6 КиБ |
Максимальный размер документа | 1 МБ (1 048 576 байт) |
Ограничения на имена полей | Должны быть допустимые символы UTF-8. |
Максимальный размер имени поля | 1500 байт |
Ограничения на пути поля |
|
Максимальный размер пути к полю | 1500 байт |
Максимальный размер значения поля | 1 МБ — 89 байт (1 048 487 байт) |
Максимальная глубина полей в карте или массиве | 20 |
Записи и транзакции
В дополнение к этим ограничениям вы также должны ознакомиться с рекомендациями по проектированию с учетом масштаба .
Ограничение | Подробности |
---|---|
Максимальный размер запроса API | 10 МБ |
Максимальное количество преобразований полей, которое может быть выполнено в одном документе в операции Commit или в транзакции. | 500 |
Ограничение времени на транзакцию | 270 секунд, с 60-секундным временем простоя |
Мягкие ограничения
Cloud Firestore не мешает вам превышать указанные ниже пороговые значения, но это влияет на производительность.
Мягкий лимит | Подробности |
---|---|
Максимальная скорость записи в коллекцию, в которой документы содержат последовательные значения в индексированном поле | 500 в секунду |
Индексы
К индексам с одним полем и составным индексам применяются следующие ограничения:
Ограничение | Подробности |
---|---|
Максимальное количество составных индексов для базы данных | 200 Вы можете обратиться в службу поддержки , чтобы запросить увеличение этого лимита. |
Максимальное количество конфигураций с одним полем для базы данных | 200 Всего разрешено 200 конфигураций уровня поля. Одна конфигурация поля может содержать несколько конфигураций для одного и того же поля. Например, исключение индексации одного поля и политика TTL для одного и того же поля учитываются как одна конфигурация поля для ограничения. |
Максимальное количество записей указателя для каждого документа | 40 000 Количество элементов указателя представляет собой сумму следующих значений для документа:
Чтобы увидеть, как Cloud Firestore превращает документ и набор индексов в записи индекса, см . этот пример подсчета записей индекса . |
Максимальное количество полей в составном индексе | 100 |
Максимальный размер записи индекса | 7,5 КиБ Чтобы узнать, как Cloud Firestore вычисляет размер элемента индекса, см. Размер элемента индекса . |
Максимальная сумма размеров записей указателя документа | 8 МБ Общий размер представляет собой сумму следующих значений для документа: |
Максимальный размер значения индексированного поля | 1500 байт Значения полей более 1500 байт обрезаются. Запросы, включающие усеченные значения полей, могут возвращать противоречивые результаты. |
Срок жизни (TTL)
Ограничение | Подробности |
---|---|
Максимальное количество конфигураций с одним полем для базы данных | 200 Всего разрешено 200 конфигураций уровня поля. Одна конфигурация поля может содержать несколько конфигураций для одного и того же поля. Например, исключение индексации одного поля и политика TTL для одного и того же поля учитываются как одна конфигурация поля для ограничения. |
Вывоз ввоз
Следующие ограничения применяются к управляемым операциям импорта и экспорта :
Ограничение | Подробности |
---|---|
Максимальное общее количество запросов на экспорт и импорт для проекта, разрешенное в минуту | 20 |
Максимальное количество одновременных экспортов и импортов | 50 |
Максимальное количество фильтров ID коллекции для запросов на экспорт и импорт | 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. Вы можете использовать настройки предупреждений по умолчанию или изменить предупреждения, чтобы отправлять уведомления в разных процентах от вашего ежемесячного бюджета.
Узнайте больше о настройке бюджетов и предупреждений о бюджете .
Установить дневной лимит расходов
Чтобы ограничить использование Cloud Firestore, установите дневной лимит расходов через App Engine. App Engine позволяет установить дневной лимит расходов на ресурсы, связанные с App Engine, включая Cloud Firestore. Ограничение App Engine не распространяется на другие продукты Firebase.