Berechnung der Speichergröße
Auf dieser Seite wird die Speichergröße von Dokumenten, Dokumentnamen, Feldern und Indexeinträgen in Firestore erläutert.
Im Abschnitt Cloud Firestore-Preise finden Sie Informationen zu den Kosten dieser Speichermethode.Stringgröße
Die Größe der Strings berechnet sich aus der Anzahl der UTF-8-codierten Byte + 1.
Die nachfolgenden Elemente werden als String gespeichert:
- Sammlungs-IDs
- Stringdokument-IDs
- Dokumentnamen
- Feldnamen
- Stringfeldwerte
Beispiel:
- Die Sammlungs-ID
tasks
verwendet 5 Byte + 1 Byte, also insgesamt 6 Byte. - Der Feldname
description
verwendet 11 Byte + 1 Byte, also insgesamt 12 Byte.
Größe der Dokument-ID
Die Größe einer Dokument-ID ist entweder die Stringgröße für eine String-ID oder 8 Byte für eine Ganzzahl-ID.
Größe des Dokumentnamens
Die Größe eines Dokumentnamens ist die Summe aus folgenden Komponenten:
- Die Größe der einzelnen Sammlungs- und Dokument-IDs im Pfad zum Dokument
- 16 zusätzliche Byte
Bei einem Dokument in der Untersammlung users/jeff/tasks
mit einer Stringdokument-ID von my_task_id
beträgt die Größe des Dokumentnamens 6 + 5 + 6 + 11 + 16 = 44 Byte:
- 6 Byte für die Sammlungs-ID
users
- 5 Byte für die Dokument-ID
jeff
- 6 Byte für die Sammlungs-ID
tasks
- 11 Byte für die Dokument-ID
my_task_id
- 16 zusätzliche Byte
Feldwertgröße
Die folgende Tabelle zeigt die Größe der Feldwerte nach Typ an.
Typ | Größe |
---|---|
Array | Die Summe der Wertgrößen |
Boolean | 1 Byte |
Byte | Byte-Länge |
Datum und Uhrzeit | 8 Byte |
Gleitkommazahl | 8 Byte |
Geografischer Punkt | 16 Byte |
Ganzzahl | 8 Byte |
Map | Die Größe der Map, die auf die gleiche Weise wie die Dokumentgröße berechnet wird |
Null | 1 Byte |
Referenz | Die Größe des Dokumentnamens |
Textstring | Anzahl der UTF-8-kodierten Byte + 1 |
Ein boolesches Feld mit dem Namen done
würde beispielsweise 6 Byte verwenden:
- 5 Byte für den Feldnamen
done
- 1 Byte für den booleschen Wert
Dokumentgröße
Die Größe eines Dokuments ist die Summe aus folgenden Komponenten:
- Die Größe des Dokumentnamens
- Die Summe der Stringgröße jedes Feldnamens
- Die Summe der Größe jedes Feldwerts
- 32 zusätzliche Byte
Dieses Beispiel bezieht sich auf ein Dokument in der untergeordneten Sammlung users/jeff/tasks
mit einer Stringdokument-ID von my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Die Gesamtgröße der Felder beträgt 71 Byte:
Feldname und -wert | Feldgröße in Byte |
---|---|
"type": "Personal" |
14 5 für den Feldnamen + 9 für den Stringwert des Felds |
"done": false |
6 5 für den Feldnamen + 1 für den booleschen Wert des Felds |
"priority": 1 |
17 9 für den Feldnamen + 8 für die Ganzzahl des Felds |
"description": "Learn Cloud Firestore" |
34 12 für den Feldnamen + 22 für den Stringwert des Felds |
Die Dokumentgröße beträgt also 44 + 71 + 32 = 147 Byte:
- 44 Byte für den Dokumentnamen
- 71 Byte für die Felder
- 32 zusätzliche Byte
Größe des Indexeintrags
Indexeintragsgrößen werden für Einzelfeld- und zusammengesetzte Indexe folgendermaßen berechnet.
Größe des Einzelfeld-Indexeintrags
Die Größe eines Einzelfeld-Indexeintrags hängt davon ab, ob ein Index einer Sammlung oder einer Sammlungsgruppe zugeordnet ist.
Umfang der Sammlung
Die Größe eines Eintrags in einem Einzelfeldindex mit dem Sammlungsumfang ist die Summe aus folgenden Komponenten:
- Die Größe des Dokumentennamens des indexierten Dokuments
- Die Größe des Dokumentennamens des übergeordneten Dokuments des indexierten Dokuments
- Die Stringgröße des indexierten Feldnamens
- Die Größe des indexierten Feldwerts
- 32 zusätzliche Byte
Betrachten Sie ein Dokument in der Untersammlung users/jeff/tasks
mit der Stringdokument-ID my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Bei einem Einzelfeldindex mit Sammlungsumfang, der das Feld done
indexiert, beträgt die Gesamtgröße des Eintrags in diesem Index 109 Byte:
- 44 Byte für den Dokumentnamen
users/jeff/tasks/my_task_id
- 27 Byte für den Dokumentnamen des übergeordneten Dokuments
users/jeff
- 5 Byte für den Feldnamen
done
- 1 Byte für den booleschen Feldwert
- 32 zusätzliche Byte
Umfang der Sammlungsgruppe
Die Größe eines Eintrags in einem Einzelfeldindex mit dem Umfang der Sammlungsgruppe ist die Summe aus folgenden Komponenten:
- Die Größe des Dokumentennamens des indexierten Dokuments
- Die Stringgröße des indexierten Feldnamens
- Die Größe des indexierten Feldwerts
- 48 zusätzliche Byte
Betrachten Sie ein Dokument in der Untersammlung users/jeff/tasks
mit der Stringdokument-ID my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Bei einem Einzelfeldindex mit Umfang der Sammlungsgruppe, der das Feld done
indexiert, beträgt die Gesamtgröße des Eintrags in diesem Index 98 Byte:
- 44 Byte für den Dokumentnamen
users/jeff/tasks/my_task_id
- 5 Byte für den Feldnamen
done
- 1 Byte für den booleschen Feldwert
- 48 zusätzliche Byte
Größe eines Eintrags eines zusammengesetzten Indexes
Die Größe eines Eintrags in einem zusammengesetzten Index hängt davon ab, ob der Index einer Sammlung oder einer Sammlungsgruppe zugeordnet ist.
Umfang der Sammlung
Die Größe eines Indexeintrags in einem zusammengesetzten Index mit Sammlungsumfang ist die Summe aus folgenden Komponenten:
- Die Größe des Dokumentennamens des indexierten Dokuments
- Die Größe des Dokumentennamens des übergeordneten Dokuments des indexierten Dokuments
- Summe der indexierten Feldwerte
- 32 zusätzliche Byte
Betrachten Sie ein Dokument in der Untersammlung users/jeff/tasks
mit der Stringdokument-ID my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Bei einem zusammengesetzten Index mit Sammlungsumfang, der die Felder done
und priority
indexiert (beide aufsteigend), beträgt die Gesamtgröße des Eintrags in diesem Index 112 Byte:
- 44 Byte für den Dokumentnamen
users/jeff/tasks/my_task_id
- 27 Byte für den Dokumentnamen des übergeordneten Dokuments
users/jeff
- 1 Byte für den booleschen Feldwert
- 8 Byte für den Wert des Ganzzahl-Felds
- 32 zusätzliche Byte
Umfang der Sammlungsgruppe
Die Größe eines Indexeintrags in einem zusammengesetzten Index mit Umfang der Sammlungsgruppe ist die Summe aus folgenden Komponenten:
- Die Größe des Dokumentennamens des indexierten Dokuments
- Summe der indexierten Feldwerte
- 32 zusätzliche Byte
Betrachten Sie ein Dokument in der Untersammlung users/jeff/tasks
mit der Stringdokument-ID my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Bei einem zusammengesetzten Index mit Umfang der Sammlungsgruppe, der die Felder done
und priority
indexiert (beide aufsteigend), beträgt die Gesamtgröße des Indexeintrags in diesem Index 85 Byte:
- 44 Byte für den Dokumentnamen
users/jeff/tasks/my_task_id
- 1 Byte für den booleschen Feldwert
- 8 Byte für den Wert des Ganzzahl-Felds
- 32 zusätzliche Byte