Ограничения Realtime Database

Ниже перечислены ограничения на хранение данных и операции в Firebase Realtime Database. Чтобы обойти эти ограничения, используйте несколько баз данных.

Все страны

Операция Ограничение Описание
Одновременные подключения 200 000*

Одновременное подключение эквивалентно одному мобильному устройству, вкладке браузера или серверному приложению, подключенному к базе данных.

Это не то же самое, что общее количество пользователей вашего приложения, поскольку не все пользователи подключаются одновременно. Например, у приложений с 10 миллионами активных пользователей в месяц обычно менее 200 000 одновременных подключений. Максимальное количество одновременных подключений зависит от общего числа пользователей и среднего времени, которое они проводят в приложении.

Если вам нужно больше, попробуйте использовать несколько баз данных.

*В тарифном плане Spark ограничение на количество одновременных подключений составляет 100.

Одновременные ответы, отправленные из одной базы данных. ~100 000 в секунду Ответы включают одновременные операции трансляции и чтения, отправленные сервером из одной базы данных в определенное время. Ограничение относится к пакетам данных, которые представляют каждую отдельную операцию чтения или трансляции, включая push-уведомления, отправленные из базы данных. Эти рекомендации предназначены для постоянной нагрузки, но база данных может справляться и с периодическими пиковыми нагрузками.
Количество функций Cloud Functions, активируемых одной записью 1000 или 500 на регион для Cloud Functions версии 2 Ограничений на количество операций чтения или записи, которые можно запустить из одной функции, нет. Однако одна операция записи в базу данных может запустить только 1000 функций или 500 функций на регион для Cloud Functions версии 2.

Cloud Functions могут запускаться только операциями записи, и каждая функция также может запускать дополнительные операции записи, которые запускают дополнительные функции (каждая со своим собственным ограничением в 1000 функций или 500 на регион).

Размер одного события, активированного записью 1 МБ Размер события состоит из следующих значений:
.
  1. Существующие данные в месте записи.
  2. Обновленное значение или разница в данных, необходимая для записи новых данных в местоположение.
Операции записи размером более 1 МБ выполняются в базе данных, но не вызывают функцию.
Передача данных в Cloud Functions 10 МБ/с (постоянная) Доля данных о событиях, которые можно передать в Cloud Functions.

Дерево данных

Ресурс Ограничение Описание
Максимальная глубина дочерних узлов 32 Каждый путь в дереве данных должен содержать менее 32 уровней.
Длина ключа 768 байт Ключи кодируются в UTF-8 и не могут содержать символы новой строки или любые из следующих символов:
. $ # [ ] / или любые управляющие символы ASCII (0x00–0x1F и 0x7F).
Максимальный размер строки 10 МБ Данные закодированы в формате UTF-8.

Чтение

Описание Ограничение Примечания
Размер одного ответа, отправленного базой данных. 256 МБ Объем данных, скачиваемых из базы данных в одном месте, должен быть меньше 256 МБ для каждой операции чтения.

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

Общее количество узлов в пути с прослушивателями или запросами 75 миллионов* Вы не можете прослушивать или запрашивать пути, содержащие более 75 миллионов узлов в совокупности. Однако вы по-прежнему можете прослушивать дочерние узлы или запрашивать их. Попробуйте углубиться в путь или создать отдельные прослушиватели или запросы для более конкретных частей пути.

*В средстве просмотра данных в виде таблицы в консоли Firebase нельзя просматривать пути,содержащие более 30 000 узлов.

Продолжительность выполнения одного запроса. 15 минут* Один запрос может выполняться до 15 минут, после чего регистрируется ошибка.

*Один запрос, выполненный в консоли Firebase, может выполняться не более 5 секунд, после чего он завершается ошибкой.

Запись

Описание Ограничение Примечания
Частота записи 1000 операций записи в секунду Ограничение на количество операций записи в секунду в одной базе данных. Это не жесткое ограничение, но если вы будете выполнять более 1000 операций записи в секунду, то частота записи может быть ограничена.
Размер одного запроса на запись в базу данных. 256 МБ для REST API; 16 МБ для SDK. Общий объем данных в каждой операции записи не должен превышать 256 МБ. Для обновлений с несколькими путями действует то же ограничение по размеру.
Записано байтов 64 МБ/мин. Общее количество байтов, записанных в базу данных в результате одновременных операций записи в любой момент времени.