Snowflake vs. Databricks: Was sind die Unterschiede?

Unternehmen stehen vor der Herausforderung Daten in kürzester Zeit für Analysen wie Machine Learning, Dashboards und Auswertungen vorzubereiten. Data Warehouses und Data Lakes haben sich zwar weiterentwickelt, dennoch benötigt es in der Zukunft eine Lösung, die Daten in großen Massen speichern und verwalten kann. 

Sowohl Snowflake als auch Databricks bieten eine Lösung, um die Massen an Daten im Unternehmen zu verwalten. Die beiden Cloud-Giganten Databricks und Snowflake haben sich auf die Lösung dieser Herausforderung spezialisiert und konkurrieren um den Platz der besten Datenspeicher-Architektur. 

In diesem Beitrag möchten wir untersuchen, worin sich die beiden Spitzenreiter unterscheiden, in welchen Punkten sie sich ähneln und ob das Data Lakehouse oder die Data Cloud die Zukunft des Datenmanagements prägen wird.

  1. Vorstellung der Unternehmen
  2. Die Positionierung im Datenverwaltungsprozess
  3. Wie unterscheidet sich die Architektur von Snowflake und Databricks?
  4. Snowflake vs. Databricks: Die wichtigsten Unterschiede im Vergleich
  5. Fazit

Vorstellung der Unternehmen

Die beiden Unternehmen Databricks und Snowflake sind führende Anbieter in der Branche der Datenverarbeitung. Ihre Produkte helfen Unternehmen ihre wachsenden Mengen an strukturierten und unstrukturierten Daten zu verarbeiten und aus ihnen Nutzen zu generieren. Normalerweise erledigen Data-Warehouses die Aufgabe der Datenspeicherung, um anschließend Analysen mit BI-Dashboards durchzuführen. Durch Cloud-Tools wie Databricks und Snowflake ist es allerdings möglich geworden, die wachsenden Datenpools der Unternehmen nahezu in Echtzeit zu speichern, zu analysieren und somit intelligente Entscheidungen zu treffen.

Snowflake positioniert sich selbst als die „Data Cloud“ für Unternehmen, während Databricks sich als „Data Lakehouse“ positioniert. Um zu verstehen, woher dieser Unterschied rührt, lohnt sich einen Blick in die Vergangenheit zu werfen.

Der Hintergrund von Snowflake

Im Jahr 2012 taten sich drei Data-Warehousing-Experten – Benoit Dageville, Thierry Cruanes und Marcin Zukowski (frühere Orcale Mitarbeiter)- zusammen und gründeten das Unternehmen, das heute „Snowflake“ heißt. Sie nahmen sich vor eine Lösung für die Verarbeitung von Big Data zu finden, ohne dabei auf das Data Warehouse verzichten zu müssen: Eine Datenplattform, die speziell für die Cloud entwickelt wird, auf Grundlage des Data Warehouse. 

Auf diese Weise konnten die drei Gründer proaktiv die Probleme lösen, die in On-Premises-Lösungen eingebettet waren. Zum einen speichert Snowflake Daten unabhängig davon, wo die Berechnungen durchgeführt werden. Es besteht eine große Diskrepanz zwischen den Speicherkosten und den Kosten für die Rechenleistung. Die Trennung der beiden Bereiche bedeutet nicht nur, dass sie unabhängig voneinander skaliert werden können, sondern auch, dass die Kunden nur für das bezahlen, was sie tatsächlich nutzen. Zweitens können Kunden virtuelle Data Warehouses schnell und in Echtzeit einrichten und anpassen sowie Datensätze problemlos zwischen Teams austauschen, um Silos zu vermeiden.

Der Hintergrund von Databricks

Databricks hat seinen Ursprung in der Wissenschaft und der Open-Source-Community und wurde 2013 von den ursprünglichen Entwicklern von Apache Spark, Delta Lake und MLflow gegründet: Ali Ghodsi, Matei Zaharia, Reynold Xin und Ion Stoica. Als weltweit erste und einzige Lakehouse-Plattform in der Cloud, kombiniert Databricks das Beste aus Data Warehouses und Data Lakes und bietet eine offene und einheitliche Plattform für Daten und KI: Das Data Lakehouse.

