Utilizza questa guida per comprendere i limiti Cloud Firestore, e consulta la pagina Prezzi Cloud Firestore per una spiegazione completa e dettagliata dei costi Cloud Firestore, inclusi gli aspetti a cui prestare attenzione.
Monitorare l'utilizzo
Per monitorare l'utilizzo di Cloud Firestore, apri la scheda Cloud Firestore Utilizzo nella console Firebase. Utilizza la dashboard per valutare l'utilizzo in diversi periodi di tempo.
Utilizzo dettagliato nella console Google Cloud
Quando crei un progetto Firebase, crei anche un progetto Google Cloud. Le Cloud Firestore Quote API e App Engine Quote pagine nella console Google Cloud tengono traccia delle informazioni sull'utilizzo e sulla quota .Cloud Firestore
Quota senza costi
Cloud Firestore offre una quota senza costi che ti consente di iniziare senza alcun costo. Se hai bisogno di più quota, devi abilitare la fatturazione per il tuo Google Cloud progetto.
Le quote sono applicate giornalmente e reimpostate alla mezzanotte del fuso orario del Pacifico.
La tabella seguente riassume gli importi della quota senza costi:
| Livello senza costi | Quota |
|---|---|
| Dati archiviati | 1 GiB |
| Operazioni di lettura documenti | 50.000 al giorno |
| Operazioni di scrittura documenti | 20.000 al giorno |
| Operazioni di eliminazione documenti | 20.000 al giorno |
| Trasferimento di dati in uscita | 10 GiB al mese |
Le seguenti operazioni e funzionalità non includono l'utilizzo senza costi. Devi abilitare la fatturazione per utilizzare queste funzionalità:
- Eliminazioni TTL
- Dati PITR
- Esegui il backup dei dati
- Operazioni di ripristino
- Operazioni di clonazione
Per ulteriori informazioni su come vengono fatturate queste funzionalità, consulta la pagina Prezzi di archiviazione.
Limiti standard
Le tabelle seguenti mostrano i limiti applicabili a Cloud Firestore. Salvo diversa indicazione, si tratta di limiti rigidi.
Database
| Limite | Dettagli |
|---|---|
| Numero massimo di database per progetto |
100 Puoi contattare l'assistenza per richiedere un aumento di questo limite. |
| Numero massimo di database con chiavi di crittografia gestite dal cliente (CMEK) per progetto |
0 Per impostazione predefinita, la quota è 0 perché questa funzionalità è soggetta a una lista consentita. Puoi richiedere di aumentare la quota compilando il modulo di richiesta di accesso CMEK. |
Raccolte, documenti e campi
| Limite | Dettagli |
|---|---|
| Vincoli degli ID raccolta |
|
| Profondità massima delle sottoraccolte | 100 |
| Vincoli degli ID documento |
|
| Dimensione massima del nome di un documento | 6 KiB |
| Dimensione massima di un documento | 1 MiB (1.048.576 byte) |
| Vincoli dei nomi dei campi |
|
| Dimensione massima del nome di un campo | 1500 byte |
| Vincoli dei percorsi dei campi |
`). Ad esempio, foo.`x&y` si riferisce al campo x&y nidificato nel campo foo. Per creare un nome di campo con il carattere di apice inverso, inserisci il carattere di apice inverso con il carattere barra rovesciata (\). Per comodità, puoi evitare i nomi dei campi tra virgolette passando il percorso del campo come oggetto FieldPath (ad esempio, vedi FieldPath JavaScript).
|
| Dimensione massima di un percorso di campo | 1500 byte |
| Dimensione massima di un valore di campo | 1 MiB-89 byte (1.048.487 byte) |
| Profondità massima dei campi in una mappa o un array | 20 I campi mappa e array aggiungono un livello alla profondità complessiva di un oggetto. Ad esempio, l'oggetto seguente ha una profondità totale di tre livelli: |
Operazioni di scrittura e transazioni
Oltre a questi limiti, dovresti consultare anche le best practice per la progettazione per la scalabilità.
| Limite | Dettagli |
|---|---|
| Dimensione massima della richiesta API | 10 MiB |
| Limite di tempo per una transazione | 270 secondi, con un periodo di scadenza di inattività di 60 secondi |
Numero massimo di trasformazioni di campo che possono essere eseguite su un
singolo documento in un'Commit operazione o in una
transazione |
500 |
Indici
I seguenti limiti sono applicabili agli indici a campo singolo e agli indici composti:
| Limite | Dettagli |
|---|---|
| Numero massimo di indici composti per un database |
|
| Numero massimo di configurazioni a campo singolo per un database |
Una configurazione a livello di campo può contenere più configurazioni per lo stesso campo. Ad esempio, un'esenzione dall'indicizzazione a campo singolo e una policy TTL sullo stesso campo vengono conteggiate come una configurazione di campo ai fini del limite. |
|
Numero massimo di voci di indice per ogni documento |
40.000 Il numero di voci di indice corrisponde alla somma di quanto segue per un documento:
Per scoprire in che modo Cloud Firestore trasforma un documento e una serie di indici in voci di indice, vedi questo esempio di conteggio di voci di indice. |
| Numero massimo di campi in un indice composto | 100 |
| Dimensione massima di una voce di indice |
7,5 KiB Per scoprire in che modo Cloud Firestore calcola la dimensione di una voce di indice, vai alla pagina Dimensioni delle voci di indice. |
| Somma massima delle dimensioni delle voci di indice di un documento |
8 MiB La dimensione totale corrisponde alla somma di quanto segue per 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 includono valori di campo troncati possono restituire risultati incoerenti. |
Durata (TTL)
| Limite | Dettagli |
|---|---|
| Numero massimo di configurazioni a campo singolo per un database |
Una configurazione a livello di campo può contenere più configurazioni per lo stesso campo. Ad esempio, un'esenzione dall'indicizzazione a campo singolo e una policy TTL sullo stesso campo vengono conteggiate come una configurazione di campo ai fini del limite. |
Esportazione/importazione
Per le operazioni di importazione ed esportazione gestite si applicano i limiti seguenti:
| Limite | Dettagli |
|---|---|
| Numero massimo totale di richieste di esportazione e importazione consentite al minuto per un progetto | 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 | Dettagli |
|---|---|
Numero massimo di chiamate exists(), get() e getAfter() per richiesta |
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 nella cache non vengono considerate ai fini dei limiti. |
Profondità massima delle istruzioni match nidificate |
10 |
Lunghezza massima del percorso, in segmenti di percorso, consentita all'interno di un set di istruzioni match nidificate |
100 |
Numero massimo di variabili di acquisizione percorso consentite all'interno di un set di istruzioni match nidificate |
20 |
| Profondità massima delle chiamate funzione | 20 |
| Numero massimo di argomenti di funzione | 7 |
Numero massimo di associazioni di variabili let per funzione |
10 |
| Numero massimo di chiamate di funzione ricorsive o cicliche | 0 (non consentite) |
| Numero massimo di espressioni valutate per richiesta | 1000 |
| Dimensione massima di un set di regole | I set di regole devono rispettare due limiti di dimensione:
|
Gestire le spese
Per evitare addebiti imprevisti in fattura, imposta budget mensili e avvisi.
Impostare un budget mensile
Per monitorare i costi di Cloud Firestore, crea un budget mensile nella Google Cloud console. I budget non limitano l'utilizzo, ma puoi impostare avvisi per ricevere una notifica quando ti avvicini o superi i costi pianificati per il mese.
Per impostare un budget, vai alla sezione Fatturazione nella console Google Cloude 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 budget mensile.
Scopri di più su come impostare budget e avvisi relativi al budget.