Cette page décrit la taille de stockage des documents, les noms de documents, les champs et les entrées d'index dans Cloud Firestore.
Vous pouvez en savoir plus sur les coûts de ce stockage sur Tarification Cloud Firestore .Taille de chaîne
Les tailles de chaîne sont calculées comme le nombre d'octets encodés en UTF-8 + 1.
Les éléments suivants sont stockés sous forme de chaînes :
- ID de collecte
- ID de document de chaîne
- Noms de documents
- Noms de champs
- Valeurs de champ de chaîne
Par exemple:
- Les
tasks
d'identification de collection utilisent 5 octets + 1 octet, pour un total de 6 octets. - La
description
du nom de champ utilise 11 octets + 1 octet, pour un total de 12 octets.
Taille de l'identifiant du document
La taille d'un ID de document est soit la taille de chaîne pour un ID de chaîne, soit 8 octets pour un ID entier.
Taille du nom du document
La taille d'un nom de document est la somme de :
- La taille de chaque ID de collection et ID de document dans le chemin d'accès au document
- 16 octets supplémentaires
Pour un document dans la sous-collection users/jeff/tasks
avec un ID de document de chaîne my_task_id
, la taille du nom de document est de 6 + 5 + 6 + 11 + 16 = 44 octets :
- 6 octets pour l'ID de collection
users
- 5 octets pour l'ID du document
jeff
- 6 octets pour l'ID de collection
tasks
- 11 octets pour l'ID de document
my_task_id
- 16 octets supplémentaires
Taille de la valeur du champ
Le tableau suivant indique la taille des valeurs de champ par type.
Taper | Taille |
---|---|
Déployer | La somme des tailles de ses valeurs |
booléen | 1 octet |
Octets | Longueur en octets |
Date et l'heure | 8 octets |
Nombre à virgule flottante | 8 octets |
Point géographique | 16 octets |
Entier | 8 octets |
Carte | La taille de la carte, calculée de la même manière que la taille du document |
Nul | 1 octet |
Référence | La taille du nom du document |
Chaîne de texte | Nombre d'octets encodés en UTF-8 + 1 |
Par exemple, un champ booléen nommé done
utiliserait 6 octets :
- 5 octets pour le nom du champ
done
- 1 octet pour la valeur booléenne
Taille des documents
La taille d'un document est la somme de :
- La taille du nom du document
- La somme de la taille de la chaîne de chaque nom de champ
- La somme de la taille de chaque valeur de champ
- 32 octets supplémentaires
Cet exemple concerne un document dans la sous-collection users/jeff/tasks
avec un ID de document de chaîne my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
La taille totale des champs est de 71 octets :
Nom et valeur du champ | Taille du champ en octets |
---|---|
"type": "Personal" | 14 5 pour le nom du champ + 9 pour la valeur de chaîne du champ |
"done": false | 6 5 pour le nom du champ + 1 pour la valeur booléenne du champ |
"priority": 1 | 17 9 pour le nom du champ + 8 pour la valeur entière du champ |
"description": "Learn Cloud Firestore" | 34 12 pour le nom du champ + 22 pour la valeur de chaîne du champ |
La taille du document est donc de 44 + 71 + 32 = 147 octets :
- 44 octets pour le nom du document
- 71 octets pour les champs
- 32 octets supplémentaires
Taille d'entrée d'index
Les tailles d'entrée d'index sont calculées comme suit pour les index à champ unique et composites.
Taille d'entrée d'index à champ unique
La taille d'une entrée d'index à champ unique varie selon que l'index est limité à une collection ou à un groupe de collections.
Périmètre de collecte
La taille d'une entrée dans un index à champ unique avec une portée de collection est la somme de :
- La taille du nom de document du document indexé
- La taille du nom de document du document parent du document indexé
- La taille de la chaîne du nom du champ indexé
- La taille de la valeur du champ indexé
- 32 octets supplémentaires
Considérez un document dans la sous-collection users/jeff/tasks
avec un ID de document de chaîne my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Pour un index à champ unique avec une portée de collection qui indexe le champ done
, la taille totale de l'entrée dans cet index est de 109 octets :
- 44 octets pour le nom du document
users/jeff/tasks/my_task_id
- 27 octets pour le nom du document parent
users/jeff
- 5 octets pour le nom du champ
done
- 1 octet pour la valeur du champ booléen
- 32 octets supplémentaires
Étendue du groupe de collecte
La taille d'une entrée dans un index à champ unique avec une portée de groupe de collections est la somme de :
- La taille du nom de document du document indexé
- La taille de la chaîne du nom du champ indexé
- La taille de la valeur du champ indexé
- 48 octets supplémentaires
Considérez un document dans la sous-collection users/jeff/tasks
avec un ID de document de chaîne my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Pour un index à champ unique avec une portée de groupe de collecte qui indexe le champ done
, la taille totale de l'entrée dans cet index est de 98 octets :
- 44 octets pour le nom du document
users/jeff/tasks/my_task_id
- 5 octets pour le nom du champ
done
- 1 octet pour la valeur du champ booléen
- 48 octets supplémentaires
Taille d'entrée de l'index composite
La taille d'une entrée dans un index composite varie selon que l'index est limité à une collection ou à un groupe de collections.
Périmètre de collecte
La taille d'une entrée d'index dans un index composite avec une portée de collection est la somme de :
- La taille du nom de document du document indexé
- La taille du nom de document du document parent du document indexé
- La somme des valeurs des champs indexés
- 32 octets supplémentaires
Considérez un document dans la sous-collection users/jeff/tasks
avec un ID de document de chaîne my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Pour un index composite avec une portée de collection qui indexe les champs done
et priority
(tous deux croissants), la taille totale de l'entrée dans cet index est de 112 octets :
- 44 octets pour le nom du document
users/jeff/tasks/my_task_id
- 27 octets pour le nom du document parent
users/jeff
- 1 octet pour la valeur du champ booléen
- 8 octets pour la valeur du champ entier
- 32 octets supplémentaires
Étendue du groupe de collecte
La taille d'une entrée d'index dans un index composite avec une étendue de groupe de collections est la somme de :
- La taille du nom de document du document indexé
- La somme des valeurs des champs indexés
- 32 octets supplémentaires
Considérez un document dans la sous-collection users/jeff/tasks
avec un ID de document de chaîne my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Pour un index composite avec une portée de groupe de collecte qui indexe les champs done
et priority
(tous deux croissants), la taille totale de l'entrée d'index dans cet index est de 85 octets :
- 44 octets pour le nom du document
users/jeff/tasks/my_task_id
- 1 octet pour la valeur du champ booléen
- 8 octets pour la valeur du champ entier
- 32 octets supplémentaires