Start-up und Börsenstar Die Daten-Cloud „Snowflake“
Anbieter zum Thema
Schluss mit den Daten-Silos, weg mit den Duplikaten! Schluss mit Problemen der Parallelität, her mit bedarfsgerechter Ressourcenzuweisung und blitzschnellen Zugriffen auf eine einzige Datenplattform! Das cloud-basierte Data Warehouse Snowflake möchte die Unternehmens-IT im Sturm erobern. Ein neuartiger Ansatz und eine einzigartige Architektur sollen es möglich machen.

Die kalifornische Softwareschmiede aus San Mateo hat sich unter der visionären Leitung ihrer drei europäischen Mitgründer vor rund acht Jahren die Erschaffung eines cloud-nativen Data Warehouses auf die Fahnen geschrieben. Inzwischen ist es so weit. Mit der Finanzierung durch Wagniskapital und mit der Rückendeckung des CRM-Anbieters Salesforce gelang Snowflake der große Wurf: eine Daten-Cloud für Analytics.
Shootingstar und Börses Liebling
Snowflake ist ein vollständig verwalteter Dienst, der eine nahezu unbegrenzte Anzahl gleichzeitiger Workloads unterstützen kann. Dank seiner Architektur können mehrere Teams mit einer einzigen Kopie von Daten arbeiten, unabhängig davon, ob diese strukturiert oder halbstrukturiert sind. Abfragen aus einem virtuellen Warehouse wirken sich niemals auf die Abfragen aus einem anderen aus. Jedes virtuelle Warehouse lässt sich nach Bedarf vergrößern oder verkleinern. Die gemeinsame Nutzung von Daten unterliegt der Kontrolle von Snowflake und ist abgesichert, um die reibungslose Zusammenarbeit von Teams zu ermöglichen.
Gerade noch im September konnte Snowflake seinen Börsengang absolvieren und brach dabei gleich Allzeit-Rekorde. Das bisher größte IPO einer Softwareschmiede bescherte dem Unternehmen zeitweise eine größere Marktkapitalisierung als die von IBM. Und die Kunden reihen sich an. Das Unternehmen konnte im Laufe des vergangenen Jahres die Anzahl seiner Firmennutzer auf 3.100 verdoppeln. 146 davon sind Fortune 500-Unternehmen.
Inkongruente Datentypen
Schneeflocken entstehen in den Wolken, wenn Dampf zu winzig kleinen Wassertröpfchen kondensiert, sich an kleinen Partikeln anlagert und zu Eiskristallen gefriert. Jede Schneeflocke hat sechs Ecken und dennoch ist keine wie die andere. Duplikate? Völlig ausgeschlossen. Der Heilige Gral der Datenaufbewahrung könnte nun nach dem Vorbild von Schneeflocken Gestalt annehmen.
Snowflake ist eine Data-Warehouse-Plattform auf dem Unterbau der Infrastruktur von Amazon AWS und Microsoft Azure. Es gibt hier weder Hardware einzurichten noch Software zu installieren, die sich in einer privaten Cloud oder on-premises nutzen ließe. Snowflake ist die Daten-Cloud.
Die Cloud-Data-Plattform hat eine einzigartige Multi-Cluster-Architektur. Der Ansatz erlaubt es, auf dieselben Daten von mehreren Clustern heraus zuzugreifen. Analytics-Abfragen erfolgen in Standard-SQL. Dadurch findet Snowflake eine hohe Akzeptanz in der breiten Entwicklergemeinde, die sich in dieser Datenbanksprache gut auskennt.
Alle Datentypen – auch jene, die sich miteinander rein gar nicht vertragen – kann Snowflake in einem einzigen Data Warehouse abbilden (Stichwort: inkongruente Datentypen). Die Plattform unterstützt sowohl strukturierte als auch semi-strukturierte Daten und kann sich daraus ohne jegliche Vorab-Klassifizierung und ohne Schemadefinitionen einen Reim machen. JSON-, Avro-, ORC-, Parquet- und XML-Daten tauchen in Snowflake so auf, als ob sie relational und strikt strukturiert wären.
Der Traum vieler Entwickler
Mit dem verstärkten Aufkommen maschinell generierter Daten aus Softwarelösungen und IoT-Sensorik gewinnen diese Fähigkeiten besondere Relevanz, nicht zuletzt auch für Anwendungsentwickler in Unternehmen. „Die Tatsache, dass KI/ML- und (...) Datenservices wie Snowflake nur einen Katzensprung entfernt sind“, beobachtet Joe Duffy, Gründer und Geschäftsführer von Pulumi Corp., „dass sie sich als Bausteine für Anwendungsentwicklung nutzen lassen“ würde die Entstehung innovativer – sogar „großartiger“ – Softwarelösungen fördern, glaubt er, denn: „Anwendungsentwickler sind da ganz aus dem Häuschen“.
Duffy weiß, wovon er redet. Sein Unternehmen hat sich mit einem quelloffenen SDK für Infrastruktur-als-Code zur Bereitstellung cloud-nativer Anwendungen einen Namen gemacht. Selbst Snowflake nutzte Pulumi bei der Migration der Plattform von VMs zu Containern. Und Snowflake nutzt auch heute noch Pulumi: zum Orchestrieren der eigenen hochskalierbaren Infrastruktur in Code. Diese überspannt in jeder Snowflake-Region alle drei führenden Public-Clouds AWS, Microsoft Azure und Google Cloud Platform.
Unter der Haube von Snowflake
Die Architektur von Snowflake setzt sich aus drei Schichten zusammen:
- Storage für Big Data: Snowflake strukturiert und verwaltet alle Daten vollautomatisiert und autark; ausschließlich in Eigenregie.
- Compute-Ressourcen: Compute-Cluster, die sogenannten virtuellen Warehouses, übernehmen die Ausführung sämtlicher Datenverarbeitungsaufgaben rund um eingehende Anfragen; jeder Cluster kann auf alle Snowflake-Daten zugreifen, um sie dann individuell zu handhaben, und braucht hierbei auf andere Cluster keinerlei Rücksicht zu nehmen. So können einzelne Cluster bedarfsgerecht skalieren, ohne sich mit anderen erst absprechen zu müssen.
- Services: Dieser Teil der Architektur koordiniert das gesamte System mit Hilfe von Diensten im Bereich der Authentifizierung, des Infrastrukturmanagements, der Metadatenverwaltung, der Analyse und Optimierung von Abfragen und der Zugangskontrolle.
Die drei Schichten sind eng miteinander integriert, aber skalieren unabhängig jeweils nach dem tatsächlichen Bedarf. Diese Fähigkeit macht Snowflake extrem anpassungsfähig. Ein herkömmliches Data Warehouse stößt ab einer gewissen Anzahl von Benutzern auf Probleme im Zusammenhang mit der Parallelität. Wenn zu viele Abfragen um dieselben Ressourcen konkurrieren, kommt ein solches System ins Stottern. Die Multicluster-Architektur von Snowflake beugt solchen Problemen mit dem Konzept der virtualisierten Warenhäuser vor.
„Virtuelle Warehouses“ halten Analysen stabil
Die Architektur von Snowflake ist eine Mischung aus traditionellen Shared-Disk- und Shared-Nothing-Datenbankarchitekturen. Ähnlich wie bei Shared-Disk-Architekturen verwendet Snowflake ein zentrales Datenrepository für persistente Daten, auf das alle Rechenknoten eines Data Warehouses zugreifen können. Doch ähnlich wie im Falle von Shared-Nothing-Architekturen verarbeitet Snowflake die Abfragen mithilfe unabhängiger MPP-Rechencluster (Massively Parallel Processing), bei denen jeder Knoten im Cluster einen Teil des gesamten Datensatzes lokal speichert. Diese sogenannten „virtuellen Warehouses“ teilen keinerlei Ressourcen miteinander und so können sie sich nicht gegenseitig ausbremsen. Datenanalysten und Datenwissenschaftler kommen so jederzeit an ihre Daten, ohne auf andere Lade- und Verarbeitungsaufgaben warten zu müssen.
Dieser Ansatz verbindet die Simplizität der Datenverwaltung einer Shared-Disk-Architektur mit der Leistung und der Skalierbarkeit einer Shared-Nothing-Architektur. Die benötigten Rechenknoten seiner Cluster reserviert Snowflake bei einem Cloud-Infrastrukturanbieter unter Einbezug der Cloud-Engineering-Plattform von Pulumi. Diese konnte im Übrigen ein 10-faches Wachstum seiner Nutzerbasis in nur zwölf Monaten verbuchen und kann selbst auf kapitalstarke Investoren wie NEA, Madrona Venture Group und Tola Capital verweisen. Mit diesem Unterbau hat Snowflake also anscheinend auf eine zukunftsträchtige Lösung gesetzt.
Pulumi versteht sich als ein Anbieter quelloffener Software für Cloud-Engineering, der sich Modern-Infrastructure-as-Code (MIaC) auf die Fahnen geschrieben hat. Doch das aufstrebende Unternehmen sieht MIaC lediglich als einen Ausgangspunkt für neue Produkte und Dienstleistungen – wie eben Data Warehousing mit Snowflake.
Die Daten-Cloud von Snowflake integriert sich unter anderem mit Lösungen von SAP, Salesforce Tableau, Qlik und Apache Kafka. Snowflake hat kaum Kontrolle über die eigene Kostenstruktur und bekommt kräftigen Gegenwind von seinen zwei größten Infrastrukturanbietern AWS und Microsoft. Die beiden Hyperscaler sehen Snowflake offenbar nicht mehr primär als einen Kunden, sondern vorrangig als einen ernst zu nehmenden Wettbewerber und eine potenzielle Bedrohung für ihre eigenen Data-Warehouse-Lösungen AWS Redshift und Azure Data Warehouse. Snowflake musste den beiden Cloud-Riesen vertraglich jeweils ein fest definiertes Abnahmekontingent an Cloud-Kapazitäten zusichern und eine sehr nachteilhafte Preispolitik seiner großen Mitbewerber – knapp an einem Preiskrieg – zähneknirschend hinnehmen.
Zusammenfassung
Die Cloud-Datenplattform von Snowflake konsolidiert Analysen über Data Warehouses, Data Marts und Data Lakes hinweg zu einer einzigen „Quelle der Wahrheit“ – in der Cloud.
Die einzigartige Architektur von Snowflake trennt Speicher- von Rechenressourcen voneinander. Alle Workloads können die jeweils benötigte Rechenleistung gleichzeitig in Anspruch nehmen und auf die benötigten Datenbestände cloud-nativ zugreifen.
Mit Snowflake gehören Parallelitätsprobleme beim Data Warehousing endlich der Vergangenheit an. Ob die Daten-Cloud jedoch dem Druck seiner Infrastrukturanbieter standhalten kann, bleibt abzuwarten. Snowflake könnte leicht seinem eigenen Erfolg zum Opfer fallen.
* Das Autorenduo Anna Kobylinska und Filipe Pereira Martins arbeitet für McKinley Denali Inc. (USA).