Wat is een data lake?

Een data lake is een opslagopslagplaats met grote hoeveelheden gegevens in de oorspronkelijke, onbewerkte indeling. Data lakes schalen kostenbesparend om terabytes en petabytes aan gegevens te verwerken, waardoor ze geschikt zijn voor het verwerken van omvangrijke en diverse datasets. De gegevens zijn doorgaans afkomstig uit veel verschillende bronnen en kunnen gestructureerde gegevens bevatten, zoals relationele tabellen, semi-gestructureerde gegevens, zoals JSON-, XML- of logboekbestanden, en ongestructureerde gegevens, zoals afbeeldingen, audio of video.

Data Lakes slaat alle gegevenstypen op in de oorspronkelijke, niet-getransformeerde status en past alleen transformatie toe wanneer de gegevens nodig zijn. Deze benadering wordt schema-on-read genoemd. Een datawarehouse dwingt daarentegen structuur af en past transformaties toe wanneer deze gegevens opneemt. Deze benadering wordt schema-on-write genoemd.

Diagram waarin gebruiksvoorbeelden van Data Lake worden weergegeven.

Veelvoorkomende data lake-gebruiksvoorbeelden zijn:

  • Gegevensopname en -verplaatsing: Verzamel en consolideert gegevens van cloudservices, IoT-apparaten (Internet of Things), on-premises systemen en streamingbronnen in één opslagplaats.

  • Verwerking van big data: Verwerk gegevens met een hoog volume en hoge snelheid op schaal met behulp van gedistribueerde verwerkingsframeworks.

  • Analyse en machine learning: Ondersteuning voor verkennende analyses, geavanceerde analyses en training van AI-modellen en het verfijnen van grote, diverse gegevenssets.

  • Business intelligence (BI) en rapportage: Schakel dashboards en rapporten in door gecureerde subsets van Lake Data te integreren in magazijnen of BI-hulpprogramma's.

  • Gegevensarchivering en naleving: Sla historische of onbewerkte gegevenssets op voor langetermijnretentie, controlebaarheid en naleving van regelgeving.

Voordelen van een data lake

  • Behoudt onbewerkte gegevens voor toekomstig gebruik: Data Lakes slaat gegevens op in de onbewerkte indeling, wat zorgt voor langetermijnbeschikbaarheid voor toekomstig gebruik. Deze benadering is vooral waardevol in big data-omgevingen waarbij de potentiële inzichten uit de gegevens mogelijk niet van tevoren bekend zijn. U kunt gegevens ook archiveren als dat nodig is zonder de onbewerkte status te verliezen.

  • Zelfbedieningsonderzoek: Analisten en datawetenschappers kunnen rechtstreeks data opvragen om te experimenteren en patronen te ontdekken.

  • Flexibele gegevensondersteuning: In tegenstelling tot magazijnen waarvoor gestructureerde indelingen zijn vereist, verwerken data lakes gestructureerde, semi-gestructureerde en ongestructureerde gegevens systeemeigen.

  • Schaalbaar en performant: In gedistribueerde architecturen nemen data lakes gegevens parallel op schaal op en verwerken ze. Ze presteren vaak beter dan traditionele extract, transform, and load (ETL) pijplijnen bij workloads met grote volumes. Profiteer van deze prestatievoordelen door:

    • Parallellisme: Gedistribueerde rekenprogramma's zoals Apache Spark-partitiegegevens en voeren transformaties uit op veel knooppunten tegelijk. Traditionele ETL-frameworks zijn vaak afhankelijk van sequentiële of beperkte multithreaded verwerking.

    • Schaalbaarheid: Gedistribueerde systemen worden horizontaal geschaald door waar nodig reken- en opslagknooppunten elastisch toe te voegen. Traditionele ETL-pijplijnen zijn meestal afhankelijk van het verticaal schalen van één host, wat snel voldoet aan resourcelimieten.

  • Basis voor hybride architecturen: Data lakes bestaan vaak samen met magazijnen in een lakehouse-benadering die onbewerkte opslag combineert met gestructureerde queryprestaties.

