
Vijfbronsystemen,éénlakehouse

HelloTV had data verspreid over vijf systemen: PimCore, OSCommerce, FreeScout, LiveChat en Salesforce. Rapportages waren handmatig en verouderd op het moment dat ze klaar waren. Wij bouwden een Databricks-lakehouse met Change Data Capture vanuit alle bronsystemen, een medallion-architectuur en AVG-conforme dataverwerking.
Vijf bronsystemen, vijf databases, vijf waarheden. Elke afdeling werkte met eigen cijfers, elke rapportage was een handmatige exercitie. De directie wilde sturen op data, maar miste het fundament om dat betrouwbaar te doen.
Waarom dit, en niet dat.
Change Data Capture via Maxwell + Kafka
Wijzigingen in de brondatabases worden real-time opgepikt en naar het lakehouse gestreamd. Bij de start een volledige backfill, daarna alles incrementeel. Geen nachtelijke batch-imports meer.
Medallion-architectuur
Drie lagen. Bronze houdt de ruwe data zoals die uit de bronsystemen komt. Silver schoont op, standaardiseert formaten en legt relaties tussen systemen. Gold levert kant-en-klare datasets voor dashboards en rapportages.
ETL-pipelines op Databricks
Alle transformaties draaien als geautomatiseerde pipelines. Delta Live Tables expectations vangen slechte data af voordat die de rapportagelaag bereikt.
AVG-compliance ingebakken
Persoonsgegevens encrypted opgeslagen met per-klant keys (crypto-shredding). Verwijderverzoeken worden via CDC automatisch in alle lagen doorgevoerd. Unity Catalog regelt row-level security en column-masking op gevoelige velden.
LiveChat-integratie
Een herbruikbare Python-client haalt chatdata op via de LiveChat API, inclusief historische backfill. Matching tussen chat- en ticketdata loopt op e-mailadres, waardoor een compleet beeld van de customer journey ontstaat.
Wat het opleverde, in cijfers.


“Als HelloTV ervaren wij Commerced als een betrouwbare en deskundige partner bij het oplossen van uiteenlopende IT-vraagstukken. Wat voor ons echt het verschil maakt, is hun persoonlijke aanpak, proactieve houding en het vermogen om snel te schakelen wanneer dat nodig is.”
Ander werk, ander probleem.

