Questa pagina descrive le dimensioni di archiviazione di entità, chiavi, proprietà e voci di indice in Firestore in modalità Datastore. Per informazioni sui costi di questo stoccaggio, consulta Prezzi della modalità Datastore.
Dimensioni stringa
Le dimensioni delle stringhe vengono calcolate come il numero di byte codificati UTF-8 + 1.
I seguenti elementi vengono memorizzati come stringhe:
- Chiavi
- Nomi dei tipi
- Nomi dello spazio dei nomi (lo spazio dei nomi predefinito ha dimensione 0)
- Nomi delle proprietà
- Valori delle proprietà stringa
Ad esempio:
- Il nome del tipo
Task
utilizza 4 byte + 1 byte, per un totale di 5 byte. - Il nome della proprietà
description
utilizza 11 byte + 1 byte, per un totale di 12 byte. - Il nome dello spazio dei nomi
my_name_space
utilizza 13 byte + 1 byte, per un totale di 14 byte.
Dimensioni della chiave
La dimensione di una chiave è la somma di
- La dimensione della stringa dello spazio dei nomi (se non nello spazio dei nomi predefinito)
- La dimensione della stringa del percorso completo della chiave (gli ID interi sono ciascuno di 8 byte)
- 16 byte
Per una chiave di tipo Task
nello spazio dei nomi predefinito con un ID numerico e nessun antecessore:
Task id:5730082031140864
La dimensione della chiave è 5 + 8 + 16 = 29 byte:
- 5 byte per il nome del tipo
Task
- 8 byte per l'ID numerico
- 16 byte per una chiave
Per una chiave di tipo Task
nello spazio dei nomi predefinito con un ID stringa e nessun antecessore:
Task name:my_task_id
La dimensione della chiave è 5 + 11 + 16 = 32 byte:
- 5 byte per il nome del tipo
Task
- 11 byte per l'ID stringa
my_task_id
- 16 byte per una chiave
Per un'entità Task
con un'entità TaskList
nel contesto dello spazio dei nomi predefinito:
TaskList id:5654313976201216 > Task id:5629499534213120
L'antenato utilizza 9 + 8 = 17 byte:
- 9 byte per il nome del tipo
TaskList
- 8 byte per l'ID numerico
Pertanto, le dimensioni della chiave di un'entità Task
con un'antenata TaskList
utilizzano 17 + 5 + 8
+ 16 = 46 byte:
- 17 byte per l'antenato
- 5 byte per il nome del tipo
Task
- 8 byte per l'ID numerico
- 16 byte per una chiave
Se questa entità si trova nello spazio dei nomi my_name_space
, la dimensione della chiave è 14 + 46 = 60
byte, perché il nome my_name_space
utilizza 14 byte.
Dimensioni della proprietà
Le dimensioni di una proprietà sono la somma di
- La dimensione della stringa del nome della proprietà
- La dimensione del valore della proprietà
Di seguito sono riportate le dimensioni dei valori delle proprietà in base al tipo.
Tipo | Dimensioni |
---|---|
Array | la somma delle dimensioni dei relativi valori |
Blob | Lunghezza in byte |
Booleano | 1 byte |
Doppio | 8 byte |
Entità incorporata | la dimensione dell'entità |
Punto geografico | 16 byte |
Numero intero | 8 byte |
Chiave | la dimensione della chiave |
Null | 1 byte |
Stringa | numero di byte codificati in UTF-8 + 1 |
Timestamp | 8 byte |
Ad esempio, una proprietà denominata done
di tipo Booleano utilizzerà 6 byte:
- 5 byte per il nome della proprietà
done
- 1 byte per il valore booleano
Dimensioni dell'entità
La dimensione di un'entità è la somma di
- La dimensione della chiave
- La somma delle dimensioni delle proprietà
- 32 byte
Questo esempio riguarda un'entità di tipo Task
nello spazio dei nomi predefinito con un ID numerico e nessun antenato:
Task id:5730082031140864 - "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Google Cloud Datastore"
Le dimensioni totali delle proprietà sono 78 byte:
Nome e valore della proprietà | Dimensioni della proprietà in byte |
---|---|
"type": "Personal" |
14 5 per il nome della proprietà + 9 per il valore stringa della proprietà |
"done": false |
6 5 per il nome della proprietà + 1 per il valore booleano della proprietà |
"priority": 1 |
17 9 per il nome della proprietà + 8 per il valore intero della proprietà |
"description": "Learn Google Cloud Datastore" |
41 12 per il nome della proprietà + 29 per il valore stringa della proprietà |
Pertanto, le dimensioni dell'entità sono 29 + 78 + 32 = 139 byte:
- 29 byte per la chiave
- 78 byte per le proprietà
- 32 byte per un'entità
Dimensioni della voce dell'indice
La dimensione di una voce di indice viene calcolata come segue per gli indici integrati e composti.
Indici integrati
La dimensione di una voce di indice incorporata è la somma di:
- La dimensione della chiave dell'entità indicizzata
- La somma dei nomi delle proprietà indicizzate
- La somma dei valori delle proprietà indicizzati
- La dimensione del nome del tipo di entità indicizzato
- 32 byte
Ad esempio, prendi un'entità di tipo Task
nello spazio dei nomi predefinito con un ID numerico e nessun antenato:
Task id:5730082031140864 - "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Google Cloud Datastore"
Se done
è una proprietà indicizzata, la voce dell'indice integrato per l'indice della singola proprietà done
è composta dalla chiave, dal nome e dal valore della proprietà done
, dal nome del tipo Task
e da 32 byte per una voce dell'indice. La dimensione totale di questa voce di indice è 72 byte:
- 29 per la chiave
- 6 per il nome e il valore booleano della proprietà
done
- 5 per il nome del tipo
Task
- 32 per una voce di indice
Per impostazione predefinita, i database in modalità Datastore predefiniscono automaticamente due indici di proprietà singole per ogni proprietà di ogni tipo di entità, uno in ordine crescente e uno in ordine decrescente. Pertanto, questa entità avrà una voce dell'indice di dimensioni pari a 72 byte nell'indice done
di proprietà singola in ordine crescente e una voce dell'indice di dimensioni pari a 72 byte nell'indice done
di proprietà singola in ordine decrescente.
Indici composti
La dimensione di una voce dell'indice composto è la somma di:
- La dimensione della chiave dell'entità indicizzata
- La somma dei valori delle proprietà indicizzati
- 32 byte
Ad esempio, prendi un'entità di tipo Task
nello spazio dei nomi predefinito con un ID numerico e nessun antenato:
indexes: - kind: Task properties: - name: done direction: asc - name: priority direction: asc
Considera un indice composto che utilizza le proprietà done
e
priority
(entrambe in ordine crescente):
La dimensione totale della voce dell'indice in questo indice è di 70 byte:
- 29 per la chiave
- 1 per il valore booleano della proprietà
done
- 8 per il valore intero della proprietà
priority
- 32 per una voce di indice
Se non vuoi che Firestore in modalità Datastore mantenga un indice per una proprietà, escludi la proprietà dagli indici. Tieni presente che l'esclusione di una proprietà comporta la sua rimozione da tutti gli indici composti.
Passaggi successivi
- Scopri di più sui prezzi della modalità Datastore.
- Scopri di più sugli indici in modalità Datastore.