A new paradigm for Data Management: Data Mesh

Progetta una moderna piattaforma di dati su scala basata sulla decentralizzazione della Data Governance

Le caratteristiche chiave

Architettura orientata al dominio

La scomposizione dei dati in domini aziendali localizza l'impatto dei cambiamenti e dell’evoluzione della piattaforma. Il coinvolgimento attivo degli esperti di dominio permette una migliore comprensione e adozione dei dati.

Dati come prodotto

Il Data Product è un set di dati che può essere distribuito indipendentemente, con un'alta coesione funzionale e include tutti gli elementi strutturali richiesti per la sua funzione. Ogni prodotto deve essere scopribile, indirizzabile, affidabile, autodescrittivo, interoperabile, sicuro e i suoi proprietari devono stabilire, monitorare e applicare requisiti rigorosi per soddisfare queste capacità.

Infrastruttura self-service

Per aiutare l'autonomia di ogni dominio e accelerare l'evoluzione della piattaforma è necessario fornire un insieme comune di strumenti con lo scopo di ammorbidire l'attrito che uno sviluppatore potrebbe avere quando viene richiesta una nuova funzionalità o deve essere creato un nuovo prodotto.

Governance computazionale federata

Mentre ogni prodotto e ogni dominio deve essere autonomo, è necessario che essi aderiscano a un insieme comune di principi che definiscono standard di qualità, discovery e interoperabilità per ogni prodotto di dati nella piattaforma.

Perché applicare il Data Mesh

Il data mesh può aiutare le organizzazioni le cui aree interne aziendali sono altamente decentralizzate, in quanto la struttura data mesh consente ai diversi team di gestire i propri dati e di mettere a disposizione del resto dell'organizzazione solo dati di qualità come prodotto.

L'implementazione di un approccio Data Mesh consente ai team di dominio di avere maggior indipendenza nel modellare e nel governare i dati aderendo comunque a policy applicate a livello globale.

Avendo team e domini dati indipendenti è possibile creare prodotti dati più velocemente da offrire al business.

Con il data mesh i dati sono di competenza di un singolo nodo ed è possibile proteggerne il contenuto e monitorarne l'uso.

Aumento della Data Ownership

In molte organizzazioni, stabilire una "singola fonte di verità" o "fonte di dati autorevole" è difficile a causa della ripetuta estrazione e trasformazione di dati all'interno dell'organizzazione senza chiare responsabilità di proprietà sui nuovi dati creati.
Adottando un approccio data mesh, la fonte di dati autorevole è il Data Product pubblicato dal dominio di origine, con un data owner chiaramente assegnato responsabile di tali dati.

Maggior scalabilità

Uno dei vantaggi principali del data mesh è offrire una soluzione a tutto campo suddividendo il team centrale dei dati e le conoscenze circostanti in team di dominio, ciascuno con le proprie competenze. Ciò consente ai team di dominio di fornire un valore aziendale ottimale all'interno delle proprie aree di competenza.

Il ciclo di vita di un data product aderisce ai principi agile di essere breve e iterativo, per fornire un valore rapido e incrementale ai consumatori di dati.

Picture

Definizione e progettazione

I requisiti dei data product sono definiti nel contesto degli obiettivi di business, della privacy dei dati e dei vincoli di governance, e degli inventari di risorse di dati esistenti. La progettazione dei prodotti di dati dipende da come i dati saranno strutturati e da come saranno composti come un prodotto, per il consumo tramite servizi.

Data Engineering

I Data product sono progettati identificando, integrando e mettendo insieme i dati dalle loro fonti, e poi mascherandoli come necessario. API possono essere create per fornire alle applicazioni di consumo l'autorità di accedere al prodotto di dati.

QA

I dati vengono testati e convalidati per garantire che siano completi e conformi - e che possano essere consumati in modo sicuro dalle applicazioni su larga scala.

Supporto e manutenzione

L'utilizzo dei dati, le prestazioni della pipeline e l'affidabilità sono monitorati continuamente, in modo che i problemi possano essere affrontati non appena si presentano.

Gestione

Il data product manager è responsabile della consegna del valore aziendale con obiettivi misurabili - come i tempi di risposta per gli approfondimenti operativi, o il ritmo di sviluppo dell'applicazione.

Il nostro approccio

1 - Rendere i dati indirizzabili e facilmente individuabili

In una soluzione data mesh l’accesso ai dati deve essere standardizzato con regole comuni ai vari domini in modo tale che i dati siano facilmente accessibili.​ Nel caso di dati memorizzati in un data lake è consigliato che questi siano accessibili in modalità REST API che devono avere tutti lo stesso formato.​ Nel caso di dati memorizzati all’interno di un database si possono prevedere schema e viste secondo convenzioni di denominazione standardizzate. ​Il team della piattaforma dati si occuperà di questa fase, utilizzando ancora un approccio centralizzato.

2 - Utilizzare metadati e catalogo dei dati (scopribilità)

Migliorare i metadati e aggiungere un catalogo dei dati per la loro scoperta, in modo che chiunque possa acquistare qualsiasi prodotto dell'organizzazione. È necessario un punto in cui cercare, scoprire e "acquistare" i dati all'interno dell'azienda. È inoltre necessario un modo per richiedere l'accesso e concedere l'accesso ai prodotti di dati in un modo che sia utilizzabile dai proprietari e dai consumatori di dati senza il coinvolgimento di un team centrale. In questa fase si lavora sulle caratteristiche dei prodotti di dati, aggiungendo test per la qualità dei dati, il lineage, il monitoraggio, ecc. ​

3 - Implementare il domain driven design abbattendo l'approccio monolitico

È necessario cercare di attribuire la proprietà al team di dominio che crea i dati, passando a un'architettura de-centralizzata. Ogni team deve essere proprietario delle proprie risorse di dati, delle pipeline ETL, della qualità, dei test, ecc. ​È comunque necessario basarsi su una governance federata per la standardizzazione, la sicurezza e l'interoperabilità dei dati. Se tutto ciò è già stato è opportuno costruire queste funzionalità come servizi per creare una piattaforma self-service. In questa fase si possono introdurre pratiche di DataOps e migliorare l'osservabilità e le capacità di self service. ​​

Fattori fondamentali da prendere in considerazione prima di puntare sul Data Mesh

Quali componenti usare

Il modo più comune per archiviare i dati in una Data Mesh è il data lake dove i data product sono indirizzabili tramite URL ed è possibile gestire controllo degli, versioning, crittografia, metadati e l'osservabilità. Un'altra opzione è quella di utilizzare i data warehouse; i data warehouse moderni sono migliorati notevolmente e, grazie a Serverless Analytics, non richiedono alcuna manutenzione, si possono semplicemente utilizzare senza preoccuparsi dell'onere operativo.

In un Data Mesh, l'elaborazione dei dati è incapsulata all'interno dei prodotti di dati. Non ci sono pipeline ETL centrali, ma nascoste dentro ogni dominio per cui è possibile utilizzare gli stessi strumenti già in uso. Attività importanti come la qualità dei dati, la pulizia dei dati e l'elaborazione dei dati sono ancora presenti, ma non sono più centralizzate, bensì gestite da diversi team con una governance federata.

Un catalogo dati è un inventario organizzato delle risorse di dati presenti nell'organizzazione. Utilizza i metadati per aiutare le organizzazioni a gestire i propri dati. Inoltre, aiuta i professionisti dei dati a raccogliere, organizzare, accedere e arricchire i metadati per supportare la scoperta e la governance dei dati.

I dati archiviati da ogni dominio devono essere interrogabili al fine di creare prodotti aggregati indipendentemente dalla tecnologia utilizzata per archiviare i dati. Si può avere un livello di dati veloci in un database relazionale e dati storici in un data lake storage. Tuttavia, i consumatori di dati dovrebbero interrogarli senza essere a conoscenza dei dettagli di implementazione.

Gli analisti di dati sono i consumatori di dati più comuni, tendono a essere meno tecnici e a utilizzare strumenti diversi. Gli strumenti di BI sono utilizzati in modo estensibile all'interno dell'organizzazione per ottenere maggiori informazioni e prendere decisioni migliori.