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

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

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

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

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

Пишет

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