了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Utilizzo e limiti

Utilizza 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, inclusi gli aspetti 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 valutare 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 Cloud Firestore API Quotas e App Engine Quotas in Google Cloud Console monitorano l'utilizzo di Cloud Firestore e le 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 una quota maggiore, devi abilitare la fatturazione per il tuo progetto Cloud Platform .

Le quote vengono applicate quotidianamente e reimpostate intorno alla mezzanotte del fuso orario del Pacifico.

Livello gratuito Quota
Dati memorizzati 1 GB
Il documento legge 50.000 al giorno
Il documento scrive 20.000 al giorno
Documento eliminato 20.000 al giorno
Uscita dalla rete 10 Giga al mese

Limiti standard

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

Raccolte, documenti e campi

Limite Dettagli
Vincoli sugli ID 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 singolo punto ( . ) o da doppi punti ( .. )
  • 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 singolo punto ( . ) o da doppi punti ( .. )
  • Impossibile trovare una corrispondenza con l'espressione regolare __.*__
  • Se importi entità Datastore in un database Firestore, gli ID entità numerici vengono esposti 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 del campo
  • Devi 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 di campi in una mappa o in un array 20

Scritture e transazioni

Oltre a questi limiti, dovresti anche vedere le best practice per la progettazione in scala .

Limite Dettagli
Dimensione massima della richiesta API 10 MB
Numero massimo di trasformazioni di campo che possono essere eseguite su un singolo documento in un'operazione 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 Dettagli
Velocità di scrittura massima 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 Dettagli
Numero massimo di indici compositi per un database

200

Puoi contattare l'assistenza per richiedere un aumento di questo limite.

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 per l'indicizzazione di un campo singolo e un criterio TTL sullo stesso campo vengono conteggiati come configurazione di un campo ai fini del limite.

Numero massimo di voci di indice per ogni documento

40.000

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

  • Il numero di voci di indice a campo singolo
  • Il numero di voci di 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 in che modo Cloud Firestore calcola la dimensione della voce di indice, consulta la dimensione della voce di indice .

Somma massima delle dimensioni delle voci di indice di un documento

8 MB

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

  • La somma delle dimensioni delle voci di indice a campo singolo di un documento
  • La somma delle dimensioni delle voci di 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 Dettagli
    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 per l'indicizzazione di un campo singolo e un criterio TTL sullo stesso campo vengono conteggiati come configurazione di un campo ai fini del limite.

    Esportazione importazione

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

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

    Regole di sicurezza

    Limite Dettagli
    Numero massimo di chiamate exists() , get() e getAfter() per richiesta
    • 10 per richieste di documenti singoli e richieste di query.
    • 20 per letture multi-documento, transazioni e scritture in batch. Per 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 tue 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 comporta un errore di autorizzazione negata.

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

    Profondità massima dell'istruzione match nidificata 10
    Lunghezza massima del percorso, in segmenti di percorso, consentita all'interno di una serie di istruzioni match nidificate 100
    Numero massimo di variabili di acquisizione del percorso consentite all'interno di una serie di istruzioni match nidificate 20
    Profondità massima di chiamata di funzione 20
    Numero massimo di argomenti della funzione 7
    Numero massimo di associazioni di variabili let per funzione 10
    Numero massimo di chiamate di funzioni ricorsive o cicliche 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 sulla dimensione dell'origine di testo del set di regole pubblicata dalla console Firebase o dalla CLI utilizzando firebase deploy .
    • un limite di 250 KB sulla dimensione del set di regole compilato che risulta quando Firebase elabora la sorgente e la rende attiva 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 Cloud Billing. Puoi utilizzare le impostazioni di avviso predefinite o modificare gli avvisi per inviare notifiche a diverse percentuali del tuo budget mensile.

    Ulteriori informazioni sull'impostazione dei budget e degli avvisi sui 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.