Das Databricks-Projekt wurde ins Leben gerufen, um die Nutzung von Spark zu vereinfachen. Databricks übernimmt die Erstellung und Konfiguration von Server-Clustern, Verbindungen zu verschiedenen Dateisystemen, Programmierschnittstellen für Python, Scala und SQL, automatisches Herunterfahren nach Nichtnutzung (um Geld zu sparen) und viele andere Annehmlichkeiten gegenüber eigenen Spark-Clustern.

Die folgende Tabelle dient als Übersicht für den Vergleich der beiden Unternehmen.

 DatabricksSnowflake
Gründungsjahr20132012
Leistungsmodell (Service)Platform as a Service (PaaS)Software as a Service (SaaS)
HauptkundschaftAnalysten, Data Scientists, Data EngineersData Analysten, Data Engineers
FokusApache Spark; Vereinfachung der Verwaltung der InfrastrukturNutzt SGL-Engine, um in Datenbanken gespeicherten Informationen zu verwalten
Unternehmensgröße Mitarbeiteranzahl 5.0002.000
Jahresumsatz800 Mio. US-Dollar (2021)592 Mio. US-Dollar (2021)
Snowflake vs. Databricks

Nachdem wir einen Blick in die Vergangenheit geworfen haben, gehen wir zu dem Vergleich der aktuellen Datenarchitektur beider Unternehmen über. 

Die Positionierung im Datenverwaltungsprozess

Beide Unternehmen verfolgen die gleiche Vision: die einzige „Big Data“-Plattform für das moderne Unternehmen zu werden. Snowflake positioniert sich als Data Cloud und Databricks positioniert seine Plattform als Data Lakehouse. Das Ziel beider Unternehmen ist es, jedem Kunden zu ermöglichen, so viele Daten wie möglich auf einer Plattform zu speichern und zu nutzen.

In dem Prozess der Datenverarbeitung und der Generierung von Mehrwert positionieren sich Databricks und Snowflake an verschiedenen Stellen. 

Snowflake fokussiert sich auf die Speicherung und Verarbeitung von Daten (Data Engineering). Sie kümmern sich aber auch um die unten Aufgeführten Punkte, wie die Sicherheit und Richtlinien für Daten. Data Science ist bei Snowflake ein recht frisches Thema und gerade ausgebaut. 

Databricks setzt bei der Datenverarbeitung an und deckt das gesamte Spektrum der Datenverarbeitung ab. Von Data Engineering über die Datenmodellierung bis hin zur Operationalisierung von Machine Learning Modellen, Data Science und Machine Learning. Auch die Aspekte der Datensicherheit sind durch Databricks garantiert.

Um einen guten Vergleich zwischen dem Data Lakehouse und der Data Cloud ziehen zu können, sehen wir uns zunächst die Architektur und das Vendor Lock-In an. 

Wie unterscheidet sich die Architektur von Snowflake und Databricks?

Der größte Unterschied der beiden Architekturen ist der Ursprung. Während Databricks seinen Ursprung im Data Lake findet, baut die Data Cloud von Snowflake auf dem Konzept der Data Warehouses auf. Sehen wir uns das genauer an. 

Das Lakehouse von Databricks baut auf dem Delta Lake auf und ermöglicht die Verarbeitung von Daten jeglicher Form. Snowflakes Data Cloud basiert auf dem Data Warehouse und verarbeitet Strukturierte oder Semi-Strukturierte Daten.

Data Cloud Architektur (Snowflake)

Snowflake ist eine Daten-Cloud-Plattform, die im Jahr 2014 öffentlich vorgestellt wurde. Snowflake begann seine Reise als „Data Warehouse-as-a-Service“, hat sich aber zu einer viel breiteren Plattform entwickelt, indem es sich auf Sicherheit, Datenfreigabe und Marktplatzfunktionen erstreckt.

Kunden können neue virtuelle Lager (private virtuelle Cluster) einrichten, die alle durch die vom Kunden benötigte Anzahl von Knoten betrieben werden. Größere Unternehmen können mehrere Instanzen oder Multi-Cluster einrichten. 

Wenn Kunden ein neues virtuelles Lagerhaus einrichten, können sie den Cloud-Anbieter und die Region angeben, die sie nutzen möchten, und eine Größe (von XS bis 4XL) für den Computer-Cluster auswählen. 

