Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Utilizzo e limiti

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Usa questa guida per comprendere i limiti di Cloud Firestore e consulta i prezzi di Cloud Firestore per una spiegazione completa e dettagliata dei costi di Cloud Firestore, comprese le cose a cui prestare attenzione.

Monitora il tuo utilizzo

Per monitorare l'utilizzo di Cloud Firestore, apri la scheda Utilizzo di Cloud Firestore nella console di Firebase. Utilizza la dashboard per misurare il tuo utilizzo in diversi periodi di tempo.

Utilizzo dettagliato in Google Cloud Console

Quando crei un progetto Firebase, crei anche un progetto Google Cloud. Le pagine delle quote dell'API di Cloud Firestore e delle quote di App Engine in Google Cloud Console tengono traccia dell'utilizzo di Cloud Firestore e delle informazioni sulle quote.

Quota gratuita

Cloud Firestore offre una quota gratuita che ti consente di iniziare senza alcun costo. Gli importi delle quote gratuite sono elencati di seguito. Se hai bisogno di più quota, devi abilitare la fatturazione per il tuo progetto Cloud Platform .

Le quote vengono applicate giornalmente e reimpostate intorno alla mezzanotte, ora del Pacifico.

Livello gratuito Quota
Dati memorizzati 1 GB
Il documento legge 50.000 al giorno
Il documento scrive 20.000 al giorno
Il documento viene eliminato 20.000 al giorno
Uscita di rete 10 gib al mese

Limiti standard

Le tabelle seguenti mostrano i limiti che si applicano a Cloud Firestore. Questi sono limiti rigidi se non diversamente specificato.

Raccolte, documenti e campi

Limite Particolari
Vincoli sugli ID di raccolta
  • Devono essere caratteri UTF-8 validi
  • Non deve superare i 1.500 byte
  • Non può contenere una barra ( / )
  • Non può essere costituito esclusivamente da un unico periodo ( . ) o da doppi periodi ( .. )
  • Impossibile trovare una corrispondenza con l'espressione regolare __.*__
Profondità massima delle sottoraccolte 100
Vincoli sugli ID documento
  • Devono essere caratteri UTF-8 validi
  • Non deve superare i 1.500 byte
  • Non può contenere una barra ( / )
  • Non può essere costituito esclusivamente da un unico periodo ( . ) o da doppi periodi ( .. )
  • Impossibile trovare una corrispondenza con l'espressione regolare __.*__
  • Se importi entità Datastore in un database Firestore, gli ID entità numerici vengono visualizzati come __id[0-9]+__
Dimensione massima per un nome di documento 6 KiB
Dimensione massima per un documento 1 MiB (1.048.576 byte)
Vincoli sui nomi dei campi Devono essere caratteri UTF-8 validi
Dimensione massima di un nome di campo 1.500 byte
Vincoli sui percorsi di campo
  • Deve separare i nomi dei campi con un solo punto ( . )
  • Può essere passato come stringa quando tutti i nomi di campo nel percorso sono semplici, altrimenti deve essere passato come oggetto FieldPath ( es. JavaScript FieldPath )
Un nome di campo semplice è quello in cui sono vere tutte le seguenti condizioni:
  • Contiene solo i caratteri az , AZ , 0-9 e underscore ( _ )
  • Non inizia con 0-9
Dimensione massima di un percorso di campo 1.500 byte
Dimensione massima di un valore di campo 1 MiB - 89 byte (1.048.487 byte)
Profondità massima dei campi in una mappa o in una matrice 20

Scritture e transazioni

Limite Particolari
Dimensione massima della richiesta API 10 MB
Numero massimo di scritture che possono essere passate a un'operazione di Commit o eseguite in una transazione 500
Numero massimo di trasformazioni di campo che possono essere eseguite su un singolo documento in un'operazione di Commit o in una transazione 500
Limite di tempo per una transazione 270 secondi, con un tempo di scadenza inattivo di 60 secondi

Limiti morbidi

Cloud Firestore non ti impedisce di superare le soglie sottostanti, ma ciò influisce sulle prestazioni.

Limite morbido Particolari
Velocità massima di scrittura in una raccolta in cui i documenti contengono valori sequenziali in un campo indicizzato 500 al secondo

Indici

I seguenti limiti si applicano agli indici a campo singolo e agli indici compositi :

Limite Particolari
Numero massimo di indici compositi per un database 200
Numero massimo di configurazioni a campo singolo per un database

200

Sono consentite un totale di 200 configurazioni a livello di campo. Una configurazione di campo può contenere più configurazioni per lo stesso campo. Ad esempio, un'esenzione dall'indicizzazione a campo singolo e un criterio TTL sullo stesso campo contano come configurazione di un campo verso il limite.

Numero massimo di voci di indice per ciascun documento

40.000

Il numero di voci dell'indice è la somma di quanto segue per un documento:

  • Il numero di voci di indice a campo singolo
  • Il numero di voci dell'indice composito

Per vedere come Cloud Firestore trasforma un documento e una serie di indici in voci di indice, consulta questo esempio di conteggio delle voci di indice .

Numero massimo di campi in un indice composto 100
Dimensione massima di una voce di indice

7,5 KiB

Per vedere come Cloud Firestore calcola la dimensione della voce dell'indice, consulta la dimensione della voce dell'indice .

Somma massima delle dimensioni delle voci dell'indice di un documento

8 MiB

La dimensione totale è la somma di quanto segue per un documento:

  • La somma delle dimensioni delle voci dell'indice a campo singolo di un documento
  • La somma delle dimensioni delle voci dell'indice composito di un documento
  • Dimensione massima di un valore di campo indicizzato

    1500 byte

    I valori di campo superiori a 1500 byte vengono troncati. Le query che coinvolgono valori di campo troncati possono restituire risultati incoerenti.

    Tempo di vita (TTL)

    Limite Particolari
    Numero massimo di configurazioni a campo singolo per un database

    200

    Sono consentite un totale di 200 configurazioni a livello di campo. Una configurazione di campo può contenere più configurazioni per lo stesso campo. Ad esempio, un'esenzione dall'indicizzazione a campo singolo e un criterio TTL sullo stesso campo contano come configurazione di un campo verso il limite.

    Esportazione importazione

    I seguenti limiti si applicano alle operazioni di importazione ed esportazione gestite :

    Limite Particolari
    Numero totale massimo consentito di richieste di esportazione e importazione per un progetto al minuto 20
    Numero massimo di esportazioni e importazioni simultanee 50
    Numero massimo di filtri ID raccolta per richieste di esportazione e importazione 100

    Regole di sicurezza

    Limite Particolari
    Numero massimo di chiamate exist( exists() , get() e getAfter() per richiesta
    • 10 per le richieste di documenti singoli e le richieste di interrogazione.
    • 20 per letture, transazioni e scritture batch di più documenti. Ad ogni operazione vale anche il precedente limite di 10.

      Ad esempio, immagina di creare una richiesta di scrittura in batch con 3 operazioni di scrittura e che le regole di sicurezza utilizzino 2 chiamate di accesso ai documenti per convalidare ogni scrittura. In questo caso, ogni scrittura utilizza 2 delle sue 10 chiamate di accesso e la richiesta di scrittura in batch utilizza 6 delle sue 20 chiamate di accesso.

    Il superamento di uno dei limiti provoca un errore di autorizzazione negata.

    Alcune chiamate di accesso ai documenti potrebbero essere memorizzate nella cache e le chiamate memorizzate nella cache non vengono conteggiate ai fini dei limiti.

    Profondità massima dell'istruzione di match nidificata 10
    Lunghezza massima del percorso, in segmenti di percorso, consentita all'interno di una serie di istruzioni di match nidificate 100
    Numero massimo di variabili di acquisizione del percorso consentite all'interno di un set di istruzioni di match nidificate 20
    Profondità massima di chiamata della funzione 20
    Numero massimo di argomenti di funzione 7
    Numero massimo di associazioni let variabili per funzione 10
    Numero massimo di richiami di funzioni ricorsivi o ciclici 0 (non consentito)
    Numero massimo di espressioni valutate per richiesta 1.000
    Dimensione massima di un set di regole I set di regole devono rispettare due limiti di dimensione:
    • un limite di 256 KB per la dimensione dell'origine del testo del set di regole pubblicata dalla console Firebase o dall'interfaccia a riga di comando utilizzando firebase deploy .
    • un limite di 250 KB sulla dimensione del set di regole compilato che risulta quando Firebase elabora il sorgente e lo rende attivo sul back-end.

    Gestisci la spesa

    Per evitare addebiti imprevisti sulla bolletta, imposta budget e avvisi mensili.

    Imposta un budget mensile

    Per monitorare i costi di Cloud Firestore, crea un budget mensile in Google Cloud Console. I budget non limiteranno il tuo utilizzo, ma puoi impostare avvisi per avvisarti quando ti avvicini o superi i costi pianificati per il mese.

    Per impostare un budget, vai alla sezione Fatturazione in Google Cloud Console e crea un budget per il tuo account di fatturazione Cloud. Puoi utilizzare le impostazioni di avviso predefinite o modificare gli avvisi per inviare notifiche a diverse percentuali del budget mensile.

    Ulteriori informazioni sull'impostazione di budget e avvisi di budget .

    Imposta un limite di spesa giornaliero

    Per limitare l'utilizzo di Cloud Firestore, imposta un limite di spesa giornaliero tramite App Engine. App Engine ti consente di impostare un limite di spesa giornaliero per le risorse associate ad App Engine, incluso Cloud Firestore. Il limite di App Engine non si applica ad altri prodotti Firebase.