Wat is een Data Lakehouse?

Een Data Lakehouse is een databeheersysteem dat de voordelen van data lakes en datawarehouses combineert. In dit artikel wordt het architectuurpatroon van Lakehouse beschreven en wat u ermee kunt doen in Azure Databricks.

A diagram of the lakehouse architecture using Unity Catalog and delta tables.

Waarvoor wordt data lakehouse gebruikt?

Een Data Lakehouse biedt schaalbare opslag- en verwerkingsmogelijkheden voor moderne organisaties die geïsoleerde systemen willen vermijden voor het verwerken van verschillende workloads, zoals machine learning (ML) en business intelligence (BI). Een Data Lakehouse kan helpen om één bron van waarheid tot stand te brengen, redundante kosten te elimineren en ervoor te zorgen dat gegevens vers zijn.

Data Lakehouses maken vaak gebruik van een gegevensontwerppatroon dat gegevens stapsgewijs verbetert, verrijkt en verfijnt tijdens het doorlopen van lagen van fasering en transformatie. Elke laag van het lakehouse kan een of meer lagen bevatten. Dit patroon wordt vaak aangeduid als een medalsight-architectuur. Zie Wat is de architectuur van het medal medal lakehouse?

Hoe werkt databricks lakehouse?

Databricks is gebouwd op Apache Spark. Apache Spark maakt een zeer schaalbare engine mogelijk die wordt uitgevoerd op rekenresources die zijn losgekoppeld van de opslag. Zie Apache Spark in Azure Databricks voor meer informatie

Databricks lakehouse maakt gebruik van twee extra belangrijke technologieën:

  • Delta Lake: een geoptimaliseerde opslaglaag die ONDERSTEUNING biedt voor ACID-transacties en schema-afdwinging.
  • Unity Catalog: een uniforme, verfijnde governanceoplossing voor gegevens en AI.

Gegevensopname

Bij de opnamelaag komen batch- of streaminggegevens uit verschillende bronnen en in verschillende indelingen binnen. Deze eerste logische laag biedt een plaats waar die gegevens in de onbewerkte indeling terechtkomen. Wanneer u deze bestanden converteert naar Delta-tabellen, kunt u de mogelijkheden voor het afdwingen van schema's van Delta Lake gebruiken om te controleren op ontbrekende of onverwachte gegevens. U kunt Unity Catalog gebruiken om tabellen te registreren op basis van uw gegevensbeheermodel en de vereiste grenzen voor gegevensisolatie. Met Unity Catalog kunt u de herkomst van uw gegevens bijhouden terwijl deze worden getransformeerd en verfijnd, en kunt u ook een geïntegreerd governancemodel toepassen om gevoelige gegevens privé en veilig te houden.

Gegevensverwerking, curatie en integratie

Zodra dit is geverifieerd, kunt u beginnen met het cureren en verfijnen van uw gegevens. Gegevenswetenschappers en machine learning-beoefenaars werken vaak met gegevens in deze fase om te beginnen met het combineren of maken van nieuwe functies en het voltooien van gegevensopschoning. Zodra uw gegevens grondig zijn opgeschoond, kunnen deze worden geïntegreerd en opnieuw worden georganiseerd in tabellen die zijn ontworpen om te voldoen aan uw specifieke bedrijfsbehoeften.

Een schema-on-write-benadering, gecombineerd met de ontwikkelingsmogelijkheden van Delta-schema's, betekent dat u wijzigingen in deze laag kunt aanbrengen zonder dat u de downstreamlogica hoeft te herschrijven die gegevens aan uw eindgebruikers dient.

Gegevens die worden geleverd

De laatste laag levert schone, verrijkte gegevens aan eindgebruikers. De uiteindelijke tabellen moeten zijn ontworpen om gegevens te leveren voor al uw gebruiksvoorbeelden. Een geïntegreerd governancemodel betekent dat u gegevensherkomst kunt bijhouden naar uw enige bron van waarheid. Met gegevensindelingen, geoptimaliseerd voor verschillende taken, hebben eindgebruikers toegang tot gegevens voor machine learning-toepassingen, data engineering en business intelligence en rapportage.

Zie Wat is Delta Lake voor meer informatie over Delta Lake? Zie Wat is Unity Catalog voor meer informatie over Unity Catalog?

Mogelijkheden van een Databricks Lakehouse

Een lakehouse gebouwd op Databricks vervangt de huidige afhankelijkheid van data lakes en datawarehouses voor moderne databedrijven. Enkele belangrijke taken die u kunt uitvoeren, zijn:

  • Realtime gegevensverwerking: streaminggegevens in realtime verwerken voor onmiddellijke analyse en actie.
  • Gegevensintegratie: uw gegevens in één systeem samenvoegen om samenwerking mogelijk te maken en één bron van waarheid voor uw organisatie tot stand te brengen.
  • Schemaontwikkeling: wijzig het gegevensschema in de loop van de tijd om zich aan te passen aan veranderende bedrijfsbehoeften zonder bestaande gegevenspijplijnen te onderbreken.
  • Gegevenstransformaties: Het gebruik van Apache Spark en Delta Lake zorgt voor snelheid, schaalbaarheid en betrouwbaarheid van uw gegevens.
  • Gegevensanalyse en rapportage: voer complexe analytische query's uit met een engine die is geoptimaliseerd voor datawarehousingworkloads.
  • Machine learning en AI: Geavanceerde analysetechnieken toepassen op al uw gegevens. Gebruik ML om uw gegevens te verrijken en andere workloads te ondersteunen.
  • Versiebeheer en herkomst van gegevens: behoud versiegeschiedenis voor gegevenssets en traceringsherkomst om de herkomst en traceerbaarheid van gegevens te garanderen.
  • Gegevensbeheer: gebruik één geïntegreerd systeem om de toegang tot uw gegevens te beheren en controles uit te voeren.
  • Gegevens delen: vergemakkelijken samenwerking door het delen van gecureerde gegevenssets, rapporten en inzichten in teams mogelijk te maken.
  • Operationele analyse: Metrische gegevens van gegevenskwaliteit, metrische gegevens over modelkwaliteit en drift bewaken door machine learning toe te passen op bewakingsgegevens van Lakehouse.

Lakehouse vs Data Lake vs Data Warehouse

Datawarehouses hebben ongeveer 30 jaar bi-beslissingen (business intelligence) genomen, die zijn ontwikkeld als een set ontwerprichtlijnen voor systemen die de stroom van gegevens beheren. Enterprise Data Warehouses optimaliseren query's voor BI-rapporten, maar het kan enkele minuten of zelfs uren duren om resultaten te genereren. Datawarehouses zijn ontworpen voor gegevens die waarschijnlijk niet met een hoge frequentie kunnen worden gewijzigd, om conflicten tussen gelijktijdig uitgevoerde query's te voorkomen. Veel datawarehouses zijn afhankelijk van eigen indelingen, waardoor de ondersteuning voor machine learning vaak wordt beperkt. Datawarehousing in Azure Databricks maakt gebruik van de mogelijkheden van een Databricks Lakehouse en Databricks SQL. Zie Wat is datawarehousing in Azure Databricks? voor meer informatie.

Aangedreven door technologische ontwikkelingen in gegevensopslag en gedreven door exponentiële toename van de typen en het volume van gegevens, zijn data lakes in de afgelopen tien jaar in wijdverspreid gebruik gekomen. Data lakes slaan gegevens goedkoop en efficiënt op. Data lakes worden vaak gedefinieerd in tegenstelling tot datawarehouses: een datawarehouse levert schone, gestructureerde gegevens voor BI-analyses, terwijl een data lake gegevens van elke aard permanent en goedkoop opslaat in elke indeling. Veel organisaties gebruiken data lakes voor data science en machine learning, maar niet voor BI-rapportage vanwege de niet-gevalideerde aard.

Data Lakehouse combineert de voordelen van data lakes en datawarehouses en biedt:

  • Open, directe toegang tot gegevens die zijn opgeslagen in standaardgegevensindelingen.
  • Indexeringsprotocollen die zijn geoptimaliseerd voor machine learning en gegevenswetenschap.
  • Lage querylatentie en hoge betrouwbaarheid voor BI en geavanceerde analyses.

Door een geoptimaliseerde metagegevenslaag te combineren met gevalideerde gegevens die zijn opgeslagen in standaardindelingen in cloudobjectopslag, kunnen gegevenswetenschappers en ML-technici modellen bouwen uit dezelfde gegevensgestuurde BI-rapporten.

Volgende stap

Zie Inleiding tot het goed ontworpen Data Lakehouse voor meer informatie over de principes en best practices voor het implementeren en gebruiken van een lakehouse met Databricks