Steeds meer organisaties willen data gedreven gaan werken. Daardoor wordt het belangrijker om verschillende databronnen zo eenvoudig mogelijk aan elkaar te verbinden en te kunnen bevragen. Traditioneel worden daarvoor middelen als een datawarehouse of Enterprise Service Bus (ESB) ingericht. De laatste jaren zien we steeds vaker dat organisaties een data virtualisatie platform hiervoor inzetten. In dit artikel beschrijf ik wat een data virtualisatie platform is en geef ik aan hoe ArcGIS hier naadloos binnen past.
Historie
Het combineren van data vanuit verschillende applicaties is van alle tijden. Wat ooit begon met maatwerk export bestanden van het ene systeem naar het andere, is dit door de razendsnelle ontwikkelingen in de ICT veranderd. Tot voor kort zagen we eigenlijk twee hoofdstromingen in het combineren van data.
- Data uitwisseling via ESB of direct via ETL tooling
Voor echte uitwisseling van data van een applicatie naar een ander wordt vaak gebruik gemaakt van een ESB, of van een andere vorm van ETL (Extraction, Transformation and Load) tooling. Data wordt daarmee regelmatig of onregelmatig gesynchroniseerd van een applicatie naar één of meerdere applicaties. De ontvanger kan kiezen welk deel van die data benodigd is en dat inlezen in de eigen omgeving.
- Opzetten van een datawarehouse
Daar waar het combineren van data meer gericht is op analyses en rapportages wordt vaak een datawarehouse opgezet. Een datawarehouse is een gegevensverzameling waarin data vanuit veel verschillende applicaties verzameld wordt. Daarmee kan de gebruiker via bijvoorbeeld BI-tooling de data combineren en bevragen en daar informatie uit halen.
Beide modellen zijn volop in gebruik en zullen dat ook blijven. Alleen naar mijn mening zijn er een aantal tekortkomingen aan beide modellen. Deze tekortkomingen gelden voor zowel ESB tooling als een datawarehouse en zijn onder andere:
- Synchronisatie intervallen kunnen kort zijn, maar de data zal nooit realtime zijn. Een wijziging in applicatie A komt pas later tevoorschijn in applicatie B of in het datawarehouse
- Maken en wijzigen van ETL tooling is vaak een tijdrovend proces waardoor een acute vraag tot informatie vaak moeilijk gehonoreerd kan worden
- Data wordt gekopieerd en dat kan risico’s met zich meebrengen m.b.t. tot de autorisatie op de gegevens, zeker als het bijvoorbeeld privacy gevoelige gegevens zijn.
- Vaak wordt slechts een deel van de data gekopieerd, waardoor later weer aanvullende vragen ontstaan
- Nieuwe vormen van data zoals linked data en non structured data passen niet goed in deze modellen.
- Meervoudige opslag van data die hierdoor ontstaat vraagt om veel extra schijfruimte
Er is steeds meer behoefte aan realtime informatie voor bijvoorbeeld monitoring, apps in het veld of rapportages. Ook moeten nieuwe vragen steeds sneller kunnen worden beantwoord. Eerst nieuwe ETL tooling ontwerpen duurt vaak te lang. Daardoor is behoefte ontstaan aan een nieuwe vorm voor het ontsluiten, combineren en bevragen van gegevens. Steeds meer applicaties stellen data via services en API’s beschikbaar. Hierdoor is er ruimte ontstaan voor een nieuwe vorm van combineren en ontsluiten van data zonder het dupliceren ervan. Deze nieuwe manier is data virtualisatie.
Wat is data virtualisatie
In een data virtualisatie platform is het mogelijk om allerlei soorten databronnen als bron toe te voegen. Het platform is flexibel en kan direct veel soorten databases, services en file formaten aan. De data wordt niet gekopieerd of ingelezen, maar het platform kan de originele data en het datamodel lezen en publiceren. Voor formaten die het platform niet direct aan kan, kunnen ook adapters worden toegevoegd. Het platform is daardoor een zoekingang voor veel databronnen tegelijk. Het wordt daarmee een soort virtueel datawarehouse.
Werkwijze
Er komt uit de organisatie een informatievraag. Een data steward of data scientist gaat met deze vraag aan de slag en bouwt een query in het data virtualisatie platform. Deze query combineert data uit verschillende benodigde bronnen en geeft het resultaat als een service door aan de vragende partij. De data wordt in dat proces niet gekopieerd, maar er wordt rechtstreeks in de brondata gekeken. De vragende partij krijgt dan de service tot zijn beschikking en kan hiermee in bijvoorbeeld een BI platform een rapportage bouwen. Doordat de informatie niet gekopieerd is, geeft de service altijd de laatste versie van de informatie. De data hoeft niet steeds opnieuw te worden omgezet via bijvoorbeeld een ETL proces. Met als gevolg dat de query steeds hergebruikt kan worden, waardoor een rapportage bijvoorbeeld elk dag kan worden uitgedraaid zonder daar elke dag iets voor te hoeven doen.
Voorbeeld
In het GIS-systeem heb ik geografische gegevens over een gebouw. In het Asset Management systeem heb ik onderhoudsgegevens van het gebouw. In een inspectiesysteem heb ik inspectiegegevens over het gebouw. Omdat het gebouw een publieke functie heeft, zijn er op twitter ervaringen met het gebouw te vinden. Tenslotte is er een SCADA-systeem wat de actuele status van liften door geeft. In het data virtualisatie platform kan de data steward deze gegevens via een query bij elkaar brengen en dat als 1 service leveren. Hierdoor ontstaat de mogelijkheid om in het GIS-platform een kaart te maken waarop de gebouwen met problemen eenvoudig in beeld worden gebracht. Tegelijk is dan duidelijk wat de bron is van die problemen en wanneer er onderhoud is gepleegd. Doordat de data “live” is, kan de kaart op elk moment een ander beeld geven. Er kan bijvoorbeeld in beeld komen dat er via de Twitter feed nieuwe klachten binnenkomen of er komt vanuit het SCADA-systeem een storing binnen.
Toepassing van data virtualisatie
De applicaties die veel gebruik maken van een data virtualisatie platform zijn nu de BI-applicaties. Het zijn feitelijk dezelfde applicaties die ook gebruik maken van een datawarehouse. Steeds meer wordt deze virtuele data ook gebruikt in mobiele apps voor specifieke toepassingen. Daarnaast wordt de data ook gebruikt binnen Enterprise-applicaties die graag data uit andere Enterprise-applicaties willen gebruiken (dus het CRM haalt bijvoorbeeld ERP-gegevens niet meer via de ESB uit het ERP, maar doet dat via het data virtualisatie platform). Ook veel organisaties die gebruik maken van ArcGIS stappen deels over naar een data virtualisatie architectuur. De vraag is nu hoe ArcGIS in zo’n architectuur past. Voordat ik daar verder op in ga, licht ik eerst de architectuur van een data virtualisatie platform toe.
Architectuur van een data virtualisatie platform
De architectuur van een data virtualisatie platform is overzichtelijk. Hij bestaat uit het platform zelf, de gebruikers van het platform en de leveranciers van het platform. Onderstaande afbeelding geeft die architectuur in het kort weer:

Onderin de afbeelding staan de verschillende databronnen die beschikbaar zijn binnen een organisatie. Dit kunnen “traditionele” databases zijn zoals: een Oracle of SQL Server database, een database van een ERP, CRM of soortgelijke applicaties. Ook kunnen dit big data feeds zijn, API’s naar bijvoorbeeld Cloud storage en eigenlijk alle soorten data die er verder nog bestaan. Een data virtualisatie platform werkt bij voorkeur met API’s naar databronnen, maar kan ook bijvoorbeeld ODBC-databases benaderen (hier niet ingetekend).
Bovenaan in de afbeelding staan de applicaties die data via de services van het data virtualisatie platform kunnen bekijken, zoals de BI-systemen, apps of Enterprise-applicaties.
In het midden is het platform zelf te vinden, wat eigenlijk als een soort spin in het web alle draden aan elkaar verbindt.
Varianten op de architectuur van een data virtualisatie platform
Ook zijn er varianten op deze architectuur. Zo kan bijvoorbeeld een ERP-systeem de data eerst in een overzichtelijk formaat in een datawarehouse zetten met reguliere synchronisatie. Dit kan zijn om een onoverzichtelijk datamodel overzichtelijk te presenteren. Ook kan het gedaan worden om de performance van het data virtualisatie platform en het ERP zelf te waarborgen. Een data virtualisatie platform kan soms zware queries loslaten op onderliggende databronnen. Deze databronnen moeten ook aan andere afnemers kunnen blijven leveren. Een kopie van de data kan dan verlichting brengen. Deze kopie wordt dan vervolgens via het data virtualisatie platform ontsloten. De architectuur ziet er dan uit zoals in onderstaande afbeelding:

Meer varianten hierop en combinaties zijn mogelijk. Apps die bovenaan in de afbeelding staan kunnen bijvoorbeeld ook gecombineerd data afnemen van het data virtualisatie platform en van een data warehouse, of rechtstreeks van een applicatie.
Voordelen van data virtualisatie en aandachtspunten
De populariteit van data virtualisatieplatformen is verklaarbaar. Een data virtualisatie platform biedt veel voordelen boven de andere werkwijzen, zoals:
- Data uit verschillende soorten bronnen is snel te combineren
- Data is direct inzichtelijk
- Data is realtime beschikbaar
- Er is minder opslag nodig omdat niet alle data gedupliceerd wordt
- Het platform combineert goed met agile werken.
Traditionele relationele databases combineren met NoSQL-databronnen, API’s en linked data. Dat kan allemaal on the fly en dat biedt enorme flexibiliteit. Het modelleren van queries voor gebruik van data gebeurt in 1 platform. De onderliggende bronnen hoeven alleen hun database open te zetten en het data virtualisatie platform kan een datamodel inlezen en de data bevragen. Dat zorgt ervoor dat er een centrale plek in de organisatie is voor het maken van queries op de data. In het optimale geval worden de originele bronnen direct ontsloten. Als deze up-to-date zijn, dan is het data virtualisatie platform dat ook. Op elk moment kunnen queries toegevoegd worden aan het data virtualisatie platform. De data scientists en data stewards kunnen snel wijzigingen doorvoeren in het platform.
Aandachtspunten
Zo eenvoudig als het hier staat is het niet altijd. Er zijn een aantal aandachtspunten die ik zou willen meegeven bij het inrichten van een goed werkend data virtualisatie platform, zoals bijvoorbeeld;
- Het kan lastig zijn om alle databronnen goed te ontsluiten richting dit platform
- Voor performance redenen worden er vaak toch nog kopieën van de data gemaakt
- Er is enorm veel rekenkracht nodig voor een goede performance
- Latency kan de performance negatief beïnvloeden.
- Data scientists, die vaak gebruiker zijn van deze data, willen graag editen in de data.
Autorisatie en authenticatie moet goed ingeregeld worden in alle bronnen en binnen het data virtualisatie platform. Dat kan soms veel tijd kosten. Uit een query kan informatie komen uit 5 verschillende bronnen, elk met eigen autorisatie. Alle bronnen aansluiten op een centrale identity provider kan dat oplossen, maar is misschien niet altijd mogelijk.
Om de data virtualisatie goed te laten performen met alle verschillende bronnen is enorm veel rekenkracht noodzakelijk. Niet alleen op de server(s) voor de data virtualisatie tool, maar ook op de verschillende bronsystemen. Dat is niet voor alle bronsystemen haalbaar.
Met datasets in verschillende clouds en netwerk segmenten kan ook latency de performance negatief beïnvloeden. Het kan een uitdaging zijn om de benodigde databronnen zodanig te installeren, configureren en verbinden dat een goede performance kan worden geboden. Het editen in query resultaten betekent dat er toch een kopie van de query resultaten moet worden gemaakt. Daarmee worden veel van de voordelen van data virtualisatie verloren. Dit kan voor een eenmalig onderzoek geen probleem zijn. In andere gevallen is het is voor data scientists van belang om de werkwijze aan te passen en hun query’s herhaalbaar uit te kunnen voeren.
Dit zijn aandachtspunten waar rekening mee moet worden houden, maar deze houden de groei in het aantal organisaties die met data virtualisatie aan de slag gaan niet tegen. Dat werpt de vraag op hoe ArcGIS zijn plek in zo’n omgeving vindt.
Plaats van ArcGIS in een data virtualisatie omgeving
Om de plaats van ArcGIS binnen een data virtualisatie platform te bepalen, kijken we eerst naar de plaats van dit platform binnen de informatievoorziening in organisaties. Er zijn 3 functies die een systeem kan vervullen:
- System of Record. Systeem voor het beheren van gegevens
- System of Insight. Systeem voor het verkrijgen van informatie uit deze gegevens.
- System of Engagement. Systeem voor het delen van informatie en het betrekken van mensen bij de organisatie.
ArcGIS is een platform wat meerdere van deze rollen kan vervullen.

