Datavirtualisatie
Datavirtualisatie of ETL: Waarom zou je kiezen? Laatst bijgewerkt: 3 juli 2019

Leer in 12 minuten:

  • Wat het verschil is tussen ETL en datavirtualisatie
  • Wat de voordelen zijn van beide technologieën
  • Wanneer je voor datavirtualisatie kiest en wanneer voor ETL

Datavirtualisatie en ETL: twee oplossingen voor data-integratie die vaak tegenover elkaar worden gezet. Datavirtualisatie zou ETL overbodig maken, maar er is ook twijfel of datavirtualisatie wel hetzelfde kan als ETL. De waarheid ligt in het midden. Want datavirtualisatie en ETL zijn niet inwisselbaar en hebben elk hun eigen kracht. Maar voor welke componenten van de data-architectuur kies je nu welke technologie?

Datavirtualisatie en ETL lijken in veel opzichten op elkaar, maar er zijn ook grote verschillen.  Bijvoorbeeld op het gebied van complexiteit, ontwikkelsnelheid, onderhoudbaarheid, autorisatie en performance. Beide technologieën hebben ook een heel andere benadering van de integratie van gestructureerde en ongestructureerde data, het combineren van on-premise en cloud databronnen, het werken met historie of het beschikbaar stellen van real-time data. Soms is ETL de beste optie, soms datavirtualisatie, soms een combinatie van de twee.

Keten van activiteiten

ETL (Extract Transform Load) staat natuurlijk bekend als hét middel om binnen een datawarehouse-omgeving gegevens uit bronnen te laden, te transformeren en voor te bereiden voor analyse en rapportage. Laten we om te beginnen het proces eens nader bekijken. Hoewel je sommige stappen tegelijkertijd kunt uitvoeren, is een ETL-proces altijd een keten van activiteiten. Vanuit de databron gaan gegevens bijvoorbeeld eerst naar een staginglaag, dan naar een (vaak business model georiënteerde) operationele datastore (ODS) en ten slotte naar een (meestal informatiedomein georiënteerde) datamart. Op deze aanpak zijn allerlei varianten, soms met minder, soms met meer stappen. Bij iedere overgang selecteer je data uit een brontabel, die je in een iets aangepaste of verrijkte vorm opslaat. Deze overgang regiseer je in een mapping. De logische samenhang, parallelliteit of afhankelijkheid tussen de mappingen leg je weer vast in een process flow.

Voor en tegens van ETL

ETL heeft een aantal belangrijke pluspunten. Allereerst is het ontwikkeld om zeer grote datasets in bulk te kopiëren vanuit gestructureerde gegevensbronnen. Ten tweede kun je er historische datarecords mee maken en daarmee analyseren hoe een dataset in de loop van de tijd verandert. Ten derde is ETL ideaal voor complexe, multi-pass datatransformatie en de cleansing van data. Maar ETL heeft ook nadelen. Vaak zijn aan een replicatiestap business rules verbonden. Gaat de data naar een volgende laag, dan pas je er koppelingen, filters of verrijkingen op toe. Een wijziging in een gekoppeld systeem of een verandering in de informatiebehoefte van gebruikers, vergt dus een hele keten van aanpassingen. Hoe groter je omgeving en hoe meer aandachtsgebieden en gebruikers je informatiemodel ondersteunt, hoe meer business logica er is vastgelegd. Dat maakt het doorvoeren van aanpassingen en aansluiten van nieuwe databronnen of nieuwe rapportagetools complex en tijdrovend.

Wat datavirtualisatie anders maakt

