Progetta una moderna piattaforma di dati su scala basata sulla decentralizzazione della Data Governance
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.
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à.
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.
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.
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.
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.
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.
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.
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.
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.
È 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.
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.