Analyseren maakt het mogelijk om tot nieuwe inzichten te komen. Als vooraf onbekend is welke data en analyses tot nieuwe inzichten leiden, dan voldoet een data warehouse niet. In een data warehouse zijn immers de analysemogelijkheden gemodelleerd. Het is dan beter en goedkoper om data in de oorspronkelijke, "ruwe" vorm, op te slaan en telkens als vertrekpunt te nemen voor een analyse. Dit is wellicht niet optimaal bij het uitvragen, maar geeft wel flexibiliteit. Een data lake is een data verzameling die nog niet is gestructureerd. Er is dan sprake van ongestructureerde data.
Naast structuur verschilt ook de doelgroep van een data lake met die van een data warehouse. Deze laatste is vaak nodig voor de interne bedrijfsvoering en een groot deel van de data is afkomstig uit interne systemen die vaak al informatie delen. De analyses op het data warehouse hebben betrekking op die data. In een data lake wordt de data verzameling verbreed en is het verzamelen van data en het analyseren een doel op zich. Het analyseren is het domein van professionele data analisten die we met data scientists aanduiden om het verschil met de data warehouse wereld te benadrukken.
Het verbreden van de data verzameling kan door nieuwe bronnen te betrekken, zoals log data van machines, social media, actuele data geregistreerd door sensoren of data aangeleverd door derde partijen. In veel gevallen ontstaat een soort "stream" van data waarvan de hoeveelheid snel kan oplopen. Deze bulk slaat een data lake op in goedkope cloud/object-storage, zoals S3, GCS, ABS, HDFS. Om het opvragen en de analyses te versnellen wordt de ruwe data vanuit een staging vaak omgezet in file formaten die daar beter geschikt voor zijn, zoals Parquet, ORC en Avro.
Bij het aanleggen van een data lake is het belangrijk om te zorgen voor metadatamanagement en een centrale query omgeving. Hiervoor is speciale software beschikbaar, zoals het open source gemaakte DataHub door LinkedIn. Een ander aspect is het naleven van de privacy regels. Pseudonimiseren van gegevens of omkeerbaare tokening van "Personal Information Elements is essentieel.
Het resultaat van een data lake is een omgeving waar data scientists professioneel kunnen analyseren en modellen ontwikkelen. Een eenmalige of periodieke analyse kan direct aan een eindgebruiker worden doorgegeven. Het kunnen ook machine learning (ML) modellen zijn die nieuwe data uit de stream direct "scoren" of ad-hoc door applicaties zijn aan te roepen. Op deze manier ontstaat een data eco-systeem waarbij het data lake en de ML-modellen weer input zijn voor bijvoorbeeld het data warehouse, business intelligence software en/of applicaties, zodat inzichten hun weg vinden naar eindgebruikers.
Een data lake is geen concurrent van een data warehouse, het is een volgende stap naar een hogere data maturity. Ontbreekt een data lake dan is het niet mogelijk om de data verzameling kosten-efficiënt te verbreden en zal een organisatie blijven steken bij eenmalige of periodieke analyses. Data engineers kunnen u helpen bij het ontwikkelen van een data lake.
Wij delen graag onze kennis en ervaringen.