In de vorige blog bespraken we de vijf fasen die een organisatie doorloopt als ze aan een “data journey” begint, op zoek naar de waarde in de data. Daarvoor is een data analyse platform nodig. In deze blog geven we een kort overzicht van de typische componenten waaruit een dergelijk data analyse platform bestaat.

We zullen het luchtig houden en niet ingaan op de diepgaande technische zaken, maar het moet gezegd worden dat het bespreken van de bouwstenen van een platform … toch een beetje een technisch onderwerp is :)

Een “warehouse” om data op te slaan

Wat je niet opslaat of beheert, kun je niet analyseren. Dus om te beginnen worden gegevens opgeslagen in een zogenaamd “data warehouse”: een database beheer systeem dat is geoptimaliseerd om grote hoeveelheden gestructureerde gegevens op te slaan.

Met behulp van ACID-transacties (atomiciteit, consistentie, isolatie en duurzaamheid) zorgt een data warehouse voor consistentie en juistheid van de gegevens, terwijl meerdere partijen tegelijkertijd gegevens lezen of schrijven. Het ondersteunt doorgaans kolomvormige gegevensopslag, indexering, caching en verwerking van gegevens in een gedistribueerde omgeving, waardoor complexe query's op grote hoeveelheden gegevens worden ondersteund.

Een ”lake” om andere data op te slaan

Naast gestructureerde data beschikt een organisatie veelal over ongestructureerde data zoals social media data, afbeeldingen, video, audio, chat, enquêtereacties, surveillance data, geografische data, weergegevens etc. Verder kan een organisatie besluiten ook semi- gestructureerde gegevens mee te nemen in haar analyses, zoals e-mails, binaire uitvoerbare bestanden, TCP/IP-pakketten, gecomprimeerde bestanden en webpagina's.

Een zogenaamd “data lake” kan worden gezien als een gespecialiseerd bestandssysteem dat grote hoeveelheden ongestructureerde en semi-gestructureerde gegevens kan opslaan, en is geoptimaliseerd voor gebruik door analytische processen.

Een huis aan het meer voor het beste van twee werelden

Een “lake house” is een laag direct bovenop het data lake waarin gestructureerde, semi-gestructureerde en ongestructureerde gegevens kunnen worden opgeslagen. Het combineert de beste eigenschappen van een datawarehouse en een data lake in één enkel platform.

Een lake house biedt snelle en flexibele on-boarding van data en heeft de mogelijkheid om complexe SQL-query's uit te voeren, analyses uit te voeren, machine learning-modellen uit te voeren en real-time gegevens te verwerken. Net als een data warehouse biedt het ACID-transacties aan maar is het kostenefficiënter.

Een “cluster” om gegevens te verwerken

Nu we de gegevens hebben opgeslagen, gaan we verwerken wat we hebben.

Om dat te doen hebben we een analytics cluster nodig. Dit is een schaalbare gedistribueerde computeromgeving die bestaat uit verbonden rekenknooppunten die gezamenlijk datasets kunnen verwerken. De knooppunten worden georkestreerd door een hoofdknooppunt dat werkknooppunten activeert die taken parallel kunnen uitvoeren. Data worden “in-memory” verwerkt waardoor razendsnelle data-analyse van grote hoeveelheden gegevens mogelijk is. Clusters worden gebruikt voor gegevenstransformaties, aggregaties en machine learning-taken.

Het Apache Spark-cluster is het bekendste analysecluster. Het coderen van gegevenstransformaties, aggregaties en machine learning-taken wordt doorgaans uitgevoerd via notebooks zoals Jupyter-notebooks en Databricks-notebooks. Codering wordt vaak gedaan in programmeertalen zoals SQL, Python, Scala en R, die parallel kunnen worden gebruikt.

Dashboards, rapportages, self-service

Data en de daaruit afgeleide inzichten zullen beschikbaar moeten worden gesteld aan gebruikers.

Traditioneel worden rapporten en dashboards opgesteld door data-analisten en aan gebruikers ter beschikking gesteld via een rapportageportaal. Daarmee creeer je een bottleneck: de data-analisten moeten er wel zijn namelijk … Idealiter zijn gebruikers dan ook via een self-service tool in staat om zelf hun eigen vragen te definiëren, hun eigen visualisaties te creëren en op eigen houtje inzichten op te doen.

De sleutel om zo’n self-service tool werkbaar te maken is om een zogenaamde ‘semantische laag’ te creëren. Deze laag vertaalt de nogal technische kijk op hoe data is opgeslagen in een model dat diezelfde data weerspiegelt, maar nu in de taal van en door de bril van de gebruikersorganisatie.

Implementeer de juiste oplossing voor jouw organisatie

M2-D2 kan jouw organisatie in elke fase van een “data journey” helpen , met praktijkgericht advies en de juiste optimale oplossingen voor jouw gebruiksscenario’s. Zo wordt het een reis om van te genieten!