ArcGIS en data virtualisatie

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.

  1. 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.

  1. 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:

 

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:

Architectuur van een data virtualisatie platform

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:

Alternatieve architectuur

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:

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;

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:

ArcGIS is een platform wat meerdere van deze rollen kan vervullen.

Functies van een ArcGIS-platform

Kijkend naar deze drie rollen, dan heeft het platform binnen een data virtualisatie-architectuur een aantal plekken.

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:

Plaats van het ArcGIS-platform in de architectuur van een data virtualisatie platform

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:

 

Mocht u vragen hebben of eens hierover met me willen praten, neem dan gerust contact met mij op via pmolenaar@esri.nl

Next Article

Deeplearning model: Text SAM

Read this article