Veröffentlicht: 30. Januar 2020
von Ben Lorica, Michael Armbrust, Reynold Xin, Matei Zaharia und Ali Ghodsi
In den letzten Jahren haben wir bei Databricks eine neue Datenmanagement-Architektur beobachtet, die sich unabhängig voneinander bei vielen Kunden und Anwendungsfällen herausgebildet hat: das Lakehouse. In diesem Beitrag beschreiben wir diese neue Architektur und ihre Vorteile gegenüber früheren Ansätzen.
Data Warehouses haben eine lange Geschichte in den Bereichen Entscheidungsunterstützung und Business Intelligence. Seit ihrer Einführung Ende der 1980er Jahre hat sich die Data-Warehouse-Technologie weiterentwickelt, und MPP-Architekturen führten zu Systemen, die größere Datenmengen verarbeiten konnten. Aber während Warehouses großartig für strukturierte Daten waren, müssen viele moderne Unternehmen mit unstrukturierten Daten, semi-strukturierten Daten und Daten mit hoher Vielfalt, Geschwindigkeit und Menge umgehen. Data Warehouses sind für viele dieser Anwendungsfälle nicht geeignet und sicherlich nicht die kosteneffizienteste Lösung.
Als Unternehmen begannen, große Datenmengen aus vielen verschiedenen Quellen zu sammeln, stellten Architekten ein einziges System vor, das Daten für viele verschiedene Analyseprodukte und Workloads beherbergen sollte. Vor etwa einem Jahrzehnt begannen Unternehmen, Data Lakes zu bauen – Repositories für Rohdaten in verschiedenen Formaten. Während Data Lakes für die Speicherung von Daten geeignet sind, fehlen ihnen einige wichtige Funktionen: Sie unterstützen keine Transaktionen, erzwingen keine Datenqualität, und ihre mangelnde Konsistenz/Isolation macht es fast unmöglich, das Hinzufügen und Lesen sowie Batch- und Streaming-Jobs zu mischen. Aus diesen Gründen wurden viele der Versprechungen der Data Lakes nicht eingelöst, was in vielen Fällen zu einem Verlust vieler Vorteile von Data Warehouses führte.
Der Bedarf an einem flexiblen, leistungsstarken System ist ungebrochen. Unternehmen benötigen Systeme für diverse Datenanwendungen, einschließlich SQL-Analysen, Echtzeit-Monitoring, Data Science und Machine Learning. Die meisten jüngsten Fortschritte in der KI konzentrierten sich auf bessere Modelle zur Verarbeitung unstrukturierter Daten (Text, Bilder, Video, Audio), aber dies sind genau die Datentypen, für die ein Data Warehouse nicht optimiert ist. Ein gängiger Ansatz ist die Verwendung mehrerer Systeme – ein Data Lake, mehrere Data Warehouses und andere spezialisierte Systeme wie Streaming-, Zeitreihen-, Graph- und Bilddatenbanken. Eine Vielzahl von Systemen führt zu Komplexität und, was noch wichtiger ist, zu Verzögerungen, da Datenexperten unweigerlich Daten zwischen verschiedenen Systemen verschieben oder kopieren müssen.
Neue Systeme beginnen aufzutauchen, die die Einschränkungen von Data Lakes beheben. Ein Lakehouse ist eine neue, offene Architektur, die die besten Elemente von Data Lakes und Data Warehouses kombiniert. Lakehouses werden durch ein neues Systemdesign ermöglicht: Implementierung ähnlicher Datenstrukturen und Datenmanagementfunktionen wie in einem Data Warehouse direkt auf kostengünstigem Cloud-Speicher in offenen Formaten. Sie sind das Ergebnis einer Neugestaltung von Data Warehouses in der modernen Welt, jetzt wo günstiger und hochzuverlässiger Speicher (in Form von Objektspeichern) verfügbar ist.
Ein Lakehouse hat die folgenden Hauptmerkmale:
Dies sind die Schlüsselattribute von Lakehouses. Enterprise-Grade-Systeme erfordern zusätzliche Funktionen. Tools für Sicherheit und Zugriffskontrolle sind grundlegende Anforderungen. Data-Governance-Funktionen, einschließlich Auditing, Aufbewahrung und Lineage, sind insbesondere angesichts der jüngsten Datenschutzbestimmungen unerlässlich geworden. Tools zur Datenentdeckung wie Datenkataloge und Nutzungsmetriken sind ebenfalls erforderlich. Mit einem Lakehouse müssen solche Unternehmensfunktionen nur für ein einziges System implementiert, getestet und verwaltet werden.
Lesen Sie das vollständige Forschungsdokument über die internen Abläufe des Lakehouse.
Die Databricks Lakehouse Platform verfügt über die architektonischen Merkmale eines Lakehouse. Microsofts Azure Synapse Analytics Service, der mit Azure Databricks integriert, ermöglicht ein ähnliches Lakehouse-Muster. Andere verwaltete Dienste wie BigQuery und Redshift Spectrum bieten einige der oben genannten Lakehouse-Funktionen, konzentrieren sich aber hauptsächlich auf BI und andere SQL-Anwendungen. Unternehmen, die ihre eigenen Systeme bauen und implementieren möchten, haben Zugriff auf Open-Source-Dateiformate (Delta Lake, Apache Spark, Apache Hudi), die sich für den Aufbau eines Lakehouse eignen.
Die Zusammenführung von Data Lakes und Data Warehouses in einem einzigen System bedeutet, dass Datenteams schneller arbeiten können, da sie Daten nutzen können, ohne auf mehrere Systeme zugreifen zu müssen. Der Grad der SQL-Unterstützung und die Integration mit BI-Tools bei diesen frühen Lakehouses sind im Allgemeinen für die meisten Enterprise Data Warehouses ausreichend. Materialisierte Sichten und gespeicherte Prozeduren sind verfügbar, aber Benutzer müssen möglicherweise andere Mechanismen verwenden, die nicht mit denen in traditionellen Data Warehouses vergleichbar sind. Letzteres ist besonders wichtig für "Lift-and-Shift-Szenarien", die Systeme erfordern, die Semantiken erreichen, die denen älterer, kommerzieller Data Warehouses nahezu identisch sind.
Wie sieht es mit der Unterstützung für andere Arten von Datenanwendungen aus? Benutzer eines Lakehouse haben Zugriff auf eine Vielzahl von Standardtools (Spark, Python, R, Machine-Learning-Bibliotheken) für Workloads, die nicht BI sind, wie Data Science und maschinelles Lernen. Datenexploration und -aufbereitung sind Standard für viele analytische und Data-Science-Anwendungen. Delta Lake wurde entwickelt, um Benutzern die schrittweise Verbesserung der Datenqualität in ihrem Lakehouse zu ermöglichen, bis sie für die Nutzung bereit sind.
Ein Hinweis zu technischen Bausteinen. Während verteilte Dateisysteme für die Speicherschicht verwendet werden können, werden in Lakehouses häufiger Objektspeicher verwendet. Objektspeicher bieten kostengünstige, hochverfügbare Speicherung, die sich durch massiv parallele Lesevorgänge auszeichnet – eine wesentliche Voraussetzung für moderne Data Warehouses.
Das Lakehouse ist eine neue Datenmanagementarchitektur, die die unternehmensweite Dateninfrastruktur radikal vereinfacht und Innovationen in einer Zeit beschleunigt, in der maschinelles Lernen jede Branche umwälzen wird. Früher waren die meisten Daten, die in die Produkte oder die Entscheidungsfindung eines Unternehmens einflossen, strukturierte Daten aus operativen Systemen, während heute viele Produkte KI in Form von Computer Vision und Sprachmodellen, Text Mining und anderen integrieren. Warum ein Lakehouse anstelle eines Data Lake für KI verwenden? Ein Lakehouse bietet Ihnen Datenversionierung, Governance, Sicherheit und ACID-Eigenschaften, die selbst für unstrukturierte Daten benötigt werden.
Aktuelle Lakehouses reduzieren die Kosten, aber ihre Leistung kann immer noch hinter spezialisierten Systemen (wie Data Warehouses) zurückbleiben, die jahrelange Investitionen und reale Einsätze hinter sich haben. Benutzer bevorzugen möglicherweise bestimmte Tools (BI-Tools, IDEs, Notebooks) gegenüber anderen. Daher müssen Lakehouses auch ihre Benutzererfahrung und ihre Konnektoren zu beliebten Tools verbessern, damit sie eine Vielzahl von Personas ansprechen können. Diese und andere Probleme werden angegangen, während sich die Technologie weiterentwickelt und reift. Im Laufe der Zeit werden Lakehouses diese Lücken schließen und gleichzeitig die Kerneigenschaften beibehalten, einfacher, kostengünstiger und besser für vielfältige Datenanwendungen geeignet zu sein.
Lesen Sie die FAQ zum Data Lakehouse für weitere Details.
(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag
