Zum Inhalt springen
Akinware
Blaues Wolkensymbol über gestapelten Datenschichten

Was ist Firestore?

Firestore ist die Datenbank von Google innerhalb von Firebase: Apps sprechen direkt mit ihr, ohne eigenen Server. Wie Echtzeit und Offline-Betrieb funktionieren und wo die Grenzen liegen, verständlich erklärt.

Lesezeit
9 Minuten
Autor
Samet Akin
Veröffentlicht

Was ist Firestore?

Cloud Firestore ist eine Datenbank, die es nur als Dienst gibt: Sie läuft in der Google Cloud, und eine Fassung zum Herunterladen und Selbstbetreiben existiert nicht. Gespeichert wird in Dokumenten und Sammlungen, ähnlich wie bei MongoDB, also ohne feste Spalten. Firestore gehört zu Firebase, Googles Baukasten für App-Entwicklung, der daneben Anmeldung, Benachrichtigungen und Dateispeicher mitbringt.

Der ungewöhnlichste Zug ist der Wegfall der Mitte. Klassisch redet eine App mit einem Server, und erst der Server redet mit der Datenbank. Bei Firestore verbindet sich die App direkt mit der Datenbank. Was ein Benutzer sehen und ändern darf, regelt kein eigener Servercode, sondern Sicherheitsregeln, die bei Google hinterlegt sind und dort bei jedem Zugriff ausgewertet werden. Für kleine Teams heißt das: eine Schicht weniger bauen, betreiben und bezahlen.

Die zweite Besonderheit ist die Echtzeit. Eine App fragt Daten nicht nur einmal ab, sie kann sie abonnieren. Ändert irgendjemand ein Dokument, schiebt Firestore die Änderung von selbst an alle Geräte, die gerade zuhören. Eine Auftragsliste, die sich auf dem Tablet der Disposition aktualisiert, sobald der Fahrer auf Start tippt, ist damit kein Sonderbau mehr, sondern der Normalfall.

Wie funktioniert Firestore?

Technisch bindet die App eine Bibliothek von Firebase ein und meldet sich für die Daten an, die sie braucht. Das Abonnieren sieht im Code so aus:

Dazu kommt der Offline-Betrieb. Die Bibliothek hält eine Kopie der zuletzt genutzten Daten auf dem Gerät. Fällt das Netz aus, liest und schreibt die App einfach weiter, und sobald wieder Verbindung besteht, gleicht Firestore die Änderungen ab. Für Außendienst, Lager oder Baustelle ist das der Punkt, der den Ausschlag gibt, denn Funklöcher sind dort Alltag und kein Ausnahmefall.

Abgerechnet wird kleinteilig: je Lesevorgang, je Schreibvorgang, je Löschvorgang, dazu Speicher und Datenverkehr. Ein kostenloses Kontingent deckt den Anfang ab. Dieses Modell prägt, wie man für Firestore baut. Eine Ansicht, die bei jedem Öffnen tausend Dokumente liest, ist nicht nur langsam, sie steht am Monatsende auf der Rechnung. Gute Firestore-Anwendungen laden wenig und gezielt.

const offeneAuftraege = query(
  collection(db, "auftraege"),
  where("status", "==", "offen")
);

onSnapshot(offeneAuftraege, (ergebnis) => {
  // laeuft bei jeder Aenderung erneut,
  // die Liste ist immer aktuell
  zeigeListe(ergebnis.docs);
});

Wozu wird Firestore verwendet?

Firestore ist zu Hause, wo mehrere Menschen gleichzeitig auf denselben Daten arbeiten und die App auch ohne Netz weiterlaufen soll. Typische Einsatzgebiete sind:

  • Auftrags- und Tourenlisten für Fahrer, Monteure und Disposition, die auf allen Geräten denselben Stand zeigen
  • Erfassungs-Apps für unterwegs, etwa Zählerstände, Prüfungen oder Unterschriften, mit Abgleich nach dem Funkloch
  • Chats und Kommentarfunktionen, bei denen Nachrichten sofort beim Gegenüber erscheinen
  • Statusanzeigen und Übersichten, etwa welcher Raum belegt oder welche Maschine frei ist
  • Erste Fassungen neuer Produkte, die ohne eigenen Server schnell bei echten Nutzern landen sollen

