
Als het gaat om het opslaan van big data, zijn de twee populairste opties data lakes en data warehouses. Data warehouses worden gebruikt voor het analyseren van gearchiveerde, gestructureerde data, terwijl data lakes worden gebruikt om big data van alle structuren op te slaan.
In deze post lichten we de verschillen tussen beide toe. De onderstaande tabel splitst hun verschillen uit in vijf categorieën.
| Data lake | Data warehouse | |
|---|---|---|
| Type data | Ongestructureerde en gestructureerde data uit diverse databronnen van het bedrijf | Historische data die is gestructureerd om in een relationeel databaseschema te passen |
| Doel | Kosteneffectieve opslag van big data | Analytics voor zakelijke beslissingen |
| Gebruikers | Data scientists en engineers | Data-analisten en business-analisten |
| Taken | Dataopslag en big-data-analyse, zoals deep learning en realtime-analytics | Doorgaans alleen-lezenqueries voor het aggregeren en samenvatten van data |
| Omvang | Slaat alle data op die mogelijk gebruikt wordt—kan petabytes innemen! | Slaat alleen data op die relevant is voor analyse |
Type data
Data opschonen is een belangrijke dataskill omdat data van nature rommelig en onvolmaakt binnenkomt. Ruwe data die niet is opgeschoond, noemt men ongestructureerde data—dit vormt het grootste deel van alle data in de wereld, zoals foto’s, chatlogs en pdf-bestanden. Ongestructureerde data die is opgeschoond om in een schema te passen, georganiseerd in tabellen en gedefinieerd door datatypen en relaties, heet gestructureerde data. Dit is het fundamentele verschil tussen lakes en warehouses.
Data lakes slaan data op uit een breed scala aan bronnen, zoals IoT-apparaten, realtime socialmediastromen, gebruikersdata en transacties van webapplicaties. Soms is deze data gestructureerd, maar vaak is ze behoorlijk rommelig omdat data rechtstreeks vanaf de bron wordt ingeladen. Data warehouses bevatten daarentegen historische data die is opgeschoond om in een relationeel schema te passen.
Doel
Data lakes worden gebruikt voor kosteneffectieve opslag van grote hoeveelheden data uit veel bronnen. Data met elke structuur toestaan verlaagt de kosten, omdat data flexibeler en schaalbaarder is wanneer deze niet in een specifiek schema hoeft te passen. Gestructureerde data is echter gemakkelijker te analyseren omdat ze schoner is en een uniform schema heeft om op te bevragen. Door data tot een schema te beperken, zijn data warehouses zeer efficiënt voor het analyseren van historische data voor specifieke datagedreven beslissingen.
Je zult merken dat data lakes en data warehouses elkaar aanvullen in een dataworkflow. Ingelezen bedrijfsdata wordt direct opgeslagen in een data lake. Als er een specifieke zakelijke vraag opkomt, wordt een deel van de relevante data uit het lake gehaald, opgeschoond en geëxporteerd naar een data warehouse.
Gebruikers
Data lakes en data warehouses zijn nuttig voor verschillende gebruikers. Data-analisten en business-analisten werken vaak binnen data warehouses met expliciet relevante data die is voorbereid voor hun werk. Voor het gebruik van data warehouses is minder programmeer- en datawetenschappelijke kennis nodig.
Data lakes worden opgezet en beheerd door data engineers die ze integreren in datapijplijnen. Data scientists werken nauwer met data lakes omdat die data bevatten met een bredere en actuelere scope.
Taken
Data engineers gebruiken data lakes om binnenkomende data op te slaan. Maar data lakes zijn niet alleen voor opslag. Onthoud: ongestructureerde data is flexibeler en schaalbaarder, wat vaak beter is voor big-data-analyse. Big-data-analyse kan op data lakes worden uitgevoerd met services zoals Apache Spark en Hadoop. Dit geldt vooral voor deep learning, dat schaalbaarheid vereist naarmate de hoeveelheid trainingsdata toeneemt.
Data warehouses zijn voor analisten doorgaans ingesteld op alleen-lezen; zij lezen en aggregeren vooral data voor inzichten. Omdat de data al schoon en archivaal is, is er meestal geen noodzaak om data in te voegen of bij te werken.
Omvang
Het zal geen verrassing zijn dat data lakes veel groter zijn, omdat ze alle data bewaren die mogelijk relevant is voor een bedrijf. Data lakes zijn vaak petabytes groot—dat is 1.000 terabytes! Data warehouses zijn veel selectiever in welke data wordt opgeslagen.
Conclusie
Als je moet kiezen tussen een data lake of data warehouse, loop dan deze categorieën langs en kijk welke het beste bij je use case past. Als je dieper wil ingaan op hun verschillen of wil leren hoe je data warehouses ontwerpt, bekijk dan onze cursus Database Design!
Vergeet niet dat je soms een combinatie van beide opslagoplossingen nodig hebt. Dit geldt vooral bij het bouwen van datapijplijnen. Je ziet dit in de praktijk in onze cursussen Introduction to Data Engineering en Building Data Engineering Pipelines in Python.
