Stephan Claus, Director of Data Analytics bei HomeToGo, erklärt in seinem Blog-Gastbeitrag, warum sich das Unternehmen für Snowflake entschieden hat, um seinen Anforderungen an die Datenverarbeitung gerecht zu werden. Der Artikel beruht auf Stephans Präsentation auf der Snowflake Data World Tour 2022. Seien Sie bei der diesjährigen World Tour dabei, wenn die neuesten Innovationen der Snowflake Data Cloud vorgestellt werden.

HomeToGo ist ein Marktplatz, der die weltweit größte Auswahl an Ferienunterkünften bietet. Egal ob Ferienhaus, Bungalow, Strandhäuschen, Apartment, Ferienanlage, Hausboot, Schloss, Bauernhof oder irgendetwas dazwischen: HomeToGo kombiniert Preise, Ziele, Reisedaten und Ausstattungsmerkmale so, dass jede:r die perfekte Unterkunft findet, und zwar überall auf der Welt. Die Vision des 2014 gegründeten Unternehmens ist es, die besten Unterkünfte ganz einfach für alle verfügbar zu machen. HomeToGo ist an der Börse gelistet und hat sich zu einem der führenden Unternehmen für die Vermietung von Ferienunterkünften entwickelt. Zum Angebot gehören länderspezifische Apps und Websites in 25 Ländern sowie über 15 Millionen Objekte weltweit.

Seit der Gründung haben sich die Anforderungen des Unternehmens hinsichtlich seiner Daten grundlegend weiterentwickelt. 2021 haben wir gegen Ende des Sommer unsere Datenarchitektur überarbeitet, da wir komplexere Funktionen benötigten, beispielsweise:

  1. Elastizität, also die Trennung von Rechenleistung und Speicherung, und damit die Fähigkeit, schneller hoch- und runterskalieren zu können, wodurch wir unsere Workloads in den einzelnen Domänen effizienter steuern konnten
  2. native Unterstützung für semistrukturierte Daten
  3. Unterstützung für detailliertes Data Masking auf Data-Warehouse-Ebene

Snowflake konnte diese Funktionen direkt und anwendungsbereit bieten. Darüber hinaus bot es uns weitere Vorteile, etwa die Unabhängigkeit von Cloud-Infrastruktur-Anbietern, die Möglichkeit zur Datenwiederherstellung durch Time Travel oder Zero-Copy Cloning, was das Aufsetzen verschiedener Umgebungen (wie Entwicklung, Staging oder Produktion) deutlich effizienter machte. Der Testzeitraum verlief erfolgreich – Snowflake konnte alle Anforderungen erfüllen. So konnten wir im Herbst 2021 mit der Migration beginnen und parallel unser komplettes Datentransformationsmanagement in die OSS-Version von dbt verschieben.

Die Migration brachte für eine unserer wichtigsten Daten-Pipelines, nämlich der für die Erfassung von verhaltensbezogenen Daten über all unsere Websites und Apps hinweg, enorme Verbesserungen. Diese Daten sind nicht nur äußerst zeitkritisch, sondern auch von grundlegender Bedeutung für viele unserer Datenprodukte der Produktion, beispielsweise die Optimierung unserer Rankings in Suchmaschinen oder für unsere Marketinginitiativen. 

Dazu setzen wir Snowplow ein, ein umfassendes Framework zur Verwaltung der Ereigniserfassung von Front- und Backend. Hier eine Auswahl der wichtigsten Funktionen:

  • große Auswahl verfügbarer Tracker
  • überaus flexibles Ereignis-Setup für sowohl strukturierte als auch unstrukturierte Ereignisse sowie benutzerdefinierte Kontexte
  • Schema-Registry und Schema-Validierung
  • benutzerdefinierte Schritte zur Ereignisanreicherung
  • leistungsfähiger Data Loader in Snowflake als große FAT-Tabelle

Snowplow stellt eine erste hocheffektive Barriere dar, damit nur validierte, hochwertige Daten in das Data Warehouse gelangen. Sobald sie dort verfügbar sind, können sie mithilfe der Data-Warehousing-Funktionen von Snowflake verarbeitet werden. 

Besonders interessant ist dabei die Unterstützung, die Snowflake für semistrukturierte Daten bietet. Snowplow-Ereignisse und benutzerdefinierte Kontexte müssen damit nicht erst normalisiert werden, sondern können ganz einfach im json-Dateiformat in die Variant-Spalten in Snowflake in einer großen FAT-Tabelle namens „atomic_events“ geladen werden.

Das hat zwei enorme Vorteile: Einerseits macht es unsere Pipeline robuster. Das Hinzufügen neuer Datenpunkte zu einem bestehenden Schema führt nicht zu einer Unterbrechung der Pipeline. Außerdem können unsere Datenanalyst:innen selbst bestimmen, wann sie die neuen verfügbaren Daten abrufen. Zweitens wird die Zahl der Joins verringert, die üblicherweise bei normalisierten Ereignistabellen erforderlich sind, was sich stark auf die Kosten auswirkt.

Zusätzlich machen wir die Pipeline durch den Einsatz von Snowflake Time Travel noch robuster, denn so können wir unsere Daten jederzeit wiederherstellen, falls Probleme mit der Infrastruktur oder Ladefehlern auftreten. Darüber hinaus können wir sofort effizient und inkrementell Datenmodelle mit Snowplow dbt-Paketen ohne Zusatzaufwand auf Grundlage von Usern, Seitenansichten und Sitzungen erstellen. 

Zu guter Letzt ermöglicht uns die Zero-Copy Cloning-Funktion von Snowflake, die Daten in unterschiedlichen Umgebungen zu nutzen (wir arbeiten mit einer Entwicklungs-, Staging- und Produktionsumgebung), ohne sie kopieren zu müssen, was nur mehr Kosten verursachen und die Komplexität beim Handling erhöhen würde.

Im Laufe des letzten Jahres konnten wir unseren Tech-Stack durch die Nutzung von Snowflake, Snowplow und dbt weiter ausbauen. Durch die Kombination dieser Dienste sind wir in der Lage, kosteneffiziente, datenbasierte Geschäftsentscheidungen zu treffen, und können uns auf die Robustheit und Sicherheit unserer Datenarchitektur verlassen.