Übersicht über Abfrageschnittstellen

Auf dieser Seite werden die verschiedenen Schnittstellen beschrieben, die für den Zugriff auf Daten in einer Firestore-Datenbank im nativen Modus verfügbar sind.

Vorgangsschnittstellen

Firestore im nativen Modus unterstützt zwei Schnittstellen für den Datenzugriff:

Pipelinevorgänge

Die neuere Abfrageschnittstelle für Firestore. Pipelinevorgänge unterstützen eine stufenbasierte zusammensetzbare Syntax. Sie erstellen einen Vorgang, indem Sie eine Reihe von sequenziellen Phasen definieren, die nacheinander ausgeführt werden. Das ermöglicht komplexe Vorgänge wie das Filtern nach dem Ergebnis einer Aggregation, was in der ursprünglichen Benutzeroberfläche (Core-Vorgänge) nicht möglich war.

Pipelinevorgänge sind nur in der Firestore Enterprise-Version verfügbar und befinden sich in der Startphase Vorschau.

Kernvorgänge

Core-Vorgänge sind die ursprüngliche Schnittstelle für Firestore. Für die Kernvorgänge wird eine Methodenkettungssyntax (.where(), .orderBy(), .get()) für Dokument- oder Sammlungsreferenzen verwendet, um Dokumente abzurufen. Die Reihenfolge der Abfragephasen ist impliziert und die Unterstützung für die Aggregation ist begrenzt.

Kernvorgänge sind sowohl in der Enterprise- als auch in der Standard-Version verfügbar, die Indexstandardeinstellungen sind jedoch sehr unterschiedlich. Weitere Informationen finden Sie im nächsten Abschnitt.

Unterschiede bei der Benutzeroberfläche zwischen den Versionen

Mit der Einführung der Unterstützung für Firestore im nativen Modus in der Enterprise-Version sind sowohl Firestore Core- als auch Pipeline-Vorgänge verfügbar. Wenn Sie Core-Vorgänge in der Enterprise-Version verwenden, werden durch das neue Indexverhalten und das neue Preismodell viele Einschränkungen der Standard-Version aufgehoben.

Feature Standard Edition Enterprise Edition
Unterstützte Abfragevorgänge Beschränkt auf Firestore Core-Vorgänge. Unterstützt Firestore Core- und Pipeline-Vorgänge sowie Firestore-Vorgänge mit MongoDB-Kompatibilität.
Anforderung an die Indexierung Für alle Abfragen sind Indexe erforderlich. Für Abfragen sind keine Indexe erforderlich.
Indexerstellung Für einzelne Felder werden automatische Indexe erstellt. Sie können zusammengesetzte Indexe manuell erstellen. Es werden keine automatischen Indexe erstellt. Indexe müssen manuell verwaltet werden.
Abfrageleistung und ‑kosten Abfragen sind aufgrund von Indexanforderungen in der Regel leistungsstark. Sie können die Abfrageleistung und die Kosten optimieren, indem Sie Indexe erstellen. Mit Query Explain und Query Insights können Sie fehlende Indexe ermitteln.

Abfragen ohne Indexe können mit zunehmender Größe des Datasets langsam und teuer werden und müssen daher überwacht und optimiert werden.

Overhead-Kosten für die Indexierung Für Indexschreibvorgänge fallen keine Gebühren an, da Indizes automatisch erstellt werden. Beim Schreiben von Indexeinträgen werden Schreibeinheiten verbraucht, wenn ein zugehöriges Dokument geschrieben wird (1 Schreibeinheit pro 1 KiB Indexeintragsgröße). Sie sparen Speicherkosten, da nicht für jedes Feld Indexeinträge erstellt werden.
Abrechnungsmodell (Lese-/Schreib-/Löschvorgänge) Die Abrechnung erfolgt pro Lese-, Schreib- und Löschvorgang für ein Dokument. Die Abrechnung erfolgt pro Lese- und Schreibvorgang (Tranche). Lesevorgänge werden in Leseeinheiten (4 KiB-Tranchen) abgerechnet. Schreib- und Löschvorgänge werden in Schreibeinheiten (1 KiB-Tranchen) zusammengefasst.
Grundpreis (pro Million)

Die angezeigten Preise gelten für die Region us-central1.

Lesevorgänge: 0,03$pro 100.000 Dokumente (oder 0,30 $pro Million).

Schreibvorgänge: 0,09$pro 100.000 Dokumente (oder 0,90 $pro Million).

Löschvorgänge: 0,01$pro 100.000 Dokumente (oder 0,10 $pro Million)

Leseeinheiten: 0,05$pro 1 Million Leseeinheiten.

Schreibeinheiten: 0,26$pro 1 Million Schreibeinheiten. Die Preise sind in der Regel niedriger, wenn Dokumente weniger als 4 KiB umfassen, als die Kosten für das Standardlesen.

Echtzeitaktualisierungen

Die angezeigten Preise gelten für die Region us-central1.

Echtzeitaktualisierungen werden als Lesevorgänge mit 0,03 $pro 100.000 Dokumente abgerechnet. Für Echtzeitupdates gibt es eine neue separate Abrechnungseinheit (Einheiten von Echtzeitupdates), die pro 4 KiB-Tranche berechnet wird. Echtzeitupdates kosten 0,30$pro Million Leseeinheiten.

Nächste Schritte