Centrale dataopslag met een nieuwe data-infrastructuur
Dedimo
- Klantcase
- Data Engineering


Dedimo is een samenwerking van vijf zorginitiatieven in de geestelijke gezondheidszorg. Om de kwaliteit van hun zorg continu te verbeteren, richten ze interne processen efficiënter in. Hiervoor gebruiken ze inzichten uit de data die intern beschikbaar is. Voorheen haalden ze deze data zelf uit verschillende bronsystemen met ad hoc scriptjes. Om dit proces robuuster en efficiënter te maken en verder te professionaliseren, schakelden ze onze hulp in. Ze vroegen ons de centrale opslag van hun data in een cloud data warehouse te faciliteren. Omdat ze al gewend waren te werken met Google Cloud Platform (GCP), was de wens de data-infrastructuur binnen deze omgeving op te zetten.
Onze aanpak
Om het project in de aanloopfase behapbaar te houden, startten we met de oplevering van een MVP. Daarom selecteerden we één databron om aan te sluiten op de data pipelines die we gingen inrichten. Het was de wens van Dedimo om de infrastructuur op termijn uit te breiden voor extra databronnen. In de toekomst moet er dus op de MVP worden doorgebouwd. Daarom hebben we bij de ontwikkeling van de MVP rekening gehouden met de schaalbaarheid van de oplossing.
Om schaalbaarheid te garanderen, richtten we een schaalbare scheduler in die data pipelines op gezette tijden aftrapt. Dit werd de open source scheduler van Apache: Airflow. We draaiden Airflow in eerste instantie lokaal in de ontwikkelomgeving, door middel van Docker. Voor de productieomgeving gebruikten we een door GCP managed instantie van Airflow in de vorm van Cloud Composer.
Als data warehouse kozen we voor Bigquery, de serverless data-warehouseoplossing van GCP. Een groot voordeel hiervan is dat de data warehouse ook schaalbaar is en je enkel betaalt voor het daadwerkelijke gebruik ervan. Daarnaast is in Cloud Storage een data lake ingericht waarin alle uit de brondatabases geëxporteerde data centraal wordt opgeslagen.
We richtten de data pipelines zo in, dat het ETL-proces (bestaande uit het data lake exporteren van de data, het transformeren van de data en het inladen van de data in het data warehouse) volledig door de engine van Bigquery wordt uitgevoerd. Hierbij wordt Airflow enkel gebruikt waarvoor het bedoeld is, namelijk als pure scheduler. Dit houdt de implementatie simpel en elegant, en daarmee ook robuust.
Om Bigquery aan te sturen, kozen we ervoor om SQL-code te gebruiken die dynamisch wordt gegenereerd aan de hand van enkele Python scripts. Deze worden door Airflow afgetrapt; een schaalbare en flexibele oplossing. De pipelines kunnen op deze manier namelijk met een klein aantal configuratieparameters worden aangepast. Dit is een efficiënte werkwijze bij het aansluiten van nieuwe brondatabases of veranderingen in de brondata. De Python scripts zorgen er vervolgens voor dat de configuratieparameters worden vertaald naar in SQL gecodeerde opdrachten die de Bigquery engine begrijpt.
Met Cloud Build, Google’s serverless CI/CD platform, legden we de basis van een ontwikkelstraat waarmee de lokale ontwikkelomgeving gekoppeld is met de productieomgeving.
Het resultaat
De opgeleverde MVP is een eerste versie van een productieomgeving. Hiermee kan Dedimo intern verder testen. Zo wordt de eigen databehoefte duidelijker en kan het huidige proof-of-concept nader richting krijgen en uitgebouwd worden. Om Dedimo te ondersteunen bij de adaptie van de productieomgeving, organiseren we een training in het gebruik van Bigquery voor haar interne medewerkers.
Daarnaast leverden we een ontwikkelomgeving op waarmee het project verder kan worden uitgebouwd met de MVP als vertrekpunt. We maakten dit ontwikkelpad mogelijk door schaalbaarheid voorop te stellen in de keuzes voor de architectuur van de infrastructuur.
Door de architectuur daarnaast simpel te houden en de verwerking centraal door Bigquery te laten uitvoeren, legden we een robuuste en betrouwbare basis voor de toekomst. Hierin zet Dedimo digitalisering in om zich te kunnen blijven focussen op waar Dedimo uiteindelijk het beste in is, namelijk de zorg voor haar cliënten.
Meer weten over deze opdracht?
Reimer vertelt je graag meer!
Business Manager020 308 43 9006 83 69 07 78reimer.vandepol@digital-power.com
1x per maand data insights, praktijkcases en een kijkje achter de schermen ontvangen?
Meld je aan voor onze maillijst en blijf 'up to data':