Zum Inhalt springen
Akinware
Bildschirm mit einer Tabellenansicht voller Datensätze

Firestore für Apps mit Echtzeit

Firestore ist die Datenbank von Google innerhalb von Firebase, und Apps sprechen direkt mit ihr, ohne dass ihr einen eigenen Server betreibt. Ändert jemand etwas, sehen die anderen Geräte es sofort, ohne die Ansicht neu zu laden.

Echtzeit in AppsWir bauen Apps, in denen eine Änderung auf einem Gerät ohne Neuladen auf dem nächsten ankommt.

Wofür wir Firestore einsetzen

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

    Apps

    Anwendungen fürs Handy. Für iOS und Android, oder als Progressive Web App ohne Umweg über den Store.
  • Bildschirm mit einem Dashboard voller Diagramme und Kennzahlen

    Webanwendungen

    Werkzeuge, die im Browser laufen. Für Abläufe, die bisher in Excel-Tabellen und E-Mails hängen.
  • Schaubild mit einem Wolkensymbol, das mit Servern und Geräten verbunden ist

    Cloud

    Anwendungen und Daten in der Cloud betreiben, statt einen Server im Haus zu pflegen.
  • Schaubild mit einem Vorhängeschloss vor einem Schutzschild

    IT-Sicherheit

    Zugänge, Sicherungen und Updates so einrichten, dass ein Ausfall kein Notfall wird.
  • Laptop auf einem Schreibtisch, daneben eine Tasse und ein Headset

    Beratung & Support

    Wir sehen uns an, was ihr habt, und sagen ehrlich, was sich lohnt und was nicht.

Was ist Firestore

Cloud Firestore ist eine Dokumentendatenbank von Google, die seit 2017 zu Firebase gehört und die ältere Realtime Database ablöste. Sie läuft ausschließlich als Dienst in der Google Cloud, es gibt keine Fassung zum Selbstbetrieb. Apps und Webanwendungen verbinden sich direkt mit ihr, und wer was sehen und ändern darf, steht in Sicherheitsregeln, die auf dem Server ausgewertet werden. Bezahlt wird nach Lese-, Schreib- und Löschvorgängen sowie nach Speicher, mit einem kostenlosen Kontingent am Anfang.

Der Unterschied zu MongoDB liegt weniger im Datenmodell als im Betrieb: Firestore nimmt euch den Server ganz ab und bringt Echtzeit und Offline-Betrieb mit, bindet euch dafür aber an Google. Eine App kann weiterarbeiten, wenn das Netz weg ist, und gleicht später von selbst ab. Der Preis dafür sind eingeschränkte Abfragen, denn Auswertungen über viele Datensätze sind nicht vorgesehen und werden über die Abrechnung nach Lesevorgängen schnell teuer. Für Berichte und verknüpfte Daten bleibt PostgreSQL die bessere Wahl.

Ein Lieferdienst stattet seine Fahrer mit einer App aus, in der Aufträge, Status und Unterschrift erfasst werden. In der Disposition wandert eine Fahrt in dem Moment von offen zu unterwegs, in dem der Fahrer auf Start tippt, ohne dass jemand die Seite neu lädt. Im Funkloch schreibt die App weiter auf das Gerät und gleicht ab, sobald wieder Netz da ist. Die Abrechnung am Monatsende läuft daneben in einer relationalen Datenbank, weil dort gerechnet wird.

Entwickelt von
Google, Teil von Firebase
Erschienen
2017 als Cloud Firestore
Betrieb
Nur als Dienst in der Google Cloud, kein Selbstbetrieb
Kosten
Nach Lese-, Schreib- und Löschvorgängen und Speicher, mit Freikontingent
Typische Einsätze
Apps mit Echtzeit-Abgleich, Offline-Betrieb, Chats, Aufträge

Welche Datenbank passt zu euch

Vier Fragen, keine Eingabe von Daten. Am Ende steht eine Empfehlung, auch wenn sie auf eine andere Seite führt.

Serverschrank mit blau leuchtenden Geräten

Frage 1 von 4

Auf welchen Servern läuft eure IT?

  1. Auf welchen Servern läuft eure IT?
  2. Wie sehen eure Daten aus?
  3. Was passiert mit den Daten?
  4. Gibt es schon eine Datenbank?

Womit wir arbeiten

Wir bauen mit aktueller Technik, nicht mit einem Baukasten. Das ist der Unterschied, den man erst merkt, wenn etwas geändert werden soll, das der Baukasten nicht vorgesehen hat.

Fragen zu Firestore

Wann lohnt sich Firestore?

Bei Apps, in denen mehrere Leute dieselben Daten gleichzeitig sehen und ändern: Auftragslisten, Terminplanung, Chats, Statusanzeigen. Die Echtzeit-Verteilung und der Offline-Betrieb sind eingebaut, ihr müsst sie nicht selbst bauen. Dazu kommt, dass kein Server läuft, den jemand aktualisieren und überwachen muss. Für den Start eines Produkts ist das schnell und günstig.

Wann lohnt es sich nicht?

Wenn ihr auswerten wollt. Jede gelesene Zeile kostet, und Abfragen über viele Datensätze sind nur eingeschränkt möglich, ein Monatsbericht wird damit teuer und umständlich. Auch bei stark verknüpften Daten wie Kunde, Auftrag und Rechnung fehlt euch alles, was eine relationale Datenbank hier mitbringt. Und wenn Daten aus rechtlichen Gründen bei euch oder in einem deutschen Rechenzentrum liegen müssen, scheidet Firestore aus, weil es nur bei Google läuft. Das sagen wir vorher, nicht wenn die App fertig ist.

Kommen wir später wieder von Firestore weg?

Die Daten könnt ihr exportieren, die Bindung steckt weniger in der Datenbank als in der App drumherum: Anmeldung, Benachrichtigungen und Sicherheitsregeln von Firebase ziehen nicht mit um. Wir bauen deshalb den Zugriff auf die Daten von Anfang an gebündelt, statt Firestore-Aufrufe über die ganze App zu streuen. Damit bleibt ein späterer Wechsel Arbeit, aber kein Neubau. Wer den Wechsel schon absehen kann, sollte gleich anders starten.

Was kostet Firestore im Monat?

Abgerechnet wird nach Lese-, Schreib- und Löschvorgängen sowie nach Speicher und Datenverkehr, ein Freikontingent gibt es obendrauf. Für eine App mit wenigen hundert Nutzern bleibt das oft im niedrigen zweistelligen Bereich. Teuer wird es, wenn eine Ansicht bei jedem Öffnen tausende Datensätze liest, und genau dort setzen wir beim Bauen an. Wir richten außerdem ein Budget mit Warnung ein, damit euch keine Rechnung überrascht.

Wie steht es um den Datenschutz?

Firestore läuft bei Google, ihr könnt aber eine Region in der EU wählen, etwa Frankfurt oder Belgien. Für einen Auftragsverarbeitungsvertrag gibt es die Unterlagen von Google, und in eure Datenschutzerklärung gehört der Dienst hinein. Ob das für eure Daten reicht, hängt davon ab, wie heikel sie sind, bei Gesundheits- oder Personaldaten würden wir eher zu einer Datenbank in Deutschland raten. Diese Frage klären wir vor dem ersten Codezeichen.

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