Auf dieser Seite werden die verschiedenen Schnittstellen beschrieben, die für den Zugriff auf Daten in einer Datenbank im nativen Modus verfügbar sind.
Vorgangsschnittstellen
Der native Modus unterstützt zwei Schnittstellen für den Datenzugriff:
Pipelinevorgänge
Die neuere Abfrageoberfläche für Cloud 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 Vorschauphase.
Kernvorgänge
Core Operations ist die ursprüngliche Schnittstelle für Cloud Firestore.
Bei Core-Vorgängen wird eine Method-Chaining-Syntax (.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 unterscheiden sich jedoch erheblich. Weitere Informationen finden Sie im nächsten Abschnitt.
Unterschiede bei der Benutzeroberfläche zwischen den Versionen
Mit der Einführung der Unterstützung des nativen Modus in der Enterprise-Version sind sowohl Firestore Core- als auch Pipeline-Operationen 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 der Indexanforderungen in der Regel leistungsstark. | Erstellen Sie Indexe, um die Abfrageleistung zu optimieren und Kosten zu senken. 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. |
| Kosten für die Indexierung | Für Indexschreibvorgänge fallen keine Gebühren an, da Indexe 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) zusammengeführt. |
| 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. | Echtzeitupdates haben eine neue separate Artikelnummer (Einheiten von Echtzeitupdates), die pro 4 KiB-Tranche berechnet wird. Echtzeitupdates kosten 0,30$pro Million Leseeinheiten. |