Cloud Firestore im Datastore-Modus verwenden

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 für Serveranwendungsfälle und für App Engine optimiert ist, empfehlen wir die Verwendung von Firestore im 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:

  1. 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.

  2. Cloud NDB verwenden

    Erstellen, Abrufen und Verwalten von Entitäten in der Datenbank im Datastore-Modus

Wenn Sie ein Upgrade Ihrer Python 2-Anwendung auf Python 3 durchführen möchten, haben Sie mehrere Optionen:

  • Wenn Ihre Python 2-Anwendung App Engine NDB für die Interaktion mit Datastore verwendet, empfehlen wir die Migration zu Cloud NDB anstelle der Clientbibliothek im Datastore-Modus. Letzteres bietet eine viel ähnlichere Nutzererfahrung.

  • Sie können auch Ihre Python 2-Anwendung, die App Engine NDB verwendet, zu Python 3 portieren und dann zu Cloud NDB migrieren. Informationen zum Zugriff auf App Engine NDB in Python 3 finden Sie auf der Seite Auf gebündelte App Engine-Dienste für Python 3 zugreifen.

Weitere Ressourcen und ein Beispiel für die Migration von einer Python 2-webapp-Anwendung mit App Engine NDB zu einer entsprechenden Python 3-Flask-Anwendung mit aktivierter App Engine NDB-Anwendung finden Sie auf der Python 3-Seite für gebündelte Dienste.

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.

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.