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:

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:

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:

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:

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:

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

Nächste Schritte

Informationen zu Firestore-Preisen