Sie können Google Cloud-Dienste oder einen anderen Speicherdienst verwenden, der von Ihrer Sprache unterstützt wird und über Ihre App Engine-Instanz zugänglich ist, um Daten und Dateien in App Engine zu speichern. Diese Datenbanken von Drittanbietern können bei einem anderen Cloud-Anbieter oder lokal gehostet bzw. von einem Drittanbieter verwaltet werden.
Informationen zum Lesen und Schreiben temporärer Dateien finden Sie unter Temporäre Dateien lesen und schreiben.Google Cloud-Speicherdienste
Wir empfehlen für App Engine-Anwendungen, die in der Standardumgebung ausgeführt werden, einen der folgenden Google Cloud-Speicherdienste:
- Firestore im Datastore-Modus, um Daten in einer NoSQL-Datenbank zu speichern.
- Cloud SQL for MySQL, um Daten in einer MySQL-Datenbank zu speichern
- Cloud SQL for PostgreSQL, um Daten in einer PostgreSQL-Datenbank zu speichern.
- Cloud Storage, um Dateien in der Laufzeitumgebung zu lesen und zu schreiben und statische Dateien zu speichern und bereitzustellen, beispielsweise Filme oder Bilder bzw. andere statische Inhalte.
Eine vollständige Liste der Google Cloud-Speicherprodukte finden Sie auf der Seite Cloud Storage-Produkte.
Andere Cloud-Anbieter
App Engine-Anwendungen können eine Verbindung zu externen Datenbanken herstellen, die in anderen öffentlichen Clouds gehostet werden. Voraussetzung ist, dass diese Datenbankserver und Ihre Firewall für das Akzeptieren von Verbindungen richtig konfiguriert sind. Ihre App Engine-Anwendung stellt mithilfe der öffentlichen IP-Adresse dieses externen Dienstes eine Verbindung über das Internet her.
Von Drittanbietern verwaltete Datenbanken
Viele Anbieter stellen verwaltete Datenbankdienste wie mLab für MongoDB zur Verfügung. Redis Labs bietet z. B. ein gehostetes Redis-Caching. Diese Anbieter übernehmen das Hosting, die Konfiguration und die Pflege der Datenbanken. App Engine kann ebenso wie andere öffentliche Clouds über das Internet eine Verbindung zu diesen externen Diensten herstellen. Dazu wird die öffentliche IP-Adresse des Dienstes verwendet.
Lokal
Wenn bereits lokale Datenbanken vorhanden sind, die Sie Ihrer App Engine-Anwendung zugänglich machen möchten, haben Sie zwei Möglichkeiten: Sie können entweder Ihr internes Netzwerk und Ihre Firewall so konfigurieren, dass der Datenbank eine öffentliche IP-Adresse zugewiesen wird, oder Sie stellen eine Verbindung über ein VPN her.
Durch das Einrichten von Cloud VPN kann Ihre App Engine-Anwendung auf Ihr lokales Netzwerk zugreifen, ohne den Datenbankserver direkt für das öffentliche Internet freizugeben. Da App Engine und Compute Engine dieselbe Netzwerkinfrastruktur verwenden, können Sie mithilfe der internen IP-Adresse des Datenbankservers über die VPN-Verbindung eine Verbindung zwischen der App Engine-Anwendung und Ihrer lokalen Datenbank herstellen.
Überlegungen zur Produktion
App Engine kann so konfiguriert werden, dass die Anwendung basierend auf verschiedenen Messwerten automatisch horizontal skaliert wird. Im Gegensatz zu Webanwendungen sind bei Datenbanken oft anspruchsvolle Änderungen erforderlich, um auf Skalierungen zu reagieren. In Produktionsanwendungen kann App Engine bei Zugriffsspitzen eine Datenbank schnell überfordern. Beim Konfigurieren und Bereitstellen von Datenbanken müssen Sie das erwartete durchschnittliche Trafficaufkommen und die Last bei einem plötzlichen Anstieg der Zugriffe berücksichtigen.