Databricks ist ein Cloud-basiertes Tool, das den gesamten Prozess der Datenverarbeitung vereinfacht: von Data Engineering über Data Science bis hin zu maschinellem Lernen. Unternehmen nutzen Databricks, um große Datenmengen zu verarbeiten, zu veredeln und zu analysieren.
Doch was ist Databricks, was sind die Hauptfunktionen und woraus resultieren die vielfältigen Vorteile? Diese und weitere Fragen möchten wir Ihnen in unserem Blog beantworten.
Steigen wir direkt ein!
Was ist Databricks?
Databricks ist ein amerikanisches Softwareunternehmen, das eine auf Apache Spark basierende Datenanalyseplattform anbietet. Die Analyseplattform Spark wird auf den größten Cloud-Dienstanbietern – Microsoft Azure, Google Cloud und Amazon AWS – angeboten. Die Entwickler von Apache Spark gründeten Databricks im Jahr 2013 mit dem Ziel, das Open-Source-Big-Data-System Apache Spark zu vermarkten.
Databricks kombiniert mehrere Open-Source-Lösungen miteinander: Apache Spark, Delta Lake und mlflow. Um zu verstehen, was Databricks ist, sehen wir uns die drei Lösungen genauer an.
Was ist Apache Spark?
Apache Spark ist ein Datenverarbeitungs-Framework, welches Verarbeitungsaufgaben für sehr große Datensätze durchführen und Datenverarbeitungsaufgaben auf mehrere Computer verteilen kann. Diese beiden Eigenschaften sind der Schlüssel zu den Bereichen Big Data und maschinelles Lernen, denn hier wird eine massive Rechenleistung benötigt, um große Datenbestände zu verarbeiten. Spark nimmt den Programmierern Last von den Schultern, mit einer benutzerfreundlichen API, die einen Großteil der Routinearbeit der verteilten Datenverarbeitung und der Verarbeitung großer Datenmengen abstrahiert.
Was ist Delta Lake?
Delta Lake ist eine Open-Source-Speicherschicht, die auf einem bestehenden Data Lake ausgeführt werden kann und dessen Zuverlässigkeit, Sicherheit und Leistung verbessert.Die Speicherschicht ermöglicht es Unternehmen, in Echtzeit auf neue Daten zuzugreifen und diese zu analysieren.Sie unterstützt ACID-Transaktionen, skalierbare Metadaten, einheitliches Streaming und Batch-Datenverarbeitung.Delta Lake ist 100% Spark-kompatibel.
Was ist mlFlow?
MLflow ist eine Open-Source-Plattform für die Verwaltung von Workflows für maschinelles Lernen. Es besitzt Komponenten, um Ihr Modell während des Trainings und der Ausführung zu überwachen, die Fähigkeit, Modelle zu speichern, das Modell in den Produktionscode zu laden und eine Pipeline zu erstellen. Die Plattform wird von MLOps-Teams und Datenwissenschaftlern verwendet und besteht aus vier Hauptkomponenten:
Was ist Mosaic AI?
Mosaic AI bietet verschiedene Tools zur Entwicklung, Implementierung und Überwachung von KI- und ML-Lösungen. Es unterstützt uns bei der Integration unserer Daten in unsere Datenplattformen und KI-Lösungen.
Besonderen Fokus legt Databricks auf die sichere Nutzung der Daten mit einer gemeinsamen Lösung zur Datenüberwachung und der Einhaltung von Governance Anforderungen.
Was ist der Unity Catalog?
Der Unity Catalog ermöglicht das gemeinsame Arbeiten an Daten über verschiedene Clouds und Quellesysteme. Seit 2024 bietet Databricks den Catalog als Open Source an, um die Entwicklung des Systems weiter zu fördern.
Der Unity Catalog bietet offene APIs und Implementierungen, unterstützt mehrere Datenformate wie Delta Lake und Apache Iceberg und ermöglicht die Integration mit verschiedenen Rechen-Engines. Unity Catalog vereint alle Daten- und KI-Assets unter einem Governance-Modell, bietet zentrale Audit-Logs und ermöglicht organisationsübergreifende Zusammenarbeit.
Um Databricks besser zu verstehen, lohnt es sich, einen Blick in die Vergangenheit zu werfen.
Wie ist Databricks entstanden?
Die Cloud-Datenplattform Databricks wurde 2013 von den Gründern von Apache Spark ins Leben gerufen. Das Ziel der sieben Mitgründer: eine einheitliche Plattform zu schaffen, mit der Data Scientists, Data Engineers und Analysten zusammenarbeiten können, um aus Daten Mehrwert zu generieren.
Das Projekt wurde 2015 ins Leben gerufen, um die Nutzung von Spark zu vereinfachen. Databricks übernimmt die Erstellung und Konfiguration von Server-Clustern, die Anbindung an verschiedene Dateisysteme, Programmierschnittstellen für Python, Scala und SQL, das automatische Herunterfahren bei Nichtbenutzung (um Geld zu sparen) und viele weitere Vorteile gegenüber eigenen Spark-Clustern.
Im Jahr 2020 kündigten die Gründer das neue Konzept des „Data Lakehouse“ an. Das Lakehouse soll die Vorteile von Data Lakes und Data Warehouses vereinen und so die ideale Datenverarbeitungsplattform darstellen. Mit Delta Lake ist es möglich, bestehende Data Lakes um ACID-Compliance zu erweitern, so dass der Data Lake zum Data Lakehouse wird.
Neben Snowflake ist Databricks einer der größten Cloud-Datenplattform Anbieter mit über 10.000 Mitarbeitern und einem Jahresumsatz über 2 Millarden US-Dollar (2024) bedienen sie mittlerweile über 10.000 Kunden weltweit (z.B. Adidas, Zalando, Hellofresh).
Was sind die Vorteile von Databricks?
Databricks ist rund um Apache Spark entwickelt worden und bietet somit alle Funktionen, die Apache Spark so wertvoll machen. Daher ist es ideal, um beispielsweise große Data Lakes aufzubauen, Echtzeit Streaming Anwendungsfälle umzusetzen oder größere ETL-Prozesse aus der On-Premise Welt abzulösen.
Technische Vorteile
Die Vorteile ergeben sich vor allem durch den Data Lakehouse Ansatz. Durch Delta Lake (als strukturierte, transaktionale Layer) ist Databricks in der Lage, Data Lakes mit den Vorteilen der Data Warehouses zu ergänzen: z.B. ACID-Complience, BI-support, hohe Datenqualität. Trotzdem bleiben die Vorteile der Data Warehouses bestehen.
Das Lakehouse bietet durch die Governance Layer Delta Lake:
- ACID-Transaktionen
- Vereinheitlichter Batch und Streaming
- Schema-Enforcment und -Evolution
- Fusionierung, Updates und Deletes
- Zeitsprünge
- Klone
Wie Sie in der folgenden Abbildung sehen, sind sowohl Aspekte des Data Warehouse als auch Aspekte des Data Lake im Data Lakehouse vereint.
Wir haben dem Data Lakehouse einen ganzen Beitrag gewidmet, schauen Sie vorbei: Der Data Lakehouse Ansatz – eine moderne Cloud-Datenplattform
Um die Abfrageleistung zu verbessern, hat Databricks außerdem eine weitere Engine namens Photon eingeführt, die mit Spark kompatibel ist und es ergänzt. Mit Spark plus Photon deckt Databricks das gesamte Spektrum der Datenverarbeitung ab.
Das Zugreifen auf verschiedene Datenquellen stellt ebenfalls kein Problem dar: unter anderem Apache Kafka, Azure Blog Storage oder Amazon S3.
Vorteile im Umgang mit der Plattform
Neben den technischen Vorteilen, sind die einfache Einrichtung der Plattform (mit einem Klick), die Jobsteuerung und die Notebook-Umgebung (vergleichbar mit Juypter-Notebook) Gründe für Databricks Erfolg. Durch die einfache Handhabung ist es möglich, mit verschiedenen Datenverarbeitungs-Teams interaktiv zusammenzuarbeiten.
Databricks vereint verschiedene Vorteile in einer Plattform und ermöglicht interaktives Arbeiten. Um zu verstehen, wie die Plattform diese Vorteile schafft, werden im Folgenden die drei Arbeitsumgebungen näher betrachtet.
Wie sieht die Databricks Umgebung aus?
Basiert auf den in Apache Spark verfügbaren Funktionen und übernimmt das komplette Management des Spark-Clusters. Folgende Aufgaben werden von der Cloud-Plattform übernommen:
- Verwaltung von Spark-Cluster (Rest-API zur Steuerung)
- Interaktiver Arbeitsbereich im Notebookformat (Analyse, Anzeige und Visualisierung)
- Jobsteuerung und Verwaltung von Apache Spark Programmen (Machine Learning, Spark ETLs)
Sehen wir uns die einzelnen Verwaltungsaufgaben genauer an.
Verwaltung von Apache Spark Clustern in der Cloud
Databricks ist in Microsoft Azure, Amazon Web Services und Google Cloud Plattform integriert und macht es Unternehmen leicht, riesige Datenmengen zu verwalten und Aufgaben des maschinellen Lernens auszuführen. In der Cloud stellt Databricks eine sichere Produktionsumgebung für Apache Spark zur Verfügung. Folgende Möglichkeiten bietet die Plattform:
- Clustererstellung in Sekunden
- Steuerung von Apache Spark-Clustern über ein Rest-API
- Automatische dynamische Skalierung von laufenden Spark-Clustern (wenn mehr Last anfällt)
- Komplette Spark Data Source API für komplexe Datenaufbereitung
- Neuste Spark-Versionen
Benötigen Sie Unterstützung?
Wir sind offizieller Databricks-Partner und stehen Ihnen für Fragen und Anwendungen rund um Databricks gerne zur Verfügung.
Interaktiver Arbeitsbereich für Zusammenarbeit
Die zusammenarbeitsorientierte Arbeitsumgebung ermöglicht eine sehr enge Zusammenarbeit von Data Science und Data Engineering-Abteilungen. Die UI-Umgebung bietet den Anwendern drei Workspaces an: SQL, Data Science und Machine Learning. In der Umgebung können also alle drei Teams interaktiv am gleichen Datensatz arbeiten.
Es entschlüsselt die Komplexität der Datenverarbeitung für Datenwissenschaftler und Ingenieure und ermöglicht ihnen die Entwicklung von ML-Anwendungen mit R, Scala, Python oder SQL-Schnittstellen in Apache Spark. Der interaktive Arbeitsbereich von Databricks bietet:
- Möglichkeiten zur Entwicklung von komplexer Datenverarbeitung (ETL-Prozesse, Streaming und Machine Learning)
- Dokumentation von Notebooks, sodass Ergebnisse nachvollzogen werden können
- Einfache und schnelle Visualisierungen
- Erstellung von interaktiven Dashboards
- Schnelle Entwicklung von Prototypen
- Steuerung von Jobs und klare Übersicht über fertige Prozesse
Jobsteuerung und Verwaltung von Apache Spark Programmen
Die Plattform ermöglicht es Ihnen, die Ausführungsreihenfolge der Aufgaben festzulegen, indem Sie die Abhängigkeiten zwischen den Aufgaben definieren. Sie können Aufgaben so konfigurieren, dass sie nacheinander oder parallel ausgeführt werden. Die Aufgabe kann
- in einem JAR,
- einem Databricks-Notebook,
- einer Delta Live Tables-Pipeline oder
- einer in Scala, Java oder Python geschriebenen Anwendung implementiert werden.
Legacy Spark Submit-Anwendungen werden ebenfalls unterstützt.
Was sind die einzelnen Funktionen von Databricks?
Databricks bietet Usern viele verschiedene Funktionen, wie beispielsweise Delta Lake, Data Governance und Data Warehousing. Die Hauptfunktionen teilen sich in drei Bereiche:
- Data Engineering
- SQL
- Machine Learning
Wir gehen nun auf die einzelnen Bereiche genauer ein.
1. Data Engineering
Unter Data Engineering fällt die Funktion Delta Lake, die bereits in diesem Beitrag eingeleitet wurde. Delta Lake dient Databricks als Data Managment und Governance Layer. Dieser offene Layer liefert Reliabilität, Sicherheit und Leistung für den Data Lake.
Die Vorteile die sich daraus ergeben:
- Schema Enforcement und Evolution zur Qualitätssicherung
- Time travel hilft irreversible Fehler im Code zu vermeiden
- ACID-Transaktion: Rohe Batch und Streaming Daten werden zu hochqualitativen strukturierten Daten
2. Databricks SQL
SQL ist ein serverloses Data Warehouse auf der Databricks Lakehouse Plattform. Das Feature bietet seinen Nutzern eine einfache Schnittstelle zur Durchführung von SQL- und BI-Anwendungen auf einem Data Lake. Außerdem ermöglicht Databricks SQL das Erstellen einer erweiterten Visualisierung, von Dashboards und Warnmeldungen.
Darüber hinaus verfügt es über Konnektoren zu BI-Tools wie Tableau und Power BI, die eine bessere Zusammenarbeit und maximale Leistung ermöglichen.
3. Machine Learning
Unter dem Punkt Machine Learning finden User verschiedene Benefits, um Machine Learning Projekte zu steuern. Da Machine Learning auf dem offenen Lakehouse aufbaut, haben ML-Teams die Möglichkeit auf jede Art von Daten zuzugreifen, sie zu untersuchen und aufzubereiten.
Databricks bietet hierfür verschiedene Komponenten:
- Kollaborative Notebooks
- Feature Store
- Managed MLflow
- Model Monitoring
- Repos
- Production-Grade Model Serving
Databricks entwickelt sich stetig und gibt die neusten Aktualisierungen im jährlichen Databricks Data- und AI-Summit bekannt.
Natürlich haben die Vorteile und Funktionen ihren Preis – wie sich dieser berechnen lässt, sehen wir uns im nächsten Abschnitt an.
Wie viel kostet Databricks?
Das Kostenmodell ist ein On-Demand-Tarif, d.h. Sie zahlen für das, was Sie nutzen. Das Abrechnungsmodell von Databricks arbeitet mit einer sekundengenauen Abrechnung und es gibt keine Vorabkosten oder wiederkehrende Verträge. Neben den Kosten für den Server rechnet Databricks nach dem Verbrauch der Rechenressourcen ab.
Diese Abbildung zeigt die verschiedenen Compute-Ressourcen, die genutzt werden können. Grundsätzlich gilt, dass Ressourcen, die ad-hoc (All-Purpose Cluster) und schnell (Serverless SQL) zur Verfügung stehen müssen, deutlich teurer sind als Compute-Ressourcen, die in regelmäßigen Jobs laufen (Jobs Compute), die wir z.B. für das Laden eines DWH oder für Machine Learning Pipelines einsetzen.
Für einen detaillierten Überblick empfehlen wir die Pricing Seite von Databricks: hier.
Wir haben ein paar Tipps gesammelt, wie Sie Kosten auf Databricks optimieren können.
Die Abrechnung erfolgt in Databricks Units (DBUs). Dies ist eine Einheit, die misst, wie viel Rechenleistung Sie pro Stunde auf der Lakehouse-Plattform nutzen.
Daraus ergibt sich folgende Rechnung:
Kosten Databricks= (Anzahl Server*DBU)*h/Nutzung + (Anzahl Server*Instanzenpreise)*h/Nutzung
Mehr Informationen zum Kostenmodell finden Sie in unserem Blogbeitrag: Kostenmodell.
Fazit
Databricks ist eine Cloud-basierte Datenplattform, die allen Anforderungen des Datenmanagements gerecht wird. Die Plattform bietet die Möglichkeit, interaktiv mit Ihrem gesamten Datenteam zusammenzuarbeiten. Neben der Vereinheitlichung von Datensystemen bietet sie Kosteneffizienz und Skalierbarkeit für große Datenmengen. Als Ergänzung zu Ihrer bestehenden Cloud (sei es AWS, Microsoft Azure oder Google Cloud) hilft die Lakehouse-Plattform bei der zuverlässigen Datenverarbeitung.
Sie möchten mehr erfahren oder sind an Cloud-basierten Lösungen für Ihre Daten interessiert? Dann kontaktieren Sie uns gerne!
FAQ – Die wichtigsten Fragen schnell beantwortet
Databricks ist eine Cloud-basierte Datenplattform, die es Nutzern ermöglicht, eine Multi-Cloud-Lakehouse-Struktur aufzubauen. Die Plattform unterstützt Kunden bei der Speicherung, Bereinigung und Visualisierung großer Datenmengen aus unterschiedlichen Quellen. Kunden können verschiedene Aufgaben im Datenmanagementprozess von einer einzigen Plattform aus durchführen und interaktiv zusammenarbeiten.
Auf die Nutzungsintensität kommt es an! Das Kostenmodell basiert auf zwei Abrechnungsposten: Zeit und benötigte Rechenleistung (Größe und Anzahl). Die Abrechnung erfolgt in sogenannten DBUs (Databricks Units). Daraus ergibt sich folgende Gleichung
Kosten = (Anzahl Server * DBU)*h/Nutzung + (Anzahl Server * Instanzpreis)*h/Nutzung
Databricks basiert auf Apache Spark, bietet aber eine vereinfachte Handhabung mit Spark Clustern. Gleichzeitig bietet Databricks mit Delta Lake die Nutzung einer Lakehouse-Umgebung und vereint damit die Vorteile von Data Lake und Data Warehouse. Die Open Source Plattform ermöglicht zudem die Nutzung verschiedener Cloud Server und bietet Lösungen für SQL, Data Engineering und Machine Learning.
Azure Databricks ist eine einheitliche, auf Open-Source basierende Cloud-Plattform für Unternehmen, mit der Daten, Analysen und KI-/ BI-Lösungen erstellt, bereitgestellt, gemeinsam genutzt und dabei sicher verwaltet werden können. Die Plattform integriert sich in Ihr Cloud-Konto (AWS, Google und Azure) und übernimmt das Management der Cloud-Infrastruktur. Mit Azure Databricks können Sie unterschiedlichste Datenquellen anbinden (DWH, MSSQL, Google Analytics, Salesforce, SAP), Daten verarbeiten, analysieren, visualisieren und KI-Modelle entwickeln. Durch den Unity Catalog bietet Sie Enterprise-Grade Sicherheit und Governance. Außerdem ermöglicht Azure Databricks die Nutzung und Integration von Open-Source-Technologien wie Apache Spark und Delta Lake sowie proprietären Tools für optimierte Leistung und Zusammenarbeit.
Ihr Ansprechpartner
Ob und wie künstliche Intelligenz Ihnen weiterhelfen kann, können Sie in einem ersten, unverbindlichen Gespräch mit uns herausfinden.
In diesem Gespräch erfahren Sie:
- Wie Ihr Use-Case technisch am besten umgesetzt werden kann
- Wie wir maximal sicher mit Ihren Kundendaten umgehen
- Wie lange wir für die Umsetzung benötigen und wie ein konkreter Projektplan aussehen könnte