Snowflake Computing Renaissance der SQL-Datenanalyse, diesmal in der Cloud

Autor / Redakteur: lic.rer.publ. Ariane Rüdiger / Nico Litzel

Snowflake, ein durch Venture Capital finanziertes US-Start-up, verlagert die Datenanalyse mit SQL in die Cloud. Der Redshift-Konkurrent wurde eigens für diese Umgebung entwickelt und soll sich durch besondere Schnelligkeit und Flexibilität auszeichnen.

Anbieter zum Thema

Dr. Artin Avanes erklärt den dreischichtigen Aufbau von Snowflakes Cloud Data Warehouse.
Dr. Artin Avanes erklärt den dreischichtigen Aufbau von Snowflakes Cloud Data Warehouse.
(Bild: Rüdiger)

Passend zum Firmennamen ging draußen ein gewaltiges Schneegestöber nieder, als das Silicon-Valley-Start-up Snowflake sich in München Anwendern und potenziellen Partnern vorstellte. Der Zeitpunkt war günstig: Hatte man doch soeben eine Finanzspritze von Sequoia Capital in Höhe von 263 Millionen US-Dollar eingefahren.

Dr. Artin Avanes, Director of Product Management bei ‎Snowflake Computing
Dr. Artin Avanes, Director of Product Management bei ‎Snowflake Computing
(Bild: Rüdiger)

Die Führungsmannschaft des Unternehmens, das inzwischen 340 Mitarbeiter zählt, davon sechs in München, stammt zum Teil von Microsoft. Sowohl der Direktor für Produktmanagement, Dr. Artin Avanes, als auch CEO Bob Muglia haben Erfahrungen bei dem Softwareriesen gesammelt, Muglia als Präsident des Server- und Tools-Geschäfts, zu dem auch MS Azure gehört.

Snowflake ist ein Beleg dafür, wie die Trends Cloud und Big Data die Entwicklung neuer Technologien und Services befruchten. In diesem Fall geht es um die Analyse heterogener, zum Teil unstrukturierter Datenbestände in Fast-Echtzeit, verstanden als Zeiträume zwischen einigen Minuten und einigen Stunden vom Ingest der Daten in die analytische Umgebung bis zu ihrer Nutzung für geschäftliche Analysezwecke.

Technische Lücke schließen

Hier klafft bisher eine Lücke, die nur wenige Spezialisten füllen, allerdings bislang mit nicht für die Cloud entwickelten Lösungen: Einerseits gibt es die klassischen SQL-Datenbanken samt ihrer Cloud-Varianten – etwa von Oracle. Sie haben Probleme mit allen Daten, deren Format die Einbringung in ein klassisches Tabellenformat nicht erlaubt. Auch mit parallelen Anfragen werden klassische Datenbanken nur in Grenzen fertig. Andererseits kommen um Hadoop herum entstandene Architekturen zwar mit den unstrukturierten Datenmassen zurecht, ihr Kernel-Design ist aber letztlich für die heutigen Geschwindigkeitsanforderungen oft schon wieder zu langsam. NoSQL-Datenbanken wie MongoDB dagegen sind eher für den „echten“ Echtzeitsektor, also etwa den OLTP-Bereich vorgesehen, statt für analytische Aufgaben.

Erst AWS, dann Multicloud

Wer schnell, flexibel und kostengünstig ohne große Vorab-Investitionen vielfältige Datenformate analysieren will und nicht auf Antworten in Sekundenbruchteilen angewiesen ist, kann den Snowflake-Service probieren. Er wird derzeit ausschließlich über AWS bereitgestellt und nutzt als Unterlage zur Datenspeicherung S3 wegen dessen hoher Skalierbarkeit. Bei der Basis AWS soll es aber nicht bleiben. Avanes: „Wir fahren eindeutig einen Multicloud-Ansatz, um allen Anwendern ein Angebot machen zu können.“ Man könne noch nichts Genaues sagen, doch werde die Realisierung dieses Zieles nicht mehr allzu lange auf sich warten lassen. Immerhin ist es seit Kurzem bereits möglich, Datenbestände aus Microsoft Azure zwecks Analyse in Snowflake auf AWS zu migrieren. Für AWS hat sich Snowflake laut Avanes wegen dessen technischen Vorsprungs in Sachen Cloud-Technologie entschieden.

Viele Fehlinvestitionen im Big-Data-Bereich

Der Service möchte ähnliche Probleme lösen, die sich Unternehmen beim Einstieg in eine datenbasierende Geschäftsstrategie stellen. Bei deren Umsetzung werde nach oft horrenden Investitionen häufig weit am Ziel vorbeigeschossen, meint Martha Bennett, leitende Analystin beim Marktforschungsunternehmen Forrester. Der Grund: Anwender kümmerten sich, so Bennett, zu viel um die Technologie und zu spät um die Fragen, die sie eigentlich beantworten wollen. So werde viel Geld für Data Lakes ausgegeben, die dann brachlägen, während sich die Anwender die nötigen Daten für ihre analytischen Tools doch lieber beispielsweise im Original direkt aus der Transaktions-Anwendung besorgten. „Wir gehen davon aus, dass 60 bis 80 Prozent aller Data Lakes so, wie sie heute dastehen, wieder abgeschaltet werden“, meint die Marktforscherin.

Die Ziele von Snowflake formuliert Avanes: „Wir wollten eine hoch skalierbare, nach Nutzung abzurechnende und hinsichtlich der analysierten Datenformate sehr flexible Lösung bauen, die die Vorteile der Cloud sofort nutzt, statt gewissermaßen nachträglich an sie angeflanscht zu werden.“

DW-Architektur aus drei Schichten

