Data Mesh

Wat is een Data Mesh Architectuur?

data meshDe term Data Mesh is voor het eerst gebruikt door Zhamak Dehghani in 2019. Een data mesh is een decentrale data architectuur, waarin data georganiseerd is per specifiek business domein. Decentraal wil zeggen dat verschillende afdeling binnen een bedrijf verantwoordelijk zijn voor de data van een specifiek business domein. Deze afdelingen zijn zowel eigenaar van de data, alsmede verantwoordelijk voor de verwerking, datakwaliteit en de toegang tot de data. Hierin wijkt een data mesh architectuur af van andere data architecturen, zoals een Data Warehouse en een Data Lake, omdat deze architecturen uit gaan van een centrale data opslag en verwerking. Binnen de data mesh architectuur wordt de decentrale data wel weer beschikbaar gesteld aan andere data teams. Het is dus belangrijk dat er sprake is van een gemeenschappelijke infrastructuur, ontwikkelstandaarden en duidelijke verantwoordelijkheden. In dat opzicht is het meer een organisatisch concept, dan een technisch concept. Al stelt dit concept wel weer bepaalde eisen aan de techniek.

Waarom kan een Data Mesh nodig zijn?
Veel bedrijven hebben de afgelopen decennia gewerkt aan een centrale Data Warehouse architectuur. Het doel van deze keuze was om tot één versie van de waarheid te komen. Nu wordt dit doel niet altijd bereikt, ondanks het feit dat de data centraal geregistreerd wordt. Vaak heeft dat dan organisatorische oorzaken. Als niet duidelijk is wie de eigenaar is van data, of als allerlei afdelingen los van elkaar allerlei data laten toevoegen of wijzigen, kunnen er alsnog allerlei versies van dezelfde data in het Data Warehouse terechtkomen. Bovendien kan het centrale team dan makkelijk een bottlenek worden, omdat ze de grote hoeveelheid verzoeken niet meer aankunnen.

In de praktijk komt een 'echt' centraal data warehouse op corporate (wereldwijd) niveau, wat alle gedetailleerde informatie bevat van alle business units, niet vaak voor. Als business units wereldwijd afwijkende bedrijfsprocessen en eigen ERP systemen hebben, is het lastig om al deze data te integreren tot één data model. Business units hebben in dat geval vaak eigen ERP systemen met daarbij een eigen data warehouse. Op corporate niveau wordt dan vaak slechts een subset aan high level data verzameld, bijvoorbeeld voor finance doeleinden. In dat opzicht is het concept van een decentrale architectuur niet echt helemaal nieuw. Alleen ontbreekt in dat geval vaak de samenhang tussen de verschillende data warehouses, zoals een overkoepelende organisatie, aanpak, architectuur en technische infrastructuur.

Waneer heeft een Data Mesh geen zin?
Een Data Mesh is een specifieke oplossing voor specifieke problemen. Niet elk bedrijf heeft baat bij een dergelijke oplossing. Een centrale aanpak heeft een aantal voordelen bij het creëren van één versie van de waarheid; het managen van afhankelijkheden tussen verschillende data projecten is éénvoudiger, de kennis over verschillende databronnen kan centraal worden opgebouwd, het naleven van ontwikkelstandaarden vindt eerder plaats binnen een centraal aangestuurde afdeling, dan binnen verschillende onafhankelijke afdelingen. Kortom, binnen kleine tot middelgrote bedrijven is een centrale architectuur wellicht de meest voor de hand liggende.

Organisatie vs Techniek
Een Data Mesh is in eerste instantie een organisatorisch concept. Het start bij het opzetten van decentrale data teams en het definiëren van verantwoordelijkheden. Vervolgens moeten processen worden ingericht waarmee data producten ontwikkeld en beheerd worden. De organisatie structuur van een Data Mesh, stelt vervolgens weer eisen aan de technische architectuur. Deze zal uiteindelijk de kenmerken hebben van een zo genoemde Data Fabric, welke de Data Mesh architectuur ondersteunt.

Labels