Bij datavirtualisatie creëer je een virtuele laag boven op je data-architectuur. Daarbinnen kun je gegevens uit allerlei databronnen abstraheren, selecteren en publiceren, om die vervolgens in elke vorm en in elke applicatie te gebruiken. Zo heb je veel sneller toegang tot verschillende databronnen en kun je data sneller en eenvoudiger combineren en gebruiken. Maar waar zitten nu de grootste verschillen met ETL? Allereerst kunnen gegevens bij datavirtualisatie verspreid zijn over verschillende systemen. In de virtuele laag komt de data bij elkaar en worden gegevens actief geïntegreerd, zonder dat duplicatie of migratie nodig is. Binnen een datavirtualisatieplatform zijn informatiedefinities, beveiliging en toegang gecentraliseerd, wat zorgt voor eenvoudig beheer. Nog een voordeel is dat bestaande dataoplossingen – zoals een datawarehouse, gearchiveerde dataset of datalake – of nog niet eerder ontsloten bronnen, direct te benaderen zijn en zo voor ieder gebruik en iedere gebruikersgroep toegankelijk zijn. Informatie afnemers kunnen on-demand en op maat toegang tot data krijgen. Deze kenmerken maken datavirtualisatie bijvoorbeeld een goede optie als je gestructureerde en ongestructureerde gegevens in de cloud en on-premise wilt combineren en (vrijwel) in real-time toegang moet bieden tot actuele data.

 

Leveren in dagen in plaats van weken

In de praktijk zien we dat projecten met datavirtualisatie een veel kortere doorlooptijd hebben dan met ETL. Nieuwe informatie of data vanuit de bron naar de gebruiker leveren kost geen weken, maar dagen. De kortere doorlooptijd is opmerkelijk, want eigenlijk verschillen de ontwikkelprocessen van ETL en datavirtualisatie niet veel van elkaar. Je kunt misschien enkele processtappen overslaan, maar in essentie zijn de stappen hetzelfde en levert het wegsnijden nauwelijks een besparing op. Waar zit die besparing dan wel in? Dat is vooral de snelheid waarmee je de individuele stappen uitvoert. Laten we als voorbeeld de toevoeging van een nieuwe KPI voor de verkoop nemen:

Prototyping

Werk je met ETL, dan zoek je eerst de brondata op. Die data kopieer je naar een omgeving waarin je er samen met je eindgebruiker mee kunt ‘spelen’ en testen. Bij datavirtualisatie staat er al een omgeving voor je klaar en kun je direct samen met je gebruiker met de data aan de slag. Dat scheelt de helft van de tijd.

Development

Ontwikkelen met ETL is echt anders dan met datavirtualisatie. Je moet veel meer tussenstappen zetten. Bij datavirtualisatie heb je bijvoorbeeld met prototyping al bepaald wat je wil doen en leg je tijdens het ontwikkelen direct vast wat er gebeurt. Je moet daarna alleen zorgen dat de implementatie van de aanpassing volgens de standaarden gebeurt. Ook het testen en rework gaan snel, doordat je je prototype als ijkpunt hebt. Een formele FAT is niet nodig, die doe je in één moeite door met de GAT.

GAT

Bij de GAT zit de tijdswinst van datavirtualisatie in twee dingen. Ten eerste hoef je tijdens de deployment geen rekening te houden met afhankelijkheden met andere projecten, mutatieruns te draaien of data per omgeving goed te zetten. Je past gewoon de logica toe op een andere omgeving. Dat doe je in seconden, met de procedures eromheen kost het je een kwartier tot een uur. Ten tweede kun je het testproces meer agile en dynamisch inrichten, doordat je ook technisch niet gebonden bent aan processen, geladen data of afhankelijkheden.

Productie

Nadat je bij datavirtualisatie de logica hebt uitgerold, staat de aanpassing meteen in productie. Dat bespaart je dus eveneens tijd. Net als bij ETL implementeer je daarna de regels in de rapportage, dat blijft hetzelfde.

 

Snel én agile

