Questa pagina descrive le dimensioni di archiviazione di documenti, campi e voci di indice in Cloud Firestore.
Puoi scoprire i costi di questo spazio di archiviazione nella pagina Prezzi.
Dimensioni della stringa
Le dimensioni delle stringhe vengono calcolate come il numero di byte codificati in UTF-8 + 1.
Di seguito sono riportati gli elementi archiviati come stringhe:
- Nome raccolta
- Nomi dei campi
- Valori dei campi stringa (incluso
_id)
Ad esempio:
- Il nome della raccolta
tasksutilizza 5 byte + 1 byte, per un totale di 6 byte. - Il nome del campo
descriptionutilizza 11 byte + 1 byte, per un totale di 12 byte.
Dimensioni del valore del campo
La tabella seguente mostra le dimensioni dei valori dei campi per tipo.
| Tipo | Dimensioni |
|---|---|
| Array | La somma delle dimensioni dei relativi valori |
| Booleano | 1 byte |
| Dati binari | Lunghezza in byte + 1 per un sottotipo non generico (non 0) |
| Data | 8 byte |
| Doppio | 8 byte |
| Double128 | 16 byte |
| Numero intero a 32 bit | 4 byte |
| Numero intero a 64 bit (long) | 8 byte |
| Oggetto | La somma delle dimensioni delle stringhe di ogni nome di campo e delle dimensioni di ogni valore di campo nell'oggetto incorporato |
| Chiave minima | 1 byte |
| Chiave massima | 1 byte |
| Null | 1 byte |
| Espressione regolare | (Lunghezza del pattern + 1) + (Lunghezza delle opzioni + 1) |
| Timestamp | 8 byte |
| Stringa | Numero di byte codificati in UTF-8 + 1 |
Ad esempio, un campo booleano denominato done utilizzerebbe 6 byte:
- 5 byte per il nome del campo
done - 1 byte per il valore booleano del campo
Dimensioni del documento
Le dimensioni di un documento sono la somma di:
- Le dimensioni della stringa del nome della raccolta
- La somma delle dimensioni della stringa di ogni nome di campo (tranne
_id) - La somma delle dimensioni di ogni valore di campo (incluso
_id) - 48 byte aggiuntivi
Questo esempio si riferisce a un documento nella raccolta tasks:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
Le dimensioni totali dei campi sono 78 byte:
| Nome e valore del campo | Dimensioni del campo in byte |
|---|---|
"_id": "my_task_id" |
11 per il valore stringa del campo |
"type": "Personal" |
14 5 per il nome del campo + 9 per il valore 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 + 4 per il valore intero a 32 bit del campo |
"description": "Learn Cloud Firestore" |
34 12 per il nome del campo + 22 per il valore stringa del campo |
Pertanto, le dimensioni del documento sono 6 + 78 + 48 = 132 byte:
- 6 per il nome della raccolta
- 78 byte per i campi
- 48 byte aggiuntivi
Dimensioni della voce di indice
Le dimensioni di una voce di indice in un indice sono la somma di:
- Le dimensioni della stringa del nome della raccolta
- Le dimensioni del valore del campo
_id - La somma dei valori dei campi indicizzati
- 48 byte aggiuntivi
Considera un documento nella tasks raccolta:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
Per un indice sui campi done e
priority (entrambi in ordine crescente), le dimensioni totali della voce di indice in questo
indice sono 70 byte:
- 6 byte per il nome della raccolta
tasks - 11 byte per il valore del campo
_id - 1 byte per il valore del campo booleano
- 4 byte per il valore del campo intero a 32 bit
- 48 byte aggiuntivi
Per gli indici sparsi, se un documento non include nessuno dei campi,
non viene creata alcuna voce di indice. Se un documento contiene almeno uno dei
campi indicizzati, viene creata una voce di indice con i campi indicizzati mancanti
impostati su NULL.
Passaggi successivi
Scopri di più sui prezzi.