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

Ниже приведены ограничения на хранение данных и операции в базе данных 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 МБ/сек устойчиво Скорость данных о событиях, которые могут быть перенаправлены в облачные функции.

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

Свойство Лимит Описание
Максимальная глубина дочерних узлов 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 МБ/мин. Общее количество байтов, записанных в результате одновременных операций записи в базу данных в любой момент времени.