Ограничения базы данных в реальном времени

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

Глобальный

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

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

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

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

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

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

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

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

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

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

Читает

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

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

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

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

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

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

Пишет

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