- Als System of Record wordt ArcGIS gebruikt om geografische data in te winnen en vast te leggen. Vroeger vanuit de tekenkamer, maar nu ook via apps op mobiele devices in het veld.
- Als System of Insight wordt ArcGIS gebruikt om inzicht te krijgen in ruimtelijke vraagstukken via analyses en het slim combineren van data. Voorheen vooral via zware desktop applicaties, maar nu ook via verschillende apps, zoals Insights, dashboards en Jupyter notebooks
- Als system of Engagement wordt ArcGIS gebruikt om informatie te delen, zowel binnen de eigen organisatie, als ook met externe belanghebbenden. Dit gebeurt o.a. in de vorm van kaarten, dashboards, StoryMaps en ArcGIS Hub.
Kijkend naar deze drie rollen, dan heeft het platform binnen een data virtualisatie-architectuur een aantal plekken.
- Als System of Record is ArcGIS één van de databronnen voor het data virtualisatie platform. ArcGIS serveert geografische data in de vorm van services of via de API. Deze data kan door het data virtualisatie platform gebruikt kan worden om te combineren met data uit andere bronnen.
- Als System of Insight is ArcGIS één van de data gebruikers. Voor het doen van analyses zijn vaak meer gegevens noodzakelijk dan alleen de geografische gegevens die het platform tot zijn beschikking heeft. Een data virtualisatie platform kan die gegevens leveren. Echter, ArcGIS kan zelf ook als onderdeel van een data virtualisatie platform worden gezien. Het platform kan vele soorten services consumeren. Het gaat dan om geografische enniet geografische gegevens, maar ook bijvoorbeeld om Big Data en via de API ook Linked data. Het platform biedt met zijn geografische query mogelijkheden, een unieke functionaliteit om die data te bevragen en te combineren. Vervolgens kan deze data beschikbaar worden gesteld aan andere systemen als service.
- Tenslotte kan ArcGIS als een System of Engagement dienen. Het geografisch presenteren van gegevens vanuit een query in het data virtualisatie platform is vaak wenselijk. Dit kan met ArcGIS via kaarten, maar bijvoorbeeld ook in een dashboard. Met deze laatste vorm van presenteren is het extra belangrijk om de data zoveel mogelijk realtime te benaderen.
ArcGIS heeft altijd als focus de locatie-gebaseerde informatie verwerken. Dat betekent dat het platform zeker niet alle taken van een data virtualisatie platform zal overnemen. Tegelijkertijd hebben bestaande data virtualisatie platformen vaak geen of beperkte mogelijkheden m.b.t. geografische informatie. ArcGIS kan die gaten opvullen en op die manier een integraal deel van het data virtualisatie platform zijn.
De architectuur, inclusief een volledig ingezet ArcGIS ziet er dan uit zoals in onderstaande afbeelding:

Aandachtspunten vanuit het GIS oogpunt
Als een organisatie aan de slag gaat met data virtualisatie, dan moet vanaf het begin goed gekeken worden naar de rol van ArcGIS. Niet elke data steward van een data virtualisatie platform heeft kennis van de mogelijkheden van ArcGIS. Er is het risico dat er bijvoorbeeld veel scripts worden gebouwd voor functies die binnen ArcGIS standaard beschikbaar zijn. Het positioneren van ArcGIS moet dan ook tijdig gebeuren. Via de API’s, de geïntegreerde Jupyter Notebooks, de R-bridge en andere ontwikkelmogelijkheden zijn er genoeg ingangen en uitgangen aan het platform om het op elk niveau in het data virtualisatie platform zijn rol te laten spelen.
Belangrijk punt binnen data virtualisatie platformen is authenticatie en autorisatie. Het is dus van belang om het data virtualisatie platform en ArcGIS van dezelfde identity provider gebruik te laten maken, zodat wederzijds inloggen op het andere platform zonder verdere drempels kan worden uitgevoerd.
Aan de slag met ArcGIS binnen het data virtualisatie platform
Data virtualisatie platformen gaan de komende jaren een grote rol spelen. Met de steeds grotere hoeveelheden data die gegenereerd worden, is het overzetten van data via ETL tooling of het opslaan in een datawarehouse steeds minder een optie. Daarnaast is de trend om meer data gedreven te werken groeiend.
Het services-gebaseerde ArcGIS sluit naadloos aan op deze veranderingen. De open structuur van ArcGIS, de toegankelijkheid via services, API’s en directe database connecties zorgt voor een flexibiliteit die het platform op alle lagen van een data virtualisatie architectuur een toegevoegde waarde laat hebben. De volgende stap is om er mee aan de slag te gaan:
- Verbindt uw bestaande ArcGIS aan uw data virtualisatie platform als leverancier van data
- Neem data af vanuit het data virtualisatie platform om in een dashboard te tonen
- Maak ruimtelijke queries met data vanuit het data virtualisatie platform en uw GIS-data, en lever deze data via een service aan uw BI platform voor rapportages die up-to-date blijven
Mocht u vragen hebben of eens hierover met me willen praten, neem dan gerust contact met mij op via pmolenaar@esri.nl