Wir vergleichen drei große Data Analytics Tools am Markt und zeigen die jeweiligen Vorteile und Nachteile auf: Microsoft Fabric vs. Snowflake vs. Databricks
Inhalte
1. Tabelle: Funktionen im Überblick
2. Empfehlung: Für wen eignet sich Microsoft Fabric/Snowflake/Databricks?
3. Daten importieren, transformieren und übertragen in Microsoft Fabric / Snowflake / Databricks
4. Daten visualisieren in Microsoft Fabric / Snowflake / Databricks
1. Funktionen im Überblick: Microsoft Fabric vs. Snowflake vs. Databricks
|
Microsoft Fabric |
Snowflake |
Databricks |
Service Model (Siehe unten) |
SaaS (Software as a Service) |
SaaS (Software as a Service) |
PaaS (Platform as a Service) |
Data Structures |
Alle Datentypen |
Semi-strukturierte (z. B. JSON) und strukturierte Daten (Tabellen) |
Alle Datentypen |
Data Ingestion (siehe Kapitel Nr. 3
) |
- COPY command - Bietet no-code/low-code Optionen (Data Pipelines, Dataflows) |
- COPY command - Snowpipe (Automatisiert die kontinuierliche Datenübernahme aus dem Cloud-Speicher) |
- COPY command - Auto Loader: kontinuierliche Aufnahme von Dateien aus einem Cloud-Speicher - Lakeflow Connect: für komplexere Anwendungsfälle mit mehreren, unterschiedlichen Datenquellen und Zielorten |
Visuelle Datenanalyse (siehe Kapitel Nr. 4
) |
Über Berichte in Power BI (integriert) mit direktem Zugriff auf die Daten über OneLake - Vielfältige Optionen für die Kollaboration |
Über Snowflake’s Dashboards aber Visualisierungsoptionen sehr beschränkt |
Über Databricks-Dashboards aber Möglichkeit der gemeinsamen Nutzung begrenzt |
Sicherheit |
Nutzt Microsoft Entra ID für Authentifizierung, bietet standardmäßige Verschlüsselung und Bedrohungsüberwachung durch Microsoft → „Integration“ (Features: Single-Sign-On (SSO), Multi-Faktor-Authentifizierung (MFA)) |
Unterstützt Multi-Faktor-Authentifizierung (MFA), bietet Datenverschlüsselung und regelmäßige Sicherheitsbewertungen → „Datenisolierung“ |
Bietet SSO, Access Control Lists (ACLs) und Unterstützung für kundengesteuerte Schlüssel → „Flexibilität“ |
Version Control mit Git |
Azure DevOps oder GitHub |
GitHub, GitLab, BitBucket, Azure DevOps, AWS CodeCommit |
GitHub, GitLab, BitBucket, Azure DevOps, AWS CodeCommit |
Dateiformat |
Das Delta-Lake-Format basiert auf Parquet-Dateien (ein spaltenbasiertes Dateiformat), aber mit zusätzlichen Metadaten, die Transaktionen und Versionskontrolle ermöglichen. Wenn Änderungen an den Daten vorgenommen werden, speichert die Delta-Tabelle nur die Differenzen (also die hinzugefügten, geänderten oder gelöschten Datensätze) im Vergleich zur ursprünglichen Basistabelle. |
Snowflake verwendet ein proprietäres Format und bietet zusätzliche Funktionen und integrierte Performance-Optimierungen. |
- |
Abrechnung |
Abrechnung über „Capacity Units“ (CUs): Pay-as-you go oder Reservierung bestimmter CUs für einen bestimmten Zeitraum (in Deutschland zirka 50 % günstiger) |
Pay-as-you-go: Abrechnung der genutzten Rechenleistung und Speicherressourcen (Compute Credits) |
Pay-as-you-go: Abrechnung der genutzten Rechenleistung und Speicherressourcen („Databricks Units“) |
Vorteile |
- Benutzerfreundlichkeit durch viele Low-Code Möglichkeiten: für schnelle und kostengünstige Lösungen vorteilhaft, da Umsetzung ohne viel Programmierkenntnisse möglich - Gutes Preis-Leistungsverhältnis für die gängigen Anforderungen an Datenmenge und Komplexität - Realtime-Funktionalitäten - Skalierungsfähige Analyselösung: intelligente Kapazitätsplanung, automatisierte Skalierungsmöglichkeiten des Ressourcenverbrauchs - KI-Modelle trainieren und Experimente durchführen mit MLflow - Machine Learning Funktionalitäten mittels Azure Machine Learning - Native Integration von Power BI - Nahtlose Integration mit Microsoft-Diensten |
- Unabhängige Skalierung von Speicher und Rechenleistung - Cloud-agnostische Umgebung: Auswahlmöglichkeit, bei welchem Cloud-Anbieter die Snowflake-Instanz laufen soll, optional auf mehreren Clouds. |
- Hohe Leistung für Spezialfälle mit extrem großen Datenmengen und komplexe Datenverarbeitungs-Workloads - Fortschrittliche ML-Funktionen - Optimal für Real-Time Analytics |
Nachteile |
- Relativ neue Technologie mit potentiellen Reifeproblemen (manche der neuen Features im Preview-Mode kurzfristig noch nicht zu 100 % nutzbar (Stand 2.2025)) - Starke Bindung an das Microsoft-Ökosystem - Real-Time möglich, aber nicht so effizient |
- Weniger integrierte Funktionen für fortgeschrittene Analysen und Machine Learning im Vergleich zu Databricks - Begrenzte Unterstützung für unstrukturierte Daten - Begrenzte Unterstützung für Reporting-Tools wie Power BI - Real-Time möglich aber nicht so effizient |
- Steile Lernkurve, insbesondere für Nicht-Programmierer - Kann komplexer in der Einrichtung und aufwändiger in der Verwaltung sein - Begrenzte Unterstützung für Reporting-Tools wie Power BI |
2. Empfehlung: Für wen eignet sich Microsoft Fabric/Snowflake/Databricks?
Für wen eignet sich Microsoft Fabric?
Zu empfehlen:
- Für Unternehmen, die bereits stark in Microsoft-Technologien (wie Azure, Dynamics 365 oder Power BI) investiert haben. Sie profitieren von einer nahtlosen Integration.
- Für Unternehmen, die eine einheitliche Plattform für Data Engineering, Data Science und Business Intelligence benötigen.
- Für Unternehmen, die sowohl strukturierte als auch unstrukturierte Daten analysieren müssen.
- Für Unternehmen, die Untersuchungen und Verarbeitungen kostengünstig mittels Low-Code-Features umsetzen wollen.
- Anwendungsbeispiel 1: Ein Unternehmen, das Daten aus Webseiten, Online-Shops, sozialen Medien oder CRM-Systemen erfassen, das Verhalten von Kunden und Kundinnen verstehen, Trends identifizieren und daraus fundierte Geschäftsentscheidungen ableiten möchte.
- Anwendungsbeispiel 2: Ein Unternehmen, das Power BI zum Reporting nutzt und nun seine gesamte Dateninfrastruktur modernisieren möchte.
- Anwendungsbeispiel 3: Ein Unternehmen, das Geschäftsdaten überwachen, bei der Überschreitung von Schwellenwerten gewarnt werden sowie Muster und Abweichungen in Daten identifizieren möchte.
Nicht zu empfehlen:
- Für Unternehmen, die eine strikte Cloud-agnostische Lösung benötigen - allerdings reicht es in vielen Anwendungsfällen vollkommen aus, Daten aus anderen Clouds zu integrieren und in Azure zu hosten.
- Anwendungsbeispiel: Ein Start-up, das einen Vendor Lock-in vermeiden möchte.
Wir führen Microsoft Fabric in Ihrem Unternehmen ein und beraten zur Nutzung – jetzt Kontakt aufnehmen!
Für wen eignet sich Snowflake?
Zu empfehlen:
- Für kleinere weniger komplexe Unternehmen mit einfachen BI-Anforderungen, die eine einheitliche Platform für Data Engineering suchen.
- Für Unternehmen mit einer Multi-Cloud-Strategie, denn Snowflake ist von Grund auf für eine Cloud-agnostische Umgebung konzipiert - allerdings unterstützen auch Microsoft Fabric und Databricks Multi-Cloud-Szenarien.
- Anwendungsbeispiel: Ein Unternehmen nutzt verschiedene Cloud-Umgebungen in seinen Tochtergesellschaften und möchte konsistente Datenabfragen und -analysen über verschiedene Regionen hinweg durchführen.
Nicht zu empfehlen:
- Für Unternehmen, die komplexe Data Science Workflows und Machine Learning einsetzen (da sind MS Fabric und Databricks am besten geeignet).
- Für Unternehmen mit BI-Anforderungen.
- Anwendungsbeispiel: Ein lokales Einzelhandelsgeschäft benötigt nur grundlegende Datenanalysen für Verkaufs- und Bestandsberichte.
Für wen eignet sich Databricks?
Zu empfehlen:
- Für Spezialfälle, z. B. Organisationen mit extrem großen Datenmengen und Anforderungen an hohe Geschwindigkeit und Leistung der Datenverarbeitung.
- Für Unternehmen, die Daten in Echtzeit verarbeiten und analysieren müssen.
- Anwendungsbeispiel: Ein Pharmaunternehmen, das sehr große Datenmengen aus klinischen Studien analysieren möchte und ML-Modelle zur Krankheitserkennung entwickelt.
Nicht zu empfehlen:
- Für Unternehmen, die einfache BI-Lösungen und Reporting benötigen.
- Für Unternehmen mit begrenzten technisch versierten Personalkapazitäten oder ohne Data Science-Expertise.
- Anwendungsbeispiel 1: Ein mittelständisches Unternehmen, deren Schwerpunkt der Auswertung bei BI-Dashboards für Vertriebs- und Projektberichte liegt.
- Anwendungsbeispiel 2: Ein Unternehmen, das ohne viele Vorkenntnisse in der komplexen Auswertung von Daten seine Datenanalyse auf ein neues Level heben möchte.
In Microsoft Fabric Daten importieren, transformieren und übertragen
In Microsoft Fabric können nach der Erstellung eines Lakehouses Daten erfasst werden. Fabric bietet folgende Möglichkeiten:
- Das Hochladen von lokalen Dateien.
- Beispieldaten werden ebenso zur Verfügung gestellt.
- Shortcuts können verwendet werden, um schnell Daten von internen und externen Speicherorten in ihre Lakehouses oder Warehouses zu ziehen. Shortcuts können aktualisiert oder aus ihrem Element entfernt werden, aber diese Änderungen haben keine Auswirkungen auf die ursprünglichen Daten und ihre Quelle. Shortcuts unterstützen mehrere Dateisystem-Datenquellen. Dazu gehören interne OneLake-Standorte, Azure Data Lake Storage (ADLS) Gen2, Amazon S3 und Dataverse.
- Dataflows sind wiederverwendbare ETL-Pipelines (ETL=Extrahieren, Transformieren, Laden), mit denen Daten aus verschiedenen Quellen geladen, bereinigt und transformiert werden können. Sie bieten eine Low-Code-/No-Code-Schnittstelle für Datenvor-bereitungsaufgaben, die es dem Nutzer oder der Nutzerinnen erleichtert, mit Daten zu arbeiten ohne komplexen Code zu schreiben. In Abb. 3 sind links drei Quellen - “Customers”, “Orders” und “NavigationQuery” für den Dataflow zusehen. Die Daten durchlaufen mehrere Transformationsschritte, darunter das Entfernen überflüssiger Spalten, das Erweitern von Bestell-informationen und das Hinzufügen einer Rangspalte. Im unteren Bereich gibt es eine Vorschau der transformierten Daten. Rechts werden die angewendeten Transformationsschritte aufgelistet, was eine schrittweise Nachverfolgung der Datenverarbeitung ermöglicht. Unten rechts ist das Datenziel angegeben - in diesem Fall eine Azure SQL-Datenbank.
Abb. 3: Beispiel für einen Dataflow (Quelle)
-
Daten-Pipelines ermöglichen das Erstellen von flexiblen Daten-Workflows. In einer Pipeline können logische Gruppierungen von Aktivitäten erstellt werden, die eine Aufgabe ausführen. Man spricht hier von einer „Orchestrierung“, also dem Aufstellen von Schritten und Regeln für die Ausführung in MS Fabric, z. B. geplante Ausführung, Konditionen wie „if“.
Mögliche Aktivitäten innerhalb einer Daten-Pipeline beinhalten Copy-Aktivitäten und Datentransformation, Metadaten, Kontrollfluss (logische Steuerung der Pipeline mit bedingten Verzweigungen, Schleifen und Variablenmanagement), Orchestrierung (steuert den Datenfluss durch Integration verschiedener Dienste und Pipelines), Benachrichtigungen und Machine-Learning-Workflows.
In Abb. 4 wird eine Copy-Aktivität mit einem Dataflow verbunden, sodass die Pipeline erst Daten kopiert und dann den Dataflow ausführt, um diese Daten weiter zu verarbeiten.
Abb. 4: Beispiel für eine Daten-Pipeline (Quelle)
- Notebooks können für den Daten-Import und deren Verarbeitung in ein Lakehouse verwendet werden. Fabric-Notebooks bieten eine skalierbare und systematische Lösung. Unterstützt werden PySpark (Python), Spark (Scala), Spark SQL und SparkR (R). Notebooks können mit vorhandenen Lakehouses und Warehouses verbunden werden, um auf deren Daten zuzugreifen.
Abb. 5: Notebook-Funktionalität in Microsoft Fabric.
- Eventstreams ermöglichen die Integration, Transformation und Übertragung von Echtzeitereignissen in Microsoft Fabric, ohne dass dafür Code geschrieben werden muss. Daten können aus Azure Event Hubs, Azure IoT Hub, Google Cloud Pub/Sub und Amazon Kinesis Data Streams erfasst werden. Die erfassten Ereignisdaten können transformiert werden, um sie für die weitere Verarbeitung vorzubereiten. Dies kann das Filtern, Aggregieren und Umformatieren der Daten umfassen. Nach der Transformation können die Daten an verschiedene Ziele wie KQL-Datenbanken, Lakehouses oder andere Speicherorte weitergeleitet werden.
Abb. 6: Eventstream-Funktionalität in Microsoft Fabric.
Mehr zu den Features und Funktionalitäten von Microsoft Fabric erfahren Sie hier!
In Snowflake Daten importieren, transformieren und übertragen
In Snowflake sind Warehouses für Abfragen sowie das Laden von Daten in Tabellen erforderlich. Dabei sind mehrere Optionen (Typ und Größe) möglich. Diese Optionen ermöglichen es, Warehouses entsprechend den spezifischen Anforderungen ihrer Workloads zu konfigurieren, von kleinen, kostengünstigen Instanzen für leichte Aufgaben bis hin zu großen, leistungsstarken Instanzen für datenintensive Operationen. Ein Multi-Cluster-Warehouse ermöglicht es, die Rechenleistung dynamisch zu skalieren.
Abb. 7: Optionen beim Erstellen eines Warehouses in Snowflake.
Alle Daten in Snowflake werden in Databases verwaltet (siehe Abb. 8).
Abb. 8: Databases in Snowflake.
Worksheets in Snowflake sind interaktive Schnittstellen zum Schreiben und Ausführen von SQL-Abfragen sowie zum Anzeigen und Analysieren von Abfrageergebnissen. Hier wird sowohl SQL als auch Python (mit Snowpark Libraries) unterstützt.
Abb. 9: Worksheet Interface in Snowflake.
Notebooks bieten eine interaktive, zellenbasierte Programmierumgebung für Python und SQL. Hier werden SQL und Python unterstützt. Spark wird jedoch nicht unterstützt, hierfür eignen sich Microsoft Fabric oder Databricks.
Abb. 10: Beispiele Notebook in Snowflake.
In Snowflake können Daten über Worksheets oder Notebooks mit dem COPY-Befehl aufgenommen werden oder über eine visuelle Oberfläche.
Abb. 11: Möglichkeiten, um in Snowflake Daten zu importieren.
Daten können ebenso kontinuierlich und automatisch nahezu in Echtzeit über Snowpipe geladen werden: Sobald neue Dateien ankommen, werden sie sofort verarbeitet. Snowpipe wird primär über SQL-Befehle (Code) in Snowflake eingerichtet.
Tasks in Snowflake sind automatisierte, zeitgesteuerte SQL-Anweisungen oder Stored Procedures, die innerhalb der Snowflake-Umgebung ausgeführt werden, um Datenverarbeitungs- und Transformationsaufgaben zu orchestrieren. Im Gegensatz zu Microsoft Fabric sind Tasks in Snowflake primär für SQL-Operationen und -Transformationen geeignet.
Abb. 12: Eine Task in Snowflake ist eine umfassend konfigurierbare, automatisierte Einheit zur Ausführung von SQL-Befehlen (Quelle).
In Databricks Daten importieren, transformieren und übertragen
Anmerkung: Hier wurde die Community-Version getestet
In Databricks kann man einen Cloud-Anbieter für die Databricks-Umgebung auswählen. Die Optionen sind AWS, Microsoft Azure und Google Cloud Platform. Für dieses Beispiel wurde die Community-Version verwendet.
Abb. 13: Auswahl der Cloud-Anbieter für die Databricks-Umgebung.
In Databricks können Daten lokal hochgeladen werden oder über Notebooks aufgenommen. Dafür bietet Databricks Beispiel-Notizbücher, die erklären, wie Daten aus verschiedenen Konnektoren importiert werden können. Die verfügbaren Optionen umfassen Amazon Kinesis, Cassandra, Snowflake, JDBC, Kafka, Redis, Elasticsearch und MongoDB (in der Community-Version). Notebook unterstützt Python, Scala, SQL und R.
Abb. 14: Hochladen von lokalen Dateien in Databricks.
Abb. 15: Verschiedene Konnektoren für Beispiels-Notizbüchern in Databricks.
Abb. 16: Beispielhaftes Notizbuch, um Daten aus Kafka zu importieren in Databricks.
Clusters konfigurieren die Rechenressourcen, auf denen die Notebooks und Abfragen ausgeführt werden.
Abb. 17: Clusters in Databricks.
Jobs in Databricks sind ein zentrales Werkzeug für die Automatisierung und Orchestrierung von Datenverarbeitungsprozessen. Die Jobs können über eine Benutzeroberfläche verwaltet, parametrisiert und geplant werden (ähnlich wie in Microsoft Fabric die Data Pipelines oder Tasks in Snowflake). Jobs können mehrere Aufgaben haben, die voneinander abhängen.
Abb. 18: Job erstellen in Databricks (Quelle).
Workflows in Databricks ermöglichen es, komplexe Datenverarbeitungs- und Analyseaufgaben zu orchestrieren und zu automatisieren.
Abb. 19: Worksflows erstellen in Databricks (Quelle).
4. Daten visualisieren in Microsoft Fabric / Snowflake / Databricks
In Microsoft Fabric Daten visualisieren
In Microsoft Fabric können Visualisierungen nach dem Erstellen eines semantischen Modells über Power BI erzeugt werden. Hier können Daten aus verschiedenen Quellen mit Hilfe einer UI verbunden, analysiert und visualisiert werden mit Berichten sowie Dashboards.
Die Änderungen der Tabelle im Lakehouse/Warehouse werden in Echtzeit im Report dargestellt.
Abb. 20: Beispielreport in Microsoft Fabric.
In Snowflake Daten visualisieren
In Snowflake werden Visualisierungen mit Hilfe des Dashboard-Tools erstellt. Im Vergleich zu Microsoft Fabric müssen hier die Daten zuerst via SQL- oder Python-Befehle vorverarbeitet werden. Die Visualisierungsoptionen sind sehr beschränkt.
Abb. 21: Beispiel für die Erstellung einer Visualisierung in Snowflake.
Zuerst müssen für die Erstellung einer Visualisierung in Snowflake die Daten über SQL-Befehle vorverarbeitet werden. Schließlich kann man über die UI festlegen, wie das Diagramm aussehen soll. Allerdings sind die Optionen eingeschränkt und es gibt nur fünf Diagrammtypen: Line Chart, Bar Chart, Scatter Chart, Hoatgrid Chart and Scorecard.
Abb. 22: Beispieldashboard in Snowflake.
In Databricks Daten visualisieren
In Databricks können Visualisierungen über Notebooks mittels SQL erstellt werden. Die Analyseergebnisse können in einem Dashboard integriert werden, jedoch ist eine gemeinsame Nutzung im Vergleich zu Microsoft Fabric begrenzt.
Abb. 23: Beispiel für ein Dashboard in Databricks (Quelle).