Limiti di Realtime Database

Di seguito sono riportate le limitazioni relative allo spazio di archiviazione e alle operazioni dei dati in Firebase Realtime Database. Per superare uno di questi limiti, utilizza più database.

Globale

Operazione Limite Descrizione
Connessioni simultanee 200.000*

Una connessione simultanea equivale a un dispositivo mobile, una scheda del browser o un'app di server connessi al database.

Non corrisponde al numero totale di utenti della tua app, perché gli utenti non si connettono tutti contemporaneamente. Ad esempio, le app con 10 milioni di utenti attivi mensili in genere hanno meno di 200.000 connessioni simultanee. Il numero massimo di connessioni simultanee dipende dal numero totale di utenti e dal tempo medio trascorso dagli utenti nella tua app.

Tuttavia, se devi superare questo limite, prova a utilizzare più database.

*Il limite del piano Spark per le connessioni simultanee è 100.

Risposte simultanee inviate da un singolo database. ~100.000/secondo Le risposte includono operazioni di trasmissione e lettura simultanee inviate dal server da un singolo database in un determinato momento. Il limite si riferisce ai pacchetti di dati che rappresentano ogni singola operazione di lettura o trasmissione, incluse le notifiche push, inviate dal database. Queste indicazioni si riferiscono al carico sostenuto, ma il database può gestire occasionali picchi più elevati.
Numero di funzioni Cloud Functions attivate da una singola scrittura 1000 oppure, per Cloud Functions v2, 500 per regione Sebbene non sia previsto un limite al numero di operazioni di lettura o scrittura che puoi attivare da una singola funzione, una singola operazione di scrittura del database può attivare solo 1000 funzioni o 500 funzioni per regione per Cloud Functions v2.

Cloud Functions può essere attivato solo da operazioni di scrittura e ogni funzione può attivare anche altre operazioni di scrittura che attivano altre funzioni (ciascuna con il proprio limite di 1000 funzioni o 500 per regione).

Dimensione di un singolo evento attivato da una scrittura 1 MB Le dimensioni di un evento sono costituite dai seguenti valori:
  1. I dati esistenti nella posizione di scrittura.
  2. Il valore dell'aggiornamento o il delta nei dati necessario per scrivere i nuovi dati nella posizione.
Le operazioni di scrittura più grandi di 1 MB vanno a buon fine nel database, ma non attivano un'invocazione di funzione.
Trasferimento dei dati a Cloud Functions 10 MB/s in modo continuativo La frequenza con cui i dati sugli eventi possono essere inoltrati a Cloud Functions.

Struttura ad albero dei dati

Proprietà Limite Descrizione
Profondità massima dei nodi secondari 32 Ogni percorso nella struttura ad albero dei dati deve avere una profondità inferiore a 32 livelli.
Lunghezza di una chiave 768 byte Le chiavi sono codificate in UTF-8 e non possono contenere nuove righe o uno dei seguenti caratteri:
. $ # [ ] / o qualsiasi carattere di controllo ASCII (0x00 - 0x1F e 0x7F)
Dimensione massima di una stringa 10 MB I dati sono codificati in UTF-8.

Letture

Descrizione Limite Note
Dimensioni di una singola risposta pubblicata dal database 256 MB Le dimensioni dei dati scaricati dal database in un'unica posizione devono essere inferiori a 256 MB per ogni operazione di lettura.

Per eseguire un'operazione di lettura in una posizione più grande, prova una delle seguenti opzioni:

Nodi totali in un percorso con ascoltatori o query 75 milioni* Non puoi ascoltare o eseguire query su percorsi con più di 75 milioni di nodi cumulativi. Tuttavia, puoi comunque ascoltare o eseguire query sui nodi secondari. Prova a visualizzare in dettaglio il percorso o a creare ascoltatori o query distinti per parti più specifiche del percorso.

*Non puoi visualizzare percorsi con più di 30.000 nodi totali dal visualizzatore dei dati nella console Firebase.

Periodo di tempo durante il quale è possibile eseguire una singola query 15 minuti* Una singola query può essere eseguita per un massimo di 15 minuti prima di non riuscire.

*Una singola query eseguita nella console Firebase può essere eseguita solo per un massimo di 5 secondi prima di non riuscire.

Scritture

Descrizione Limite Note
Velocità di scrittura 1000 scritture/secondo Il limite di operazioni di scrittura al secondo su un singolo database. Sebbene non sia un limite rigido, se registri più di 1000 scritture al secondo, la tua attività di scrittura potrebbe essere limitata in base alla frequenza.
Dimensioni di una singola richiesta di scrittura al database 256 MB dall'API REST; 16 MB dagli SDK. I dati totali in ogni operazione di scrittura devono essere inferiori a 256 MB. Gli aggiornamenti multipath sono soggetti alla stessa limitazione di dimensioni.
Byte scritti 64 MB al minuto I byte totali scritti tramite operazioni di scrittura simultanee sul database in un determinato momento.