We gaan even terug naar ons voorbeeld: het toevoegen van een nieuwe KPI aan de informatieketen van sales. In een traditionele omgeving kost dit je 2 tot 4 weken. De pure ontwikkeltijd is minder, maar je hebt te maken met allerlei afhankelijkheden. Denk aan het prepareren van data, het klaarzetten van datasets, opschoning, batchverwerkingen, overdracht of de afhankelijkheid met andere projecten. Qua doorlooptijd past het project misschien binnen een agile scrum, maar het raakt direct de grenzen. Je bent daardoor minder flexibel en er is bijvoorbeeld geen ruimte voor aanpassing van de specificaties.

Bij datavirtualisatie is de doorlooptijd van hetzelfde project 1 tot 5 dagen. De belangrijkste tijdswinst zit in het feit dat je nauwelijks afhankelijkheden hoeft te managen. Als je datavirtualisatie gebruikt kun je écht agile werken. Uiteraard kun je de versnelling niet een-op-een projecteren op je hele informatieketen. Er blijven altijd zaken die je ‘traditioneel’ moet aanpakken met ETL. Maar al zou je datavirtualisatie maar bij een derde van je informatievragen toepassen, dan levert het je toch al een enorme versnelling en besparing op!


Aantrekkelijke scenario’s

Wanneer is ETL nu de beste oplossing en wanneer datavirtualisatie? Kort samengevat, biedt ETL de kracht die nodig is voor grote bulkacties met data of voor de opbouw van historie die een gegevensbron niet kan leveren. Datavirtualisatie zorgt voor een snellere toegang tot informatie. Samen ondersteunen ze de functionaliteit die een moderne data-architectuur vereist ‒ inzicht, analyse en rapportage op alle niveaus, voor alle gebruikers in je organisatie. Ter illustratie een aantal scenario’s:

Agile BI of reporting

Datavirtualisatie wordt ingezet voor agile, real-time rapportage en het snel binnenhalen van nieuwe bronnen. Daarbij combineert het historische trendgegevens die zijn vastgelegd met ETL.

Prototyping

Datavirtualisatie versnelt het ontwikkelwerk en het doorvoeren van aanpassingen in overleg met de business. Een snellere dialoog tussen gebruikers en IT voorkomt langlopende projecten die niet aansluiten op de informatiebehoefte.

Virtuele datamarts op snelle opslag

Het nut van ETL voor het vullen van datawarehouses met data uit bronsystemen is bewezen, maar daarna wil je gegevens niet blijven repliceren. Dat maakt het beheer te complex en de datavolumes te groot, terwijl wijzigingen vaak een grote impact hebben. Met datavirtualisatie maak je flexibele virtuele datamarts, waarbij je de historische dataopslag met ETL ondersteunt.

Logische architectuur

Bij het combineren van grote hoeveelheden data uit meerdere datawarehouses, datalakes of andere bronnen, kan voortdurende replicatie met ETL belemmerend werken en de time-to-market flink vertragen. Datavirtualisatie levert een logische architectuur boven op je fysieke databronnen, die je eventueel vult en onderhoudt met ETL. Daarnaast maakt datavirtualisatie operationeel gebruik van data door dataservices mogelijk.

ETL op gevirtualiseerde databronnen

Met ETL kun je het zware batchwerk doen, zoals dataverplaatsing, integratie en cleansing, maar dan op gevirtualiseerde databronnen. Moeilijk te integreren en ongestructureerde bronnen zijn met datavirtualisatie eenvoudig te benaderen en te integreren via SQL.

Datavirtualisatie als trigger voor ETL

In hybride scenario’s, waarbij je real-time query’s combineert met gedeeltelijke caching en prefetching, kun je datavirtualisatie gebruiken om een ETL-proces te starten.

 

De conclusie? ETL en datavirtualisatie hebben allebei een eigen, belangrijke rol in de moderne informatiearchitectuur en vullen elkaar prima aan. Het is alleen de kunst om te weten voor welke componenten je welke technologie kiest.

Waar zet je in jouw omgeving ETL in en wanneer kies je voor datavirtualisatie?


eBook: De moderne data-architectuur
DOWNLOAD