Mobile-Menu

Datenbank für das Internet of Things Google Cloud Firestore – die serverlose NoSQL-Dokumentendatenbank

Autor / Redakteur: Thomas Joos / Nico Litzel

Mit der NoSQL-Datenbank Firestore bietet Google eine Cloud-basierte Datenbank für IoT- oder andere mobile Anwendungen sowie Web-Apps an.

Anbieter zum Thema

Google Firestore ist prädestiniert für den Einsatz für mobile und IoT-Anwendungen.
Google Firestore ist prädestiniert für den Einsatz für mobile und IoT-Anwendungen.
(Bild: © issaronow - stock.adobe.com)

Google Cloud Firestore ist eine vollkommen Cloud-native, vollständig verwaltete Datenbank in der Google Cloud Platform. Sie unterstützt Live-Synchronisation, Offline-Support und ACID-Transaktionen sowie Sicherheitsfunktionen. Die Datenbank ist komplett in die Cloud integriert. Es gibt keine Möglichkeiten, den Serverpart im eigenen Rechenzentrum zu positionieren. Wer die Datenbank nutzen will, muss also Google seine Daten anvertrauen, auch wenn diese verschlüsselt gespeichert werden. Die NoSQL-Datenbank ist aktuell in 13 Regionen verfügbar.

Darüber hinaus ist die Datenbank in Firebase und den anderen Diensten in der Google Cloud Platform integrierbar. Die Authentifizierung für Firestore lässt sich an die Authentifizierung für Firebase integrieren. Auch das Firebase-SDK lässt sich zusammen mit Firestore nutzen. Firestore unterstützt die Programmiersprachen Go, Java, JavaScript, JavaScript (Node.js), Objective-C und Python.

Integration in Google Cloud Platform

Ein Beispiel für die Integration von Firestore mit anderen Cloud-Diensten von Google ist die Zusammenarbeit von Cloud Firestore mit Cloud Functions und Cloud Storage. Ein weiteres Beispiel ist die Möglichkeit, Daten aus Firestore zu exportieren und in BigQuery zu nutzen. Google will auch in Zukunft immer mehr Dienste als „serverless“ bereitstellen, also komplett in die Cloud integriert, ohne die Notwendigkeit, eigene Server zu betreiben.

Durch ACID-Transaktionen unterstützt die Datenbank nicht nur typische NoSQL-Anforderungen, sondern auch Funktionen, die in relationalen Datenbanken genutzt werden:

Atomic (Atomar): Es müssen entweder alle Operationen einer Transaktion durchgeführt werden oder gar keine.

Consistent: Die Datenbank wird immer konsistent gehalten. Wenn eine Transaktion die Datenbank in einen inkonsistenten Zustand brächte, wird die Transaktion nicht durchgeführt.

Isolated: Änderungen werden erst sichtbar gemacht, wenn alle Operationen der Transaktion durchgeführt wurden. Sind die Vorgänge abgeschlossen, ist sichergestellt, dass der SQL-Server die Daten in die Datenbank geschrieben hat.

Durable (Dauerhaft): Die Transaktion bleibt selbst dann erhalten, wenn das System ausfällt.

Durch diese ACID-Vorgehensweise ist vor und nach jeder Transaktion sichergestellt, dass das System stabil und konsistent bleibt. Das ist vor allem beim flexiblen Einsatz im Online- und Offline-Bereich sowie der Live-Synchronisierungen notwendig.

Bessere und flexiblere Apps mit Google Cloud Firestore

Bei Firebase handelt es sich um die Entwicklungsplattform für mobile Apps und Webanwendungen von Google, zum Beispiel für Android. Mit Firebase und Firestore können Benutzer Anwendungen mit Echtzeitfähigkeiten und automatischer Skalierung erstellen und in der Google Cloud Platform bereitstellen.

Durch die Verwendung von Firestore verspricht sich Google flexiblere Apps, was die Online- und Offline-Funktionen angeht. Außerdem soll der Entwicklungscode wesentlich einfacher ausfallen und daher weniger Fehler mit sich bringen. Durch die Synchronisierungsfunktionen und die Möglichkeit, online und offline zu arbeiten, erkennt das System, wenn ein Endgerät online geht und synchronisiert die Daten seit der letzten Synchronisierung. Dadurch lassen sich sehr flexible Infrastrukturen bereitstellen, die nicht von stabilen und schnellen Internetverbindungen abhängen. Die Synchronisierungsaufgaben lassen sich darüber hinaus auch automatisieren.

Durch die Verbindung mit Client-Bibliotheken und die Verarbeitung der Daten direkt in der Cloud lassen sich Cloud-Anwendungen auf mobilen Geräten und im IoT-Bereich wesentlich flexibler und effektiver bereitstellen.

Datenbankfunktionen und mehr

Neben standardmäßigen Datenbankaufgaben bietet Firestore deutlich mehr als eine einfache Datenbank. Generell soll die Lösung als Daten-Backend fungieren, das Sicherheit und Autorisierung, Edge-Datenspeicherung und Synchronisation übernimmt. Durch die Integration von Identity and Access Management (IAM) sowie Firebase Auth lässt sich auch die Sicherheit von Anwendungen und Daten gewährleisten. Auch benutzer- und gruppenbasierte Berechtigungen sind möglich. Auf Basis von Firebase Auth lassen sich auch Sicherheitsregeln hinterlegen.

Nutzen Web-Apps oder mobile Anwendungen Firestore, können diese nahtlos von online zu offline wechseln und auch weniger stabile Internetleitungen nutzen. Firestore kann Datenaktualisierungen für mehr als eine Million gleichzeitige Clients durchführen. Daher ist die Lösung auch für den IoT-Bereich sinnvoll einsetzbar. Unternehmen müssen keine Infrastruktur einrichten, verwalten und warten. Client-seitige Anwendungen können direkt mit der Datenbank kommunizieren. Laut Google kann die NoSQL-Datenbank bis zu 500 Sammlungen und Dokumenten in einer einzigen Transaktion gleichzeitig ändern. Dazu sind die wenigsten anderen NoSQL-Datenbanken in der Lage.

Verfügbarkeit mit Google Cloud Firestore

Die Daten von Cloud Firestore werden in regionalen Instanzen über mehrere Zonen innerhalb einer Region repliziert. Auch ein SLA ist verfügbar. Google bietet 99,999 Prozent Verfügbarkeit für multiregionale Instanzen und 99,99 Prozent Verfügbarkeit für regionale Instanzen.

Artikelfiles und Artikellinks

(ID:46332798)