Dies steuert intern die Anzahl der verteilten Rechenknoten innerhalb dieses Clusters. Snowflake verwaltet und skaliert die Infrastruktur der eigenen Plattform bei Cloud-Anbietern wie AWS und Azure, hilft aber auch bei der Skalierung von Kundeninstanzen, die innerhalb von Snowflake laufen.

Die Architektur von Snowflakes Data Cloud besteht aus drei unabhängig voneinander skalierbaren Komponenten: Speicher, Rechenleistung und Cloud-Services. Die ursprüngliche Stärke von Snowflake war die Trennung von Rechen- und Speicherleistung. Dieser Wettbewerbsvorteil wurde jedoch ausgehöhlt, da die meisten modernen Datenplattformen ähnliche Funktionen in ihrer Infrastruktur anbieten.

Snowflakes Multi-Cloud Architektur mit den drei Ebenen: Speicher, Rechenleistung, Cloud-Services.
Snowflakes Multi-Cloud Architektur.

Speicherebene:

Die Speicherebene von Snowflake nimmt riesige Mengen und Varianten von strukturierten, halbstrukturierten und unstrukturierten Daten auf, um einen einheitlichen Datensatz zu erstellen. Physisch ist die Speicherebene von der Rechenleistung getrennt. Das ermöglicht eine von der Rechenleistung unabhängige Skalierbarkeit für das Data Warehousing. Die Speicherebene von Snowflake basiert auf AWS S3, Azure Blob und Google Cloud Storage (GCS). Der Kunde kann dank Cloud-Agnostic den Cloud-Anbieter wählen, den er nutzen möchte.

Rechenleistung/ Compute-Cluster:

Snowflake-Kunden können einen dedizierten Compute-Cluster, ein so genanntes „virtuelles Lager“, für Analysen einrichten. Die Architektur, die dahinter steht, wird als massive parallele Verarbeitung (MPP) bezeichnet, bei der der Compute-Cluster Abfragen in separate Unterabfragen auf den einzelnen Compute-Knoten aufteilt, von denen jeder einen Teil der verteilten Daten bearbeitet. 

Snowflake speichert Daten in kleinen Datenblöcken, so genannten Mikropartitionen.  Dies ermöglicht die schnelle Verarbeitung riesiger Datenmengen und eine Skalierung   auf unglaublich große Datensätze mit mehreren Petabytes.

Cloud-Services:

Zu den angebotenen Diensten gehören eine API für die Verwaltung der Daten, Sicherheitsrollen, die gemeinsame Nutzung von Daten, ein Datenmarktplatz, Datentransaktionen und die Partitionierung von Metadaten (z. B. wie Datenfelder aufgeteilt werden).

Data Lakehouse Architektur von Databricks

Databricks bietet eine Plattform für Datenwissenschaft und -analyse. Das Kernprodukt ist eine Apache Spark Engine, die für die Ausführung fortgeschrittener Datenabfragen verwendet wird. Das Data Lakehouse kombiniert Elemente eines Data Warehouse mit einem Data Lake in einer zentralen Plattform. Es ist in der Lage, die Vorteile von Streaming Analytics, BI und maschinellem Lernen auf einer einzigen Plattform bereitzustellen.

Das Data Lakehouse von Databricks basiert auf dem Open-Source-Framework Apache Spark, welches analytische Abfragen von semi-strukturierten Daten ohne traditionelles Datenbankschema ermöglicht. 

Die Lakehouse Architektur von Databricks. Das Data Lakehouse von Databricks basiert auf dem Open-Source-Framework Apache Spark, welches analytische Abfragen von semi-strukturierten Daten ohne traditionelles Datenbankschema ermöglicht.
Die Lakehouse Architektur von Databricks.

Der Vorteil, welcher sich aus der Kombination von Data Lake und Warehouse in einer Plattform ergibt: Datenteams können schneller mit den Daten arbeiten, ohne auf mehrere Systeme zugreifen zu müssen. 

Das hilft den Teams wiederum, Probleme mit Datenduplizierung, zusätzlichen Betriebskosten und mehreren ETL-Prozessen, zu vermeiden.

Wir haben dem Thema Data Lakehouse einen kompletten Blogbeitrag gewidmet: Das Data Lakehouse.

Snowflake vs. Databricks: Die wichtigsten Unterschiede im Vergleich

Neben der Architektur der Datenmanagement-Systeme gibt es noch weitere Unterschiede zu berücksichtigen. 

In der folgenden Tabelle sind die wichtigsten Unterschiede übersichtlich aufgelistet.

 Databricks „Data Lakehouse“Snowflake „Data-Cloud“
Service ModelPaaSSaaS
Unterstützung wichtigster Cloud-PlattformenAzure, AWS, GoogleIn Snowflake Cloud: Azure, AWS, Google
Migration auf PlattformKomplex, da Data LakeEinfach, Design basiert auf Data Warehouse
SkalierbarkeitAutomatischAutomatisch
Vendor Lock-In?NeinJa
BenutzerfreundlichkeitLernkurveIntuitiv
KostenJe nach GebrauchJe nach Gebrauch
Data StrukturenAlle DatentypenSemi-strukturiert, strukturiert
DateiformateApache Spark, Parquet, AWSApache Iceberg
Support für ML-AnwendungenStarkBegrenzt
Streaming FähigkeitStarkSchwach
Unterstützte ProgrammiersprachenScala, Python, R, SQLJava, Scala, SQL, Python (Snowpark Dataframes)
Snowflake vs. Databricks: Die wichtigsten Funktionen im direkten Vergleich.

Welches System ist offener?

Databricks wird von Entwicklern oft als ein viel offeneres System als Snowflake angepriesen, da es aus Open-Source-Systemen hervorgegangen ist. Databricks basiert auf drei zentralen Open-Source-Systemen (Apache Spark, Delta Lake und MLflow). Sie unterstützen außerdem viele verschiedene Programmiersprachen, wie SQL, Python, Java, R. Da es sich um eine Betriebssystemtechnologie handelt, bedeutet dies, dass das Produkt jedem Unternehmen zur Verfügung steht, welches die Plattform implementieren möchte.

Snowflake hingegen folgt dem traditionellen Enterprise Data Warehouse. Daten können in Snowflake nur durch die Snowflake-Abfrage-Engine abgerufen werden. Snowflake ist somit eher ein geschlossenes System. Durch die Verwendung von Apache Iceberg bietet Snowflake dennoch die Möglichkeit, den Kunden mehr Optionen für Speichermuster in Kombination mit der Sicherheit und Governance von Snowflake. 

INFO: Ein offenes System ist nicht automatisch besser als ein geschlossenes. Ein offenes System bietet Transparenz und Konfigurierbarkeit, da der Quellcode verfügbar ist und manipuliert werden kann. Ein geschlossenes System hingegen verbirgt die innere Funktionsweise des Systems. Auch wenn es an Transparenz mangelt, ist das Produkt in der Regel so vorkonfiguriert, dass die Betreiber es sofort nutzen können, ohne sich um die Verwaltung der Infrastruktur oder die Auswahl der Konfiguration kümmern zu müssen. 

Außerdem sind die Entwickler eines geschlossenen Systems oft flexibler, wenn es darum geht, Änderungen an der internen Funktionsweise des Systems vorzunehmen, da sie sich nicht mit der Kompatibilität zu offenen Schnittstellen oder dem Community-Management auseinandersetzen müssen.  

Support und Benutzerfreundlichkeit

Die Snowflake Data Cloud gilt als benutzerfreundlich und verfügt über eine intuitive SQL-Schnittstelle, die die Einrichtung und den Betrieb erleichtert. Außerdem verfügt es über zahlreiche Automatisierungsfunktionen, die die Nutzung erleichtern. Auto-Scaling und Auto-Suspend helfen zum Beispiel beim Stoppen und Starten von Clustern während Leerlauf- oder Spitzenzeiten. Die Größe von Clustern kann einfach geändert werden. Allerdings bietet die Data Cloud weniger Support für Machine Learning Workloads. Snowflakes Data Cloud bietet zunächst nur die Möglichkeit mit SQL zu arbeiten, ermöglicht aber heute durch Snowpark Dataframes auch die Zusammenarbeit mit Python. Die Supportmöglichkeit von Streaming ist mit einer Latenz >1 ebenfalls eher schwach.

Auch Databricks verfügt über eine automatische Skalierung von Clustern, ist aber nicht so benutzerfreundlich. Die Benutzeroberfläche ist komplexer, da sie sich an ein technisches Publikum richtet. Sie erfordert mehr manuelle Eingaben, wenn es um Dinge wie die Größenänderung von Clustern, die Aktualisierung von Konfigurationen oder das Umschalten von Optionen geht. Dafür ist das Data Lakehouse bestens geeignet für den Support von Machine Learning Workloads.

Sicherheit

Snowflake und Databricks bieten beide rollenbasierte Zugriffskontrolle (RBAC) und automatische Verschlüsselung. Snowflake fügt Netzwerkisolierung und andere robuste Sicherheitsfunktionen in mehreren Stufen hinzu, wobei jede höhere Stufe mehr kostet. Der Vorteil ist jedoch, dass Sie nicht für Sicherheitsfunktionen bezahlen müssen, die Sie nicht brauchen oder wollen.

Auch Databricks verfügt über viele wertvolle Sicherheitsfunktionen. Beide erfüllen die Anforderungen von SOC 2 Typ II, ISO 27001, HIPAA, GDPR und mehr.

Integration

Snowflake findet sich auf dem AWS-Marktplace wieder, ist aber nicht tief in das AWS-Ökosystem eingebettet. Die Integration der Data-Cloud kann zu Herausforderungen führen, funktioniert aber problemlos mit beispielsweise Apache Spark, IBM Cognos, Tableau und Qlik. Databricks Data Lakehouse ist jedoch vielseitiger in Bezug auf die Unterstützung  beliebiger Datenformate (einschließlich unstrukturierter Daten). 

Kosten

Da es sich bei Databricks und Snowflake um Cloud-Dienste handelt, hängen die Kosten von der Nutzungsintensität ab. Bei Databricks ergeben sich die Kosten aus dem Server und den so genannten Databricks Units (DBUs). Die Anzahl der DBUs ist dabei abhängig von der Server- und Clustergröße sowie der genutzten Laufzeit.

Kosten Databricks= (Anzahl Server*DBU)*h/Nutzung + (Anzahl Server*Instanzenpreise)*h/Nutzung

Dann sind Sie bei unserem Blogbeitrag „Databricks Kostenoptimierung“ richtig!

Das Preismodell von Snowflake umfasst die beiden Hauptteile Direktspeicher und Rechenressourcen. Für virtuelle Warehouses zahlen Kunden mit den so genannten Snowflake Credits. Sie möchten Ihre Ausgaben bei Databricks kontrollieren?

Fazit: Wer gewinnt das Rennen um das Top Datenmanagement-System?

Snowflake und Databricks sind beide ausgezeichnete Datenplattformen für Analysezwecke. Sowohl das Data Lakehouse als auch die Data Cloud haben ihre jeweiligen Vor- und Nachteile. Die Wahl der besten Plattform für Ihr Unternehmen hängt von den deswegen vor allem von den Nutzungsmustern, Datenmengen, Arbeitslasten und Datenstrategien ab.

Wir empfehlen Snowflakes Data-Cloud für Standard-Datentransformationen und -analysen und für Benutzer, die mit SQL vertraut sind. Databricks Data Lakehouse eignet sich dank seiner Spark-Engine, welche die Verwendung mehrerer Sprachen ermöglicht, besser für Streaming, ML, KI und Data Science Workloads. Snowflake hat bei den Sprachen aufgeholt und kürzlich Unterstützung für Python, Java und Scala hinzugefügt.

Zusammenfassend lässt sich sagen, dass Databricks bei einem technischen Publikum gewinnt. Snowflake ist für technische und weniger technische Benutzer leicht zugänglich. Databricks bietet so ziemlich alle von Snowflake angebotenen Datenverwaltungsfunktionen und noch mehr. Dafür ist die Plattform des Data Lakehouse nicht einfach zu bedienen, hat eine steile Lernkurve und erfordert mehr Wartung. Dafür kann es eine viel breitere Palette von Daten-Workloads und Sprachen abdecken. Und diejenigen, die mit Apache Spark vertraut sind, werden sich eher für Databricks entscheiden.

Sie finden das Thema interessant und möchten gerne mehr erfahren? Dann kontaktieren Sie uns gerne!

Ihr Kontakt: Vinzent Wuttke

Unternehmen sitzen auf einem ungenutzten Berg von Kundendaten. Wir von datasolut entwickeln KI, die Ihr Marketing optimiert. Damit Sie dem richtigen Kunden zur richtigen Zeit das richtige Angebot machen können.

Auch interessant für Sie