Wir setzen Firestore genau in diesem Feld ein: Apps, oft mit React Native gebaut, in denen eine Änderung auf einem Gerät ohne Neuladen auf dem nächsten ankommt. Die Abrechnung oder das Berichtswesen daneben legen wir in eine relationale Datenbank, weil dort gerechnet wird. Diese Trennung hat sich bewährt: Firestore für das Live-Geschehen, klassische Datenbanken für das, was am Monatsende zusammengezählt wird.

Die Geschichte von Firestore

Firestore ist das Ergebnis einer Übernahme. Firebase startete als eigenständiges Startup, dessen Realtime Database genau eine Sache konnte, die damals kaum jemand bot: Daten in Echtzeit auf viele Geräte verteilen. 2014 kaufte Google die Firma und baute Firebase zur breiten App-Plattform aus. Weil die Realtime Database bei größeren Datenmengen und Abfragen an Grenzen stieß, stellte Google 2017 Firestore als Nachfolger vor, mit besserem Datenmodell und Anschluss an die übrige Google Cloud.

Erschienen
2017 als Cloud Firestore
Entwickelt von
Google, Teil von Firebase
Art
Dokumentendatenbank als Cloud-Dienst
Betrieb
Nur bei Google, kein Selbstbetrieb möglich
Kosten
Je Lese-, Schreib- und Löschvorgang, mit Freikontingent

Vom Startup zu Google

Bildschirm mit einem Verlauf aus Nachrichtenblasen

Firebase entsteht

Ein kleines Startup baut die Realtime Database: eine Datenbank, die Änderungen sofort an alle verbundenen Geräte schickt. Entwickler lieben sie für Chats und Spiele.

2011 bis 2012

Was Firestore nicht kann

Firestore nimmt euch den Server ab, aber es nimmt euch auch Möglichkeiten. Wer sich dafür entscheidet, sollte drei Dinge vorher wissen:

  • Auswertungen sind nicht sein Fach: Abfragen über viele Dokumente hinweg sind eingeschränkt, und weil jede gelesene Zeile kostet, wird ein Monatsbericht teuer und umständlich
  • Es läuft nur bei Google: Wenn eure Daten in einem deutschen Rechenzentrum oder im eigenen Haus liegen müssen, scheidet Firestore aus
  • Die Bindung geht über die Datenbank hinaus: Anmeldung, Benachrichtigungen und Sicherheitsregeln von Firebase ziehen bei einem Wechsel nicht mit um
  • Verknüpfte Daten mit Prüfregeln, etwa Kunde, Auftrag und Rechnung, sind in einer relationalen Datenbank besser aufgehoben

Deshalb bauen wir den Datenzugriff in Firestore-Projekten von Anfang an gebündelt an einer Stelle, statt Aufrufe über die ganze App zu verteilen. Ein späterer Wechsel bleibt dann Arbeit, aber er wird kein Neubau.

Firestore oder eigene Datenbank?

Hinter dieser Frage steckt eine grundsätzlichere: Wollt ihr einen Server betreiben oder nicht? Eine eigene Datenbank, etwa PostgreSQL auf einem gemieteten Server, gehört euch samt aller Freiheiten. Ihr bestimmt den Standort, zahlt einen festen Monatspreis und fragt ab, was ihr wollt. Dafür braucht sie jemanden, der Aktualisierungen einspielt, Sicherungen prüft und nachts zuständig ist, wenn etwas klemmt. Firestore dreht das um: kein Betrieb, keine Wartung, dafür Abrechnung nach Nutzung und Bindung an Google. Als Orientierung:

  • App mit Echtzeit und Offline-Betrieb, kleines Team, kein eigener Serverbetrieb gewünscht: Firestore
  • Verknüpfte Geschäftsdaten, Berichte, volle Kontrolle über den Speicherort: eigene Datenbank
  • Planbare Kosten wichtiger als Bequemlichkeit: eigene Datenbank, denn ein Festpreis überrascht nicht
  • Schneller Start eines Produkts, dessen Zukunft noch offen ist: Firestore, mit gebündeltem Datenzugriff als Ausstiegstür

