Vergleich von Microsoft Fabric vs. Snowflake vs. Databricks

post-thumb

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 (viele Low-Code Möglichkeiten), für kleine schnelle Lösungen vorteilhaft
- Native Integration von Power BI
- Nahtlose Integration mit Microsoft-Diensten
- Unabhängige Skalierung von Speicher und Rechenleistung
- Durch seine cloud-agnostische Umgebung bietet Snowflake die optimale Lösung für Multi-Cloud-Lösungen
- Hohe Leistung für große Datenmengen und komplexe Datenverarbeitungs-Workloads
- Fortschrittliche ML-Funktionen
- Optimal für Real-Time Analytics
Nachteile - Relativ neue Technologie mit potentiellen Reifeproblemen (viele Features in Preview Mode funktionieren nicht wie sie sollten)
- Starke Bindung an das Microsoft-Ökosystem (Vendor Lock-In)
- Weniger fortschrittliche Funktionen
- 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 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.
  • Anwendungsbeispiel: Ein Unternehmen, das Power BI zum Reporting nutzt und nun seine gesamte Dateninfrastruktur modernisieren möchte.

Nicht zu empfehlen:

  • Unternehmen, die eine plattformunabhängige Lösung benötigen.
  • Anwendungsbeispiel: Ein Start-up, das eine Multi-Cloud-Strategie verfolgt und 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 Unternehmen mit einer Multi-Cloud-Strategie (Microsoft Fabric und Databricks unterstützen Multi-Cloud-Szenarien, aber Snowflake ist von Grund auf für eine Cloud-agnostische Umgebung konzipiert).
  • Für Unternehmen, die nach einer skalierbaren Data-Warehouse-Lösung suchen (Snowflake’s Architektur mit getrennten Speicher- und Rechenressourcen ermöglicht eine flexiblere Skalierung).
  • Anwendungsbeispiel 1: Ein Unternehmen nutzt verschiedene Cloud-Umgebungen in seinen Tochtergesellschaften und möchte konsistente Datenabfragen und -analysen über verschiedene Regionen hinweg durchführen.
  • Anwendungsbeispiel 2: Ein E-Commerce erlebt starke saisonale Schwankungen an Weihnachten und sucht nach einer kosteneffizienten flexiblen Skalierung der Rechenleistung.

Nicht zu empfehlen:

  • Für Unternehmen, die komplexe Data Science Workflows und Machine Learning einsetzen (da ist Databricks am besten geeignet).
  • Für kleine Unternehmen mit einfachen BI-Anforderungen (da wäre Microsoft Fabric besser geeignet).
  • 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 Unternehmen mit Fokus auf fortgeschrittene Analysen, Machine Learning und KI.
  • Organisationen mit großen Datenmengen und Bedarf an leistungsstarker Datenverarbeitung.
  • Für Unternehmen, die Daten in Echtzeit analysieren möchten.
  • Anwendungsbeispiel: Ein Pharmaunternehmen, das große Datenmengen aus klinischen Studien analysieren möchte und ML-Modelle zur Krankheitserkennung entwickelt.

Nicht zu empfehlen:

  • Für Unternehmen mit primärem Fokus auf einfache BI-Lösungen und Reporting.
  • Für Unternehmen ohne technisch versiertes Personal oder Data Science-Expertise.
  • Anwendungsbeispiel: Eine kleine Marketingagentur, die hauptsächlich vorgefertigte BI-Dashboards für Kundenberichte benötigt.

3. Daten importieren, transformieren und übertragen in Microsoft Fabric / Snowflake / Databricks

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.
Beispiel für einen Dataflow in Microsoft Fabric.
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.

Beispiel für eine Daten-Pipeline in Microsoft Fabric.
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.
Notebook-Funktionalität in Microsoft Fabric.
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.
Eventstream-Funktionalität in Microsoft Fabric.
Abb. 6: Eventstream-Funktionalität in Microsoft Fabric.


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.

Optionen beim Erstellen eines Warehouses in Snowflake.
Abb. 7: Optionen beim Erstellen eines Warehouses in Snowflake.


Alle Daten in Snowflake werden in Databases verwaltet (siehe Abb. 8).

Databases in Snowflake.
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.

Worksheet Interface in Snowflake.
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.

Beispiele Notebook in Snowflake.
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.

Möglichkeiten, um in Snowflake Daten zu importieren.
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.

Eine Task in Snowflake ist eine umfassend konfigurierbare, automatisierte Einheit zur Ausführung von SQL-Befehlen.
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.

In Databricks kann man einen Cloud-Anbieter für die Databricks-Umgebung auswählen
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.

Hochladen von lokalen Dateien in Databricks.
Abb. 14: Hochladen von lokalen Dateien in Databricks.


Verschiedene Konnektoren für Beispiels-Notizbüchern in Databricks.
Abb. 15: Verschiedene Konnektoren für Beispiels-Notizbüchern in Databricks.


Beispiels Notizbuch um Daten aus Kafka zu importieren 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.

 Clusters in Databricks.
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.

 Job erstellen in Databricks.
Abb. 18: Job erstellen in Databricks (Quelle).


Workflows in Databricks ermöglichen es, komplexe Datenverarbeitungs- und Analyseaufgaben zu orchestrieren und zu automatisieren.

Worksflows erstellen in Databricks .
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.

Beispielreport in Microsoft Fabric.
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.

Beispiel für die Erstellung einer Visualisierung in Snowflake.
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.

Beispieldashboard in Snowflake.
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.

Beispiel für ein Dashboard in Databricks.
Abb. 23: Beispiel für ein Dashboard in Databricks. (Quelle).


Lernen Sie uns kennen

Das sind wir

Wir sind ein Software-Unternehmen mit Hauptsitz in Karlsruhe und auf die Umsetzung von Digitalstrategien durch vernetzte Cloud-Anwendungen spezialisiert. Wir sind Microsoft-Partner und erweitern Standard-Anwendungen bei Bedarf – egal ob Modernisierung, Integration, Implementierung von CRM- oder ERP-Systemen, Cloud Security oder Identity- und Access-Management: Wir unterstützen Sie!

Mehr über uns

Der Objektkultur-Newsletter

Mit unserem Newsletter informieren wir Sie stets über die neuesten Blogbeiträge,
Webcasts und weiteren spannenden Themen rund um die Digitalisierung.

Newsletter abonnieren