Blog

EKON 25
Die Konferenz für Delphi & More
8. - 10. November 2021, Online
24
Aug

„Firestore/Firebase stellt eine sehr gute Lösung dar, um schnell und einfach eine globale User-Authentifizierung aufzubauen“

Der Umstieg auf eine NoSQL-Datenbank erfordert ein Umdenken, kann sich aber lohnen, sagt Christoph Schneider. Der EKON-Speaker hat mit FB4D eine eigene Library zur Integration von Firebase in Delphi-Projekte geschrieben. Im Interview erklärt er, worauf man bei der Umstellung achten muss.

Frage: Du sprichst auf der EKON ja über die Firestore Cloud-Datenbank. Was ist das denn und wie unterscheidet sich diese Datenbank von anderen Lösungen?

Christoph Schneider: Firestore ist eine moderne NoSQL Cloud-Datenbank, die als einen von mehreren Services unter dem Namen Firebase von Google betrieben wird. Im Gegensatz zu anderen Cloud-Datenbanken können die Services von Firebase nicht auf eigenen Servern betrieben werden, sondern man setzt auf die Dienste von Google. Ab ab einem Datenvolumen von mehr als 1 GB oder bei mehr als 20.000 Schreibzugriffen oder 50.000 Lesezugriffen pro Tag muss man für die Nutzung von Firestore zahlen. Bis zu dieser Begrenzung können Datenbank-Projekte nach heutigem Stand kostenlos betrieben werden.

Frage: Wo liegt die größte Hürde für Umsteiger, die bereits andere Arten von Datenbanken genutzt haben?

Schneider: Der Umstieg von einer SQL Client/Server-Datenbank auf eine NoSQL Cloud Datenbank ist für Entwickler ein großer Schritt, denn die Daten müssen nach anderen Kriterien strukturiert werden. Auch können in Firestore wichtige Konzepte der relationalen Datenbanken, zum Beispiel Abfragen über mehrere Tabellen oder auch Transaction, nur noch begrenzt verwendet werden.

Während bei relationale Datenbanken galt, Redundanzen in den gespeicherten Daten durch einen geschickten Tabellenentwurf möglichst zu vermeiden, gilt es beim Einsatz von Firestore die Anzahl der Abfragen von Dokumente und die Größe der Dokumente möglichst zu minimieren. Generell eignet sich dieser Datenbanktyp eher für Anwendungen, wo viele Anwender lesend und nur wenige schreibend zugreifen.

Der Umstieg von einer SQL Client/Server-Datenbank auf eine NoSQL Cloud Datenbank ist für Entwickler ein großer Schritt

Frage: Mit FB4D hast du ja eine eigene Library für den Einsatz von Firebase mit Delphi geschrieben. Welche Plattformen unterstützt du damit?

Schneider: Während Google für diese Datenbank Mobil- und Webanwendungen im Fokus hat und mit diversen Plattform-SDKs bestens unterstützt, ist es mit der von mir entwickelten OpenSource-Library FB4D für Delphi-Entwickler möglich, auch von Desktop oder Server-Anwendungen auf diese Cloud-Datenbank zuzugreifen. Dabei kann FB4D sowohl in FMX- als auch in VCL-Applikationen zum Einsatz kommen. FB4D ist bei Verwendung des Firemonkey-Frameworks für alle heute unterstützen Plattformen (OSX, iOS, Android, Linux und Windows) vorbereitet.

Frage: Wem würdest du empfehlen, einen Blick auf FB4D zu werfen; für welche Arten von Projekten ist die Library geeignet?

Schneider: Natürlich muss man sich bei jedem neuen Technologie-Einsatz über die damit verbunden Abhängigkeiten zu den involvierten Dienstleistern Gedanken machen. Bei aktuell weltweit über 1.5 Million Mobile-Applikationen, hergestellt von mehr als 36.000 Firmen, ist Firebase ein wichtiger und verlässlicher Player im Cloud-Plattform-Markt.

Für mich stellt Firestore/Firebase eine sehr gute Lösung dar, um schnell und einfach eine globale User-Authentifizierung aufzubauen und damit den autorisierten Zugriff auf strukturierte Daten via Cloud Firestore oder auch ganzer Dateien via Cloud-Storage zu transferieren oder zwischen Applikation zu synchronisieren. Durch die weitere Möglichkeit, serverseitige Firebase-Funktionen aus Applikationen zu starten, die auf alle Services zugreifen können, wie bspw. Machine Learning für die Bildbearbeitung/Bildinterpretation und Spracherkennung, sind sehr unterschiedliche Anwendungen entwickelbar.

Wenn ich zwischen Ausbau und Stabilisierung wählen müsste, hätte für mich letzteres klar Priorität.

Frage: Was würdest du dir für die Zukunft von Delphi wünschen?

Schneider: Ich wünsche mir für die Zukunft mehr Stabilität im Firemonkey-Framework. Es gibt auch für FB4D einige Einsatzorte, wie beispielsweise Linux-64, wo aktuell noch selbstgebaute Patches verwendet werden müssen, damit FB4D korrekt läuft. Andererseits freue ich mich natürlich auch über die Unterstützung von weiteren Plattformen (ARM-CPU OSX/Windows). Wenn ich aber zwischen Ausbau und Stabilisierung wählen müsste, hätte für mich letzteres klar Priorität.

Danke für das Gespräch!

Die Fragen stellte Ann-Cathrin Klose.