Vad är ett datanät?
Data mesh är ett arkitekturmönster för implementering av företagsdataplattformar i stora och komplexa organisationer. Data mesh hjälper till att skala analysimplementeringen bortom en enda plattform och ett enda implementeringsteam.
Bakgrund
Behovet av analys är inte nytt. Organisationer har alltid behövt analysera affärsprestanda och har gjort det med hjälp av datorer sedan introduktionen. Runt 1980-talet började organisationer skapa lösningar för informationslager med hjälp av databaser specifikt för beslutsstöd. Dessa datalagerlösningar har länge fungerat bra för organisationer.
Men när verksamheten ändras och genererar mer olika data kanske datalagerlösningar som använder relationsdatabaser inte alltid är den bästa lösningen. På 2000-talet blev stordata en vanlig term. Företag har antagit nya lösningar som möjliggör analys av stora mängder olika data som kan genereras med stor hastighet. Detta omfattar teknik, till exempel datasjöar, och utskalningslösningar som analyserar stora mängder data.
Under de senaste åren har många organisationer framgångsrikt använt moderna arkitektoniska och analytiska mönster som kombinerar datalagertekniker och nyare stordatatekniker.
Vissa organisationer stöter dock på problem när de distribuerar analyslösningar som använder analysmönster. Dessa lösningar implementeras vanligtvis fortfarande som monolitiska lösningar, där ett enda team är plattformsleverantören och teamet utför dataintegrering. Mindre organisationer och organisationer som har en hög grad av centralisering ur ett teamkonfigurationsperspektiv kan använda ett enda team. Men en större organisation som bara använder ett enda team skapar ofta en flaskhals. Den här flaskhalsen orsakar en enorm eftersläpning, vilket resulterar i att delar av en organisation väntar på dataintegreringstjänster och analyslösningar.
Det här mönstret blir vanligare när organisationer antar moderna datavetenskapslösningar. Många moderna datavetenskapslösningar kräver mer data än vad traditionella business intelligence-lösningar gjorde tidigare.
Den senaste övergången till att använda mikrotjänster som ett programutvecklingsmönster är en annan drivrutin för långa kvarvarande uppgifter kring dataintegrering, eftersom det ökar antalet datakällor.
Ett enda team som hanterar all datainmatning på en enda plattform i en stor organisation kan också vara problematiskt. Ett team har sällan experter för varje datakälla. De flesta organisationer är decentraliserade och distribuerade ur ett affärsperspektiv. Olika affärsenheter och avdelningar hanterar olika delar av affärsverksamheten, så dataexperter är vanligtvis utspridda över olika sektorer.
Ett mönster som kallas datanät introducerades för att lösa dessa problem. Data Meshs mål är att låta distribuerade team arbeta med och dela information på ett decentraliserat och agilt sätt.
Data mesh är ett tekniskt mönster som också kräver organisationsförändringar. Fördelarna med en metod för datanät uppnås genom att implementera tvärvetenskapliga team som publicerar och använder dataprodukter.
Följande begrepp är grundläggande för att förstå datanätsarkitektur:
- Datadomäner
- Dataprodukter
- Självbetjäningsplattformar
- Federerad styrning
Datadomäner
Datadomäner är grunden för datanät. Begreppet datadomäner kommer från DDD (Domain Driven Development), ett paradigm som ofta används i programvaruutveckling för att modellera komplexa programvarulösningar. I datanät är en datadomän ett sätt att definiera gränser runt dina företagsdata. Domäner kan variera beroende på din organisation, och i vissa fall kan du definiera domäner runt din organisation. I andra fall kan du välja att modellera datadomäner baserat på dina affärsprocesser eller källsystem.
Det finns tre aspekter av datadomäner:
Dina valda gränser gör sig själva till långsiktig ägarskap. De finns under en lång tidsperiod och har identifierat ägare.
Dina domäner bör matcha verkligheten, inte bara teoretiska begrepp.
Dina domäner måste ha atomisk integritet. Om områden inte har någon relation med varandra ska du inte kombinera dem i en domän tillsammans.
Mer information om datadomäner och hur du bör definiera dem finns i Datadomäner.
Dataprodukter
Dataprodukter är en annan viktig komponent i datanät. Dataprodukter syftar till att ta produkttänkande till datavärlden. För att dataprodukten ska lyckas måste den ge de avsedda användarna ett långsiktigt affärsvärde. I datanät omfattar en dataprodukt data, kodtillgångar, metadata och relaterade principer. Dataprodukter kan levereras som ett API, en rapport, en tabell eller en datauppsättning i en datasjö.
En lyckad dataprodukt måste vara:
- Användbar: Produkten måste ha användare utanför den omedelbara datadomänen.
- Värdefull: Produkten måste behålla värdet över tid. Om det inte har ett långsiktigt värde kan det inte lyckas.
- Genomförbart: Din produkt måste vara genomförbar. Om du inte kan skapa den kan produkten inte lyckas. Din produkt måste vara genomförbar både ur datatillgänglighet och teknisk synvinkel.
Kodtillgångarna för en dataprodukt innehåller kod som genererar den och kod som levererar den. Kodtillgångarna innehåller även pipelines som används för att skapa produkten och produktens slutrapport.
Mer information om dataprodukter finns i Dataprodukter i molnskala i Azure.
Specifik vägledning om hur du använder datanät finns i Vad är en dataprodukt?.
Självbetjäningsplattformar
En kärna av datanät är att ha en plattform som gör det möjligt för datadomänerna att skapa sina dataprodukter på egen hand. Datadomäner måste definiera dataprodukter med hjälp av de verktyg och processer som är relevanta för användare utan att ha ett starkt beroende av en central plattform eller ett centralt plattformsteam. I ett datanät har du autonoma team som utvecklar och hanterar autonoma produkter.
När du använder decentralisering och anpassning med företagsanvändare som förstår dina data, kom ihåg generalisterna som också arbetar på din plattform. Eftersom du har generalister kan du inte ha specialiserade verktyg som kräver specialistkunskap för att fungera som grunden för din mesh-baserade plattform.
Du kan implementera din självbetjäningsplattform genom att använda de metoder som beskrivs i Designöverväganden för självbetjäningsdataplattformar.
Federerad styrning
När du använder en distribuerad dataplattform med självbetjäning måste du lägga större vikt vid styrning. Brist på styrning leder till silor och dataduplicering över dina datadomäner. Federera din styrning eftersom personer som förstår styrningsbehovet finns inom dina domänanpassade team och bland dataägare.
Om du vill skapa en federerad styrning implementerar du automatiserade principer kring både plattforms- och databehov. Använd en hög grad av automatisering för testning och övervakning. Anta en kod-första implementeringsstrategi för att hantera standarder, principer, dataprodukter och plattformsdistribution som kod.
Mer information om hur du implementerar federerade styrningsaspekter finns i Översikt över datastyrning.
Sammanfattning
Datanät kan vara ett effektivt sätt att implementera företagsdataplattformar, men det är inte den bästa lösningen för alla organisationer. Data mesh kräver autonoma team som kan arbeta oberoende av varandra. Data mesh fungerar bäst i stora och komplexa organisationer som har oberoende affärsenheter och behöver skala sin analysimplementering utöver en enda plattform och implementeringsteam.
När du använder datanät bör du vara särskilt försiktig när du implementerar styrningen så att du inte skapar silor. Håll alltid produkttänkande för data i kärnan av din implementering för att säkerställa framgång.