Donnerstag, 15. August 2024

Reverse ETL: Google BigQuery nach Spanner in der Pre-GA

Meistens hat man eine transaktionale Datenbank, die im operativen Betrieb dazu dient, die Daten zu persistieren und als "master" fungiert. Das heisst, die neusten täglichen Daten werden in dieser Datenbank verwaltet. Um die Geschäftsdaten optimal analysieren zu können, werden die Daten aus dieser transaktionalen Datenbank täglich, oder täglich mehrmals, in ein analytisches Datawarehouse (DWH) gespeichert. Klassisch verwendet ein solches DWH bislang technisch häufig dieselbe Datenbanksoftware wie die transaktionale Datenbank, die Datenstruktur ist aber anders, für Datenanalyse optimiert und daher auch oftmals denormalisiert. Vermehrt kommen für das DWH aber technisch spezialisierte Lösungen wie BigQuery zum Einsatz. Diesen Lade- oder Transferprozess nennt man ETL (extract transform load).

Nun gibt es Use Cases in denen das DWH der Master ist. Es sind Situationen, in denen man bspw. externe Daten täglich lädt, diese historisiert und damit verschiedene Analysen durchführt. Für diese analytischen Funktionen eigenen sich moderne DWH-Technologien wie Google BigQuery hervorragend. Daten können schnell geladen und sehr performant analysiert werden.

Kommen in solchen Architekturen Use Cases dazu, dass man einzelne Daten aus dem DWH auf eine "transaktionale" Art und Weise nutzen muss, also mit tiefer Latenz einzelne Records abfragen, zeigen DWH-Lösungen oftmals etwas ihre Schwächen. Für solche Szenarien sind sie nicht konzipiert. Ist also die Abfrage-Performance von einzelnen Records essentiell, stellt sich die Frage, welche Optimierungs-Möglichkeiten man hat.

Hier kommt als eine Möglichkeit Google Spanner auf den Plan. Spanner ist eine hoch performante Datenbank mit tiefer Latenz, optimiert für den Einsatz als transaktionale Datenbank. Robust, sicher, schnell.

Google hat nun eine hilfreiche Funktion in BigQuery in der Vorschau verfügbar, die genau diesen Use Case adressiert: Daten von BigQuery nach Spanner zu exportieren und dies auf sehr einfache Art und Weise. Da die Daten in die andere als übliche Richtung gehen, spricht man auch von reverse ETL:


Mit BigQuery und Spanner hat man das beste aus beiden Welten: Ein skalierbares und performantes DWH für die grosse Datenspeicherung und Analytics, und für jene Daten, die man performant mit tiefer Latenz transaktional abfragen will, eine hoch verfügbare performante Datenbank mit tiefer Latenz.

Und dank der neuen Funktion von BigQuery, ist der reverse ETL-Prozess äusserst einfach und schnell umgesetzt.

Sicher nicht ganz die alltäglichste Situation, wo genau diese Konstellation sinnvoll ist. Aber es gibt sie. Und für solche Situationen ist es hilfreich zu wissen, dass es Funktionen gibt, welche die Umsetzung so vereinfachen, dass es sich auch für kleinere Use Cases lohnt, auf die tiefe Latenz und hohe Geschwindigkeit von Spanner zu setzen.

Keine Kommentare:

Kommentar veröffentlichen