Calcoli dello spazio di archiviazione

Questa pagina descrive le dimensioni di archiviazione di documenti, nomi di documenti, campi e voci di indice in Firestore.

Per informazioni sui costi di archiviazione, vedi Prezzi di Firestore.

Dimensione stringa

Le dimensioni delle stringhe vengono calcolate come il numero di byte codificati in UTF-8 + 1.

Le seguenti stringhe vengono memorizzate come stringhe:

  • ID raccolta
  • ID documento stringa
  • Nomi dei documenti
  • Nomi dei campi
  • Valori dei campi stringa

Ad esempio:

  • L'ID raccolta tasks usa 5 byte + 1 byte, per un totale di 6 byte.
  • Il nome del campo description utilizza 11 byte + 1 byte, per un totale di 12 byte.

Dimensioni ID documento

La dimensione di un ID documento corrisponde alla dimensione stringa per un ID stringa o a 8 byte per un ID intero.

Dimensione nome documento

La dimensione del nome di un documento è la somma di:

  • Le dimensioni di ogni ID raccolta e ID documento nel percorso del documento
  • 16 byte aggiuntivi

Per un documento nella raccolta secondaria users/jeff/tasks con ID documento stringa my_task_id, la dimensione del nome del documento è 6 + 5 + 6 + 11 + 16 = 44 byte:

  • 6 byte per l'ID raccolta users
  • 5 byte per l'ID documento jeff
  • 6 byte per l'ID raccolta tasks
  • 11 byte per l'ID documento my_task_id
  • 16 byte aggiuntivi

Dimensione valore campo

La tabella di seguito mostra le dimensioni dei valori dei campi per tipo.

Tipo Dimensioni
Array La somma delle dimensioni dei suoi valori
Booleano 1 byte
Byte Lunghezza byte
Data e ora 8 byte
Numero con virgola mobile 8 byte
Punto geografico 16 byte
Numero intero 8 byte
Mappa Le dimensioni della mappa, calcolate come le dimensioni del documento.
Null 1 byte
Riferimento Le dimensioni del nome del documento.
Stringa di testo Numero di byte con codifica UTF-8 + 1

Ad esempio, un campo booleano denominato done utilizzerà 6 byte:

  • 5 byte per il nome del campo done
  • 1 byte per il valore booleano

Dimensioni del documento

La dimensione di un documento è la somma di:

Questo esempio si riferisce a un documento nella raccolta secondaria users/jeff/tasks con ID documento stringa my_task_id:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

La dimensione totale dei campi è di 71 byte:

Nome e valore del campo Dimensione campo in byte
"type": "Personal" 14
5 per il nome del campo + 9 per il valore della stringa del campo
"done": false 6
5 per il nome del campo + 1 per il valore booleano del campo
"priority": 1 17
9 per il nome del campo + 8 per il valore intero del campo
"description": "Learn Cloud Firestore" 34
12 per il nome del campo + 22 per il valore stringa del campo

Quindi la dimensione del documento è 44 + 71 + 32 = 147 byte:

  • 44 byte per il nome del documento
  • 71 byte per i campi
  • 32 byte aggiuntivi

Dimensioni voce di indice

Le dimensioni delle voci di indice vengono calcolate come segue per gli indici a campo singolo e composti.

Dimensione voce indice a campo singolo

La dimensione di una voce di indice a campo singolo dipende dal fatto che l'ambito di un indice sia una raccolta o un gruppo di raccolte.

Ambito della raccolta

La dimensione di una voce in un indice a campo singolo con ambito di raccolta è la somma di:

Considera un documento nella raccolta secondaria users/jeff/tasks con un ID documento stringa di my_task_id:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Per un indice a campo singolo con ambito di raccolta che indicizza il campo done, la dimensione totale della voce in questo indice è di 109 byte:

  • 44 byte per il nome del documento users/jeff/tasks/my_task_id
  • 27 byte per il nome del documento del documento principale users/jeff
  • 5 byte per il nome del campo done
  • 1 byte per il valore del campo booleano
  • 32 byte aggiuntivi

Ambito del gruppo di raccolte

La dimensione di una voce in un indice a campo singolo con ambito del gruppo di raccolte è la somma di:

Considera un documento nella raccolta secondaria users/jeff/tasks con un ID documento stringa di my_task_id:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Per un indice a campo singolo con ambito del gruppo di raccolte che indicizza il campo done, la dimensione totale della voce in questo indice è di 98 byte:

  • 44 byte per il nome del documento users/jeff/tasks/my_task_id
  • 5 byte per il nome del campo done
  • 1 byte per il valore del campo booleano
  • 48 byte aggiuntivi

Dimensione delle voci di indice composto

La dimensione di una voce in un indice composto dipende dall'ambito dell'indice, che può essere una raccolta o un gruppo di raccolte.

Ambito della raccolta

La dimensione di una voce di indice in un indice composto con ambito di raccolta è la somma di:

Considera un documento nella raccolta secondaria users/jeff/tasks con un ID documento stringa di my_task_id:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Per un indice composto con ambito di raccolta che indicizza i campi done e priority (entrambi in ordine crescente), la dimensione totale della voce in questo indice è di 112 byte:

  • 44 byte per il nome del documento users/jeff/tasks/my_task_id
  • 27 byte per il nome del documento del documento principale users/jeff
  • 1 byte per il valore del campo booleano
  • 8 byte per il valore del campo intero
  • 32 byte aggiuntivi

Ambito del gruppo di raccolte

La dimensione di una voce di indice in un indice composto con ambito a livello di gruppo di raccolte è la somma di:

Considera un documento nella raccolta secondaria users/jeff/tasks con un ID documento stringa di my_task_id:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Per un indice composto con ambito del gruppo di raccolte che indicizza i campi done e priority (entrambi in ordine crescente), la dimensione totale della voce di indice in questo indice è di 85 byte:

  • 44 byte per il nome del documento users/jeff/tasks/my_task_id
  • 1 byte per il valore del campo booleano
  • 8 byte per il valore del campo intero
  • 32 byte aggiuntivi

Passaggi successivi

Scopri di più sui prezzi di Firestore.