Oft ist die Antwort keine Entweder-oder-Entscheidung. Bei einem Lieferdienst, dessen Fahrer-App wir gebaut haben, laufen Aufträge und Status in Echtzeit über Firestore, die Abrechnung am Monatsende dagegen in einer relationalen Datenbank. Jedes System macht das, wofür es gebaut ist.

Firestore aus Kundensicht

Für Auftraggeber hat Firestore einen ungewohnten Kostenverlauf. Es gibt keinen Serverpreis, sondern eine Rechnung, die mit der Nutzung wächst: bei wenigen hundert Nutzern oft ein niedriger zweistelliger Betrag im Monat, bei ungeschickt gebauten Ansichten deutlich mehr. Seriös ist, wer von Anfang an ein Budget mit Warnung einrichtet und beim Bauen darauf achtet, was jede Ansicht liest. Fragt euren Dienstleister ruhig danach, die Antwort zeigt, ob er das Abrechnungsmodell verstanden hat.

Der zweite Punkt ist der Datenschutz. Firestore läuft bei Google, die Region lässt sich aber wählen, etwa Frankfurt oder Belgien, und für den Auftragsverarbeitungsvertrag liegen die Unterlagen von Google vor. Ob das für eure Daten reicht, hängt davon ab, wie heikel sie sind: Bei Gesundheits- oder Personaldaten raten wir eher zu einer Datenbank in Deutschland. Solche Fragen gehören in die IT-Sicherheitsberatung vor dem Projekt, nicht in die Woche vor dem Start. Was wir mit Firestore bauen und was bewusst nicht, steht auf unserer Firestore-Seite.

Lohnt sich Firestore?

Für seinen Zweck: ja. Echtzeit-Abgleich und Offline-Betrieb selbst zu bauen kostet Wochen und bleibt fehleranfällig, Firestore bringt beides fertig mit. Ein kleines Team bekommt damit eine App auf ein Niveau, das früher eine eigene Serverlandschaft verlangt hätte. Google entwickelt Firebase sichtbar weiter, und die Plattform trägt einen erheblichen Teil der Apps in beiden App-Stores mit.

Als Universaldatenbank taugt Firestore dagegen nicht, und es will auch keine sein. Wer vor allem auswerten, verknüpfen und berichten will, ist mit PostgreSQL oder MySQL besser bedient, und wer volle Kontrolle über den Speicherort braucht, kommt an einer eigenen Datenbank nicht vorbei. Die ehrliche Zusammenfassung: Firestore lohnt sich genau dann, wenn seine beiden Stärken, Echtzeit und Betrieb ohne Server, im Zentrum eures Vorhabens stehen. Dann aber richtig.

Was Firestore stark macht

Laptop und Tablet zeigen dieselbe Anwendung im Browser

Echtzeit eingebaut

Ändert ein Gerät etwas, sehen es alle anderen sofort. Was sonst Wochen Entwicklung kostet, ist hier der Normalfall.

Zwei externe Festplatten neben einem geschlossenen Laptop

Arbeitet im Funkloch

Die App hält Daten lokal auf dem Gerät und gleicht später ab. Außendienst und Lager arbeiten weiter, wenn das Netz weg ist.

Wolkensymbol, umgeben von unterschiedlich hohen Balken

Kein eigener Server

Google betreibt, sichert und skaliert die Datenbank. Niemand muss nachts ran, wenn die Nutzerzahl plötzlich steigt.

Schaubild mit einem Vorhängeschloss vor einem Schutzschild

Regeln statt Servercode

Wer was sehen und ändern darf, steht in Sicherheitsregeln, die bei jedem Zugriff auf Googles Servern geprüft werden.

Wo Firestore bei uns arbeitet

Firestore ist unser Werkzeug für Apps mit Live-Daten. Drei Bereiche, in denen wir es einsetzen.

  • Hände halten ein Smartphone mit einer geöffneten App

    Apps

    Fahrer-, Erfassungs- und Team-Apps mit React Native, bei denen alle Geräte denselben Stand zeigen, auch nach dem Funkloch.
  • Bildschirm mit einem Dashboard voller Diagramme und Kennzahlen

    Webanwendungen

    Dashboards und Übersichten im Browser, die sich ohne Neuladen aktualisieren, gespeist aus denselben Firestore-Daten wie die App.
  • Gang zwischen Serverschränken in einem Rechenzentrum

    Cloud

    Einrichtung von Regionen, Budgets und Sicherheitsregeln, damit Daten in der EU bleiben und keine Rechnung überrascht.

