Limites do Realtime Database

Veja a seguir restrições do armazenamento de dados e das operações no Firebase Realtime Database. Para escalonar além desses limites, use vários bancos de dados.

Global

Operação Limite Descrição
Conexões simultâneas 200,000*

Uma conexão simultânea é equivalente a um dispositivo móvel, uma guia do navegador ou um aplicativo de servidor conectado ao banco de dados.

Esse valor não é igual ao número total de usuários do seu app, porque eles não se conectam todos ao mesmo tempo. Por exemplo, apps com 10 milhões de usuários ativos por mês geralmente têm menos de 200.000 conexões simultâneas. O máximo de conexões simultâneas depende da contagem total de usuários e do tempo médio que eles passam no seu app.

No entanto, se você precisar escalonar além desse limite, tente usar vários bancos de dados.

*O limite do plano Spark em conexões simultâneas é de 100.

Respostas simultâneas enviadas de um único banco de dados. ~100.000/segundo As respostas incluem operações de transmissão e leitura simultâneas enviadas pelo servidor a partir de um único banco de dados em um determinado período. O limite refere-se aos pacotes de dados que representam cada operação individual de leitura ou transmissão, incluindo notificações push, enviados pelo banco de dados. Esta orientação é para carga sustentada, mas o banco de dados é capaz de processar bursts eventuais maiores.
Quantidade de funções do Cloud acionadas por uma única gravação 1.000 por região (ou 500 para o Cloud Functions v2) Não há um limite para a quantidade de operações de leitura ou gravação que você pode acionar em uma única função. Porém, uma única operação de gravação de banco de dados pode acionar somente 1.000 funções por região (ou 500 para o Cloud Functions v2).

O Cloud Functions só pode ser acionado por operações de gravação, e cada função também pode acionar mais operações de gravação que acionam mais funções (cada uma com um limite próprio de 1.000 ou 500 funções por região).

Tamanho de um único evento acionado por uma gravação 1 MB O tamanho de um evento consiste nos seguintes valores:
  1. Os dados existentes no local de gravação.
  2. O valor da atualização ou o delta nos dados necessários para gravar as novas informações no local.
É possível executar operações de gravação maiores do que 1 MB no banco de dados, mas elas não acionam a invocação de uma função.
Transferência de dados para o Cloud Functions 10 MB/segundo sustentado A taxa de dados do evento que pode ser encaminhada para o Cloud Functions.

Árvore de dados

Propriedade Limite Descrição
Profundidade máxima dos nodes secundários 32 Cada caminho da sua árvore de dados precisa ter menos de 32 níveis de profundidade.
Comprimento de uma chave 768 bytes As chaves têm codificação UTF-8 e não podem conter novas linhas nem os seguintes caracteres:
$ # [ ] / ou qualquer caractere de controle ASCII (0x00 - 0x1F e 0x7F)
Tamanho máximo de uma string 10 MB Os dados são codificados em UTF-8.

Leituras

Descrição Limite Observações
Tamanho de uma única resposta veiculada pelo banco de dados 256 MB O tamanho dos dados transferidos a partir do banco de dados em um único local deve ser inferior a 256 MB para cada operação de leitura.

Para executar uma operação de leitura em um local maior, tente uma das seguintes opções:

Total de nodes em um caminho com listeners ou consultas 75 milhões* Não é possível detectar ou consultar caminhos com mais de 75 milhões de nodes acumulados. No entanto, você ainda pode detectar ou consultar nodes secundários. Tente fazer um detalhamento mais aprofundado do caminho ou crie consultas ou listeners separados para partes mais específicas dele.

*Não é possível ver caminhos com mais de 30.000 nós no visualizador de dados do Console do Firebase.

Duração da execução de uma única consulta 15 minutos* Uma única consulta pode ser executada por até 15 minutos antes de falhar.

*Uma única consulta realizada no Console do Firebase será executada por até 5 segundos antes de falhar.

Gravações

Descrição Limite Notas
Taxa de gravação 1.000 gravações/segundo O limite de operações de gravação por segundo em um único banco de dados. Embora não seja um limite absoluto, se você sustentar mais de 1.000 gravações por segundo, sua atividade de gravação poderá ser limitada por taxa.
Tamanho de uma única solicitação de gravação no banco de dados 256 MB a partir da API REST e 16 MB dos SDKs. Os dados totais de cada operação de gravação devem ser inferiores a 256 MB. As atualizações de vários caminhos estão sujeitas à mesma limitação de tamanho.
Bytes gravados 64 MB/minuto O total de bytes gravados com as operações de gravação simultânea no banco de dados em qualquer período.