Entstanden ist aus diesem Ansatz das erste Data Warehouse für die Cloud. Die Architektur der Lösung hat drei voneinander unabhängige Schichten: die Daten-, die Rechen- und die Serviceschicht. Alle sind getrennt skalierbar, so weit dies die Ressourcen des Infrastrukturproviders erlauben. Die Datenschicht besteht aus S3. Die Rechenschicht darüber besteht aus sogenannten Virtual Warehouses, die in diversen „T-Shirt-Sizes“, also Standardgrößen zwischen einem und derzeit 128 Rechenknoten, verfügbar sind und im laufenden Betrieb vergrößert werden können. Die maximale Knotenzahl wird wachsen. Hier läuft die eigentliche Datenverarbeitung. Auf Schicht 3 befinden sich diverse Services. Hier laufen die Metadaten der Infrastruktur zusammen, beispielsweise hinsichtlich der Nutzung der Daten, der Sicherheitsfunktionen oder der Authentifizierung, die auch mit Multifaktor-Verfahren erfolgen kann. Hier gehen auch die Anfragen angekoppelter analytischer Tools ein und wird der gesamte Cluster sowie die externe Kommunikation gemanagt.

Die Rechenschicht erlaubt jedem Kunden per Knopfdruck und in Sekundenschnelle das Aufsetzen beliebig vieler virtueller Warehouses, die alle physisch vollkommen unabhängig voneinander sind und keinerlei gemeinsame Ressourcen wie Prozessoren oder Arbeitsspeicher besitzen. Sie können aber parallel auf die Datenbestände zugreifen, ohne sich gegenseitig zu beeinträchtigen. Deshalb lassen sich beispielsweise mehrere analytische Lösungsmöglichkeiten für ein Problem durchspielen, indem als Test mehrere kleinere Warehouses für je einen Lösungsweg eingerichtet und dann beobachtet wird, welche Lösungsvariante die besten Ergebnisse bringt. Ein Snowflake-Kunden kann für jede Abteilung oder jede Aufgabe ein Warehouse einrichten und es auch genau so schnell wieder löschen. Zahlenmäßige Obergrenzen gibt es nicht.

Kostenabrechnung im Sekundentakt

Kosten fallen nur dann an, wenn ein Cluster, also ein virtuelles Warehouse aktiv ist, abgerechnet wird im Sekundentakt, wobei der Grundpreis für einen Credit bei zwei US-Dollar pro Stunde und Rechenknoten beträgt. Das An- und Abschalten kann auch automatisch erfolgen, etwa, wenn ein Warehouse vorhersehbar zu bestimmten Terminen einige Minuten hochgefahren werden muss, um eine bestimmte analytische Aufgabe zu erledigen, und sich anschließend selbsttätig wieder abschaltet – etwa für die tägliche Vertriebsstatistik.

„Wir können das durch ein intelligentes Pool-Management leisten. Die Kerne eines Data Warehouses, das ein Kunde abgeschaltet hat, arbeiten im Pool weiter, nur nicht für diesen Kunden“, erklärt Avanes. Intelligente Algorithmen berechnen voraus, wie die Infrastruktur jeweils aktuell zu dimensionieren ist und sorgen dafür, dass Snowflake seine AWS-Infrastruktur entsprechend vorausschauend skaliert.

Neben den Kosten für die Verarbeitung der Anfragen wird auch ein Preis für die Speicherung der ausgewerteten Daten fällig. Er beginnt bei 23 US-Dollar pro Terabyte und Monat, wobei der Preis sich auf komprimierte Daten bezieht. Snowflake geht von Kompressionsraten zwischen fünf und zehn aus, was den Service laut Avanes billiger als originäres S3 machen würde. Kunden können also ihre Daten ohne Mehrkosten direkt in einer Snowflake-S3-Instanz speichern. Avanes: „Wir wollen mit der Speicherung der Daten definitiv kein Geld verdienen.“

Ende-zu-Ende-Verschlüsselung

Snowflake hat seine Lösung mit wichtigen Business-Funktionen abgerundet: einer Ende-zu-Ende-Verschlüsselung von dem Moment an, da Daten an Snowflake-Treiber übergeben werden. Statt des Schlüsselmanagements durch Snowflake können sich Kunden auch für einen zusammengesetzten Schlüssel entscheiden, dessen eine Hälfte der Kunde hält. Snowflake ist kompatibel zu vielen Analysetools wie etwa Tableau und auch Datenbankformaten, für die Snowflake Konnektoren geschrieben hat oder sie beispielsweise vom ETL-Partner Talend bezieht. Mithilfe des relativ neuen Features SnowPipe können Daten unter Nutzung des AWS-Service Serverless Computing sehr schnell in S3 importiert werden. Zudem lässt sich ein Warehouse, wenn es beispielsweise wegen Anwenderfehlern korrumpiert wurde, einfach löschen und, falls zuvor eine Retentionsperiode definiert wurde, sehr schnell durch Rückgriff auf einen Zeitpunkt vor dem Zwischenfall als neues Virtual Warehouse wieder hochfahren.

Wichtig sind dem Unternehmen enge technologische Partnerschaften, von denen kürzlich eine weitere verkündet wurde: mit Qubole. Dieser Big-Data-as-a-Service-Anbieter strebt an, den Clustermanager Apache Spark, den Qubole-Service und Snowflakes virtuelle Data Warehouses zu kombinieren.

Derzeit ist Snowflake in fünf AWS-Regionen verfügbar, unter anderem in Frankfurt und Dublin. Avanes: „Da wir alle drei Layer unserer Lösung nicht nur zwischen Regionen, sondern auch innerhalb der Region spiegeln, ist automatisch auch für Redundanz gesorgt.“ In Deutschland sucht das Unternehmen nun Integrationspartner, um die Lösung im Markt zu etablieren.

(ID:45148727)