Häufige Fragen

Was ist der Unterschied zwischen Firebase und Firestore?

Firebase ist die ganze Plattform von Google für App-Entwicklung, mit Bausteinen für Anmeldung, Benachrichtigungen, Dateispeicher und mehr. Firestore ist einer dieser Bausteine, nämlich die Datenbank. Wer Firestore nutzt, nutzt fast immer auch weitere Firebase-Dienste, etwa die Anmeldung.

Was ist der Unterschied zur Realtime Database?

Die Realtime Database ist der ältere Firebase-Speicher, ein einziger großer JSON-Baum mit sehr einfachen Abfragen. Firestore ordnet Daten in Dokumente und Sammlungen, kann besser filtern und skaliert weiter. Für neue Projekte empfiehlt Google Firestore, die Realtime Database bleibt für Spezialfälle wie sehr häufige kleine Updates.

Ist Firestore eine SQL-Datenbank?

Nein. Firestore ist eine Dokumentendatenbank und versteht kein SQL, abgefragt wird über die Firebase-Bibliotheken mit eigenen Filterfunktionen. Verknüpfungen über mehrere Sammlungen, wie sie SQL mit einem JOIN erledigt, gibt es nicht. Die Datenstruktur wird deshalb so geplant, dass jede Ansicht ihre Daten möglichst direkt findet.

Funktioniert Firestore ohne Internet?

Ja, für die Geräte der Nutzer. Die App hält eine lokale Kopie der zuletzt genutzten Daten, liest und schreibt im Funkloch weiter und gleicht ab, sobald wieder Netz da ist. Das ist eine der Hauptstärken von Firestore und einer der häufigsten Gründe, es zu wählen.

Brauche ich mit Firestore noch einen Server?

Für viele Apps nicht, denn die Geräte sprechen direkt mit der Datenbank, und Zugriffsrechte regeln die Sicherheitsregeln bei Google. Für Aufgaben, die kein Gerät erledigen soll, etwa Rechnungen erzeugen oder fremde Schnittstellen ansprechen, gibt es Cloud Functions: kleine Programme, die bei Google laufen, ohne dass ihr einen Server mietet.

Wer nutzt Firebase und Firestore?

Firebase steckt in einem großen Teil der Apps in den Stores von Apple und Google, vom Startup bis zum Konzern, oft ohne dass Nutzer es merken. Typisch sind Apps mit Live-Daten: Lieferdienste, Buchungen, Chats, interne Werkzeuge für Außendienst und Lager. Wir setzen Firestore in Apps ein, bei denen mehrere Geräte denselben Stand zeigen müssen.

Weiterlesen

  • Reihe farbig beleuchteter Lüfter in einem Serverraum

    Was ist MongoDB?

    MongoDB speichert Daten als Dokumente statt in Tabellen mit festen Spalten. Wann das die bessere Wahl ist, woher die Datenbank kommt und wo ihre Grenzen liegen, verständlich erklärt.
  • Darstellung einer Wolke, die mit mehreren Servern verbunden ist

    Was ist Google Cloud?

    Google Cloud ist die Cloud-Plattform von Google: Rechner, Speicher und Datenauswertung zum Mieten. Woher sie kommt, was sie besonders gut kann und wann AWS die bessere Wahl ist, verständlich erklärt.
  • Wolkensymbol aus Glas mit schwebenden Datenflächen

    Was ist AWS?

    AWS ist die Cloud von Amazon und die älteste und größte der drei großen Plattformen. Woher sie kommt, wie sie abrechnet und wann Azure die bessere Wahl ist, verständlich erklärt.

Kontakt und kostenlose Beratung

Hände tippen auf einer Laptop-Tastatur, daneben eine Tasse Kaffee
Telefon0208 78015410E-Mailinfo@akinware.com
Adresse
Huyssenstraße 6G, 46119 Oberhausen
Worum geht es