Firestore ist eine NoSQL-Dokumentdatenbank, die auf Autoscaling, hohe Leistung und einfache Anwendungsentwicklung ausgelegt ist. Es ist die neueste Version von Datastore und bietet einige Verbesserungen.
Da Firestore im Datastore-Modus (Datastore) für Serveranwendungsfälle und für App Engine optimiert ist, empfehlen wir die Verwendung des Datastore-Modus für Datenbanken, die hauptsächlich von App Engine-Anwendungen verwendet werden. Firestore im nativen Modus ist besonders nützlich für mobile und Echtzeit-Benachrichtigungs-Anwendungsfälle. Weitere Informationen zu Firestore-Modi finden Sie unter Zwischen nativem Modus und Datastore-Modus wechseln.
Datastore-Modus mit App Engine verwenden
So verwenden Sie den Datastore-Modus mit App Engine:
Falls noch nicht geschehen, erstellen Sie eine Datenbank und wählen Sie Firestore im Datastore-Modus aus.
Sie können für App Engine-Anwendungen vorhandene Datastore-Datenbanken verwenden. Diese bereits vorhandenen Datenbanken werden automatisch auf Firestore im Datastore-Modus aktualisiert.
Geben Sie Datastore in Ihrer Anwendung als Abhängigkeit an. Tragen Sie dazu die Bibliothek in die Abhängigkeitendatei Ihrer Anwendung ein.
Verwenden Sie die Google Cloud-Clientbibliothek, damit Sie Entitäten lesen und schreiben sowie Daten abfragen können.
Indexe konfigurieren
Im Datastore-Modus werden für jede von Ihrer Anwendung ausgeführte Abfrage Indexe verwendet. Diese Indexe werden bei jeder Änderung von Entitäten aktualisiert. Dies gewährleistet, dass die Ergebnisse schnell zurückgegeben werden, wenn die Anwendung eine Abfrage startet.
Im Datastore-Modus werden für einfache Abfragetypen automatisch Indexe mit nur einem Attribut erstellt. Bei komplexen Abfragen, die mehrere Attribute enthalten, müssen Sie zusammengesetzte Indexe in der Datei index.yaml
Ihrer Anwendung konfigurieren.
Der App Engine-Entwicklungsserver aktualisiert Ihre Datei index.yaml
mit den benötigten zusammengesetzten Indexen zum Ausführen Ihrer Tests. Ebenso generiert der Datastore-Modus-Emulator Indexe für das Ausführen von Tests.
Sie haben auch die Möglichkeit, die Indexe manuell zur Datei index.yaml
Ihrer Anwendung hinzufügen, wenn Sie keine lokalen Tests ausführen oder Ihre Tests keine komplexen Abfragen enthalten.
Datenbankberechtigungen festlegen
Standardmäßig hat Ihre Anwendung alle Berechtigungen, die zum Lesen und Schreiben in Datastore-Modus- und Firestore-Datenbanken in Ihrem Google Cloud-Projekt erforderlich sind.
Zur Verwaltung dieser Berechtigungen nutzt jede App Engine-Anwendung ein Standarddienstkonto, das vollständigen Lese- und Schreibzugriff auf Datastore-Modus- und Firestore-Datenbanken im selben Projekt wie die Anwendung bietet. Sie können die Berechtigungen des Standarddienstkontos ändern. Ihre Anwendung verliert dann aber möglicherweise den Zugriff, solange ihr keine IAM-Rolle mit den erforderlichen Berechtigungen zugewiesen ist.
Informationen darüber, wie Sie anderen Nutzern, Anwendungen oder Projekten Zugriff auf eine Datenbank gewähren, finden Sie unter Auf Ihre Datenbank zugreifen.
Datastore-Modus-Emulator für lokale Tests verwenden
Die Google Cloud-CLI für Java enthält einen lokalen Entwicklungsserver zum Testen der Anwendung auf Ihrem Computer. Der lokale Entwicklungsserver emuliert die Java-Laufzeitumgebung von App Engine und alle zugehörigen Dienste, einschließlich des Datastore-Modus.
Der Entwicklungsserver erzeugt die für die Anwendung erforderliche Konfiguration von Datastore-Modusindexen aus den Abfragen, die beim Testen ausgeführt werden.
Preise, Kontingente und Beschränkungen
Der Datastore-Modus bietet ein kostenloses Kontingent mit täglichen Limits. Kostenpflichtige Konten bieten unbegrenzte Speicher-, Lese- und Schreibvorgänge. Weitere Informationen finden Sie auf der Seite Datastore-Kontingente.