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

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

Глобальный

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

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

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

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

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

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

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