Een moderne data lake-oplossing bestaat uit twee kernonderdelen:

  • Opslag: Biedt duurzaamheid, fouttolerantie, oneindige schaalbaarheid en opname met hoge doorvoer van diverse gegevenstypen.

  • Processing: Engines zoals Spark in Azure Databricks en Microsoft Fabric deze oplossingen mogelijk maken. Deze engines ondersteunen grootschalige transformaties, analyses en machine learning.

Volwassen oplossingen omvatten metagegevensbeheer, beveiliging en governance om gegevenskwaliteit, detectie en naleving te behouden.

Typische Data Lake-architectuur

Een typische Azure data lake-architectuur bestaat uit meerdere lagen waarin gegevens worden ingedeeld tijdens het doorlopen van de opname-, transformatie- en verbruiksfasen.

Veelvoorkomende lagen zijn onder andere:

  • Ruwe (brons)laag: Slaat opgenomen gegevens op in de oorspronkelijke indeling met minimale transformatie.

  • Opgeschoonde (zilveren) laag: Bevat gevalideerde en getransformeerde gegevens die zijn geoptimaliseerd voor analyse- en machine learning-workloads.

  • Gecureerde (gouden) laag: Slaat samengevoegde en bedrijfsklare gegevenssets op die teams gebruiken voor rapportage, dashboards en downstreamgegevenstoepassingen.

Dit gelaagde ontwerp, ook wel de medaillonarchitectuur genoemd, verbetert de gegevenskwaliteit, beheer en prestaties.

Wanneer gebruikt u een data lake?

U wordt aangeraden een data lake te gebruiken voor verkennende analyses, geavanceerde gegevenswetenschap en machine learning-workloads. Data lakes bewaren gegevens in onbewerkte vorm en ondersteunen schema-on-read, zodat teams kunnen experimenteren met diverse gegevenstypen en inzichten kunnen ontdekken die traditionele magazijnen mogelijk niet vastleggen.

Data Lake als bron voor datawarehouses

Een data lake kan fungeren als de upstream-bron voor een datawarehouse, waarbij u onbewerkte gegevens uit bronsystemen opneemt en in het meer laadt. Moderne datawarehouses zoals de Fabric Data Warehouse maken gebruik van ingebouwde krachtige Massively Parallel Processing (MPP) SQL-engines om die onbewerkte gegevens te transformeren in een gestructureerde indeling via extract, load, transform (ELT). Deze benadering verschilt van traditionele ETL-pijplijnen, waarbij de ETL-engine gegevens extraheert en transformeert voordat de gegevens in het magazijn worden geladen. Beide benaderingen bieden flexibiliteit, afhankelijk van de use-case. Ze verdelen gegevenskwaliteit, prestaties en resourcegebruik en zorgen ervoor dat het magazijn is geoptimaliseerd voor analyse.

Scenario's voor gebeurtenisstreaming en IoT

Data lakes zijn effectief voor gebeurtenisstreaming en IoT-gebruikscasussen, waarbij gegevens met hoge snelheid op grote schaal moeten worden bewaard zonder voorafgaande schemalimieten. Data Lakes kan relationele en niet-relationele gebeurtenisstromen opnemen en opslaan, grote hoeveelheden kleine schrijfbewerkingen verwerken met lage latentie en ondersteuning bieden voor enorme parallelle doorvoer. Deze mogelijkheden maken data lakes geschikt voor toepassingen zoals realtime bewaking, voorspellend onderhoud en anomaliedetectie.

In de volgende tabel worden datalakes en datawarehouses vergeleken.

Feature Gegevensmeer Gegevensmagazijn
Gegevenstype Onbewerkt, ongestructureerd, semigestructureerd en gestructureerd Gestructureerde en gecureerde gegevens geordend in relationele schema's
Prestaties van zoekopdracht Queryprestaties zijn afhankelijk van verwerkingsengines en transformatie kan plaatsvinden tijdens het uitvoeren van query's (schema on-read) Geoptimaliseerd voor hoogwaardige prestaties bij analytische query's op gestructureerde gegevens (schema-on-write)
Wachttijd Hogere latentie vanwege verwerking tijdens querytijd Lage latentie met vooraf verwerkte, gestructureerde gegevens
Fase gegevenstransformatie Transformatie vindt plaats tijdens de query, waardoor de totale verwerkingstijd wordt beïnvloed. Transformatie vindt plaats tijdens het ETL- of ELT-proces
Schaalbaarheid Zeer schaalbaar en rendabel voor grote hoeveelheden diverse gegevens Schaalbaar maar duurder, vooral op grote schaal
Cost Lagere opslagkosten vanwege goedkope opslag voor onbewerkte gegevens. Er worden rekenkosten gemaakt wanneer gegevens worden verwerkt of opgevraagd. Hogere kosten vanwege toegewezen reken- en prestatieoptimalisaties voor analytische workloads
Gebruikssituatiegeschiktheid Het meest geschikt voor big data, machine learning en verkennende analyses. In medallionarchitecturen gebruiken teams de gouden laag voor rapporteren. Ideaal voor BI-, rapportage- en gestructureerde gegevensanalyse

Uitdagingen van data lakes

  • Schaalbaarheid en complexiteit: Voor het beheer van petabytes aan onbewerkte, ongestructureerde en semi-gestructureerde gegevens is een robuuste infrastructuur, gedistribueerde verwerking en zorgvuldig kostenbeheer vereist.

  • Knelpunten verwerken: Naarmate het gegevensvolume en de diversiteit toenemen, kunnen transformatie- en queryworkloads latentie veroorzaken. Hiervoor is zorgvuldig pijplijnontwerp en workloadindeling vereist.

  • Risico's voor gegevensintegriteit: Zonder sterke validatie en bewaking kunnen fouten of onvolledige opnames de betrouwbaarheid van de inhoud van het meer in gevaar krijgen.

  • Gegevenskwaliteit en -governance: Diverse bronnen en indelingen maken het afdwingen van standaarden ingewikkeld. Metagegevensbeheer, catalogiseren en governanceframeworks zijn essentieel.

  • Prestaties op schaal: Queryprestaties en opslagefficiëntie kunnen afnemen naarmate het meer groeit. Hiervoor zijn optimalisatiestrategieën vereist, zoals partitionering, indexering en caching.

  • Beveiliging en toegangsbeheer: Voor het waarborgen van de juiste machtigingen en controle in diverse gegevenssets om misbruik van gevoelige gegevens te voorkomen, is planning vereist.

  • Vindbaarheid: Zonder de juiste catalogisering kunnen meren veranderen in gegevensmoerassen waar waardevolle informatie aanwezig is, maar niet toegankelijk of verkeerd begrepen.

Technologieopties

Wanneer u een uitgebreide Data Lake-oplossing op Azure bouwt, moet u rekening houden met de volgende technologieën:

  • Azure Data Lake Storage combineert Azure Blob Storage met data lake-mogelijkheden om apache Hadoop-compatibele toegang, hiërarchische naamruimtemogelijkheden en verbeterde beveiliging te bieden voor efficiënte big data-analyses. Het verwerkt enorme hoeveelheden gestructureerde, semi-gestructureerde en ongestructureerde gegevens.

  • Azure Databricks is een cloudgebaseerde gegevensanalyse en een machine learning-platform dat het beste van Spark combineert met diepgaande integratie in het Azure ecosysteem. Het biedt een samenwerkingsomgeving waarin data engineers, gegevenswetenschappers en analisten grote hoeveelheden gegevens kunnen opnemen, verwerken, analyseren en modelleren.

  • Azure Data Factory is een cloudgebaseerde gegevensintegratie en ETL-service. U kunt deze gebruiken om gegevenswerkstromen te verplaatsen, transformeren en organiseren in verschillende bronnen, ongeacht of ze zich in de cloud of on-premises bevinden.

  • Fabric is een end-to-end gegevensanalyseplatform waarmee gegevensverplaatsing, gegevenswetenschap, realtime analyses en BI worden gecombineerd tot één SaaS-ervaring (Software as a Service).

    Elke Fabric-tenant wordt automatisch ingericht met één logische data lake, ook wel OneLake genoemd. OneLake is gebouwd op Data Lake Storage en biedt een geïntegreerde opslaglaag die gestructureerde en ongestructureerde gegevens kan verwerken.

Medewerkers

Microsoft dit artikel onderhoudt. De volgende inzenders hebben dit artikel geschreven.

Hoofdauteur:

Andere bijdrager:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen