A new paradigm for Data Management: Data Mesh

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

Architettura orientata al dominio

Decentralizzazione dei dati

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

Definizione entità di business o modelli analitici

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

Accelerazione allo sviluppo di nuovi prodotti

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

A garanzia della governance del dato

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


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. Ciò ne porta un miglioramento in termini di

Efficienza:
  • Maggiore facilità nell'individuare il proprietario del set di dati in caso di potenziali modifiche/problemi
  • Possibilità di coinvolgere solo le parti interessate
  • Trovare più velocemente, riconducibili dall’origine, i dati e le informazioni

  • Trasparenza:
  • Chiarezza sulla provenienza dei dati
  • Trasparenza sul processo decisionale relativo agli insiemi di dati stessi
  • 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. I team di dominio conoscono meglio di chiunque altro le definizioni di prodotti o clienti e possono anche dare forma a queste entità. Con gli standard, gli strumenti e le conoscenze giuste, i team di dominio sono in grado di fornire autonomamente i prodotti di dati e di offrirli a livello centrale. In sintesi:
    • Il team di dominio gestisce la qualità dei dati e può monitorarla e migliorarla bene
    • Il team di dominio conosce le definizioni giuste e può applicarle e condividerle bene
    • Il team di dominio conosce gli utenti dei dati e può servirli al meglio

    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.

    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


    • strip-0

      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.

    • 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. ​

      strip-1
    • strip-2

      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



    Dimensioni e requisiti aziendali
    Una rete di dati è ideale per le organizzazioni di grandi dimensioni con numerose fonti e domini, in cui vi è un potenziale attrito tra i team in merito a chi possiede cosa. Se un'organizzazione opta per un data mesh, la distribuzione dei domini deve essere strettamente allineata alle iniziative aziendali effettive; questo allineamento crea obiettivi più chiari per i team che si occupano dei dati di dominio e garantisce che la rete di dati fornisca un reale valore aziendale, anziché essere un semplice esperimento.

    Competenza nella gestione e nella governance dei dati
    Anche se ogni team di dominio è proprietario dei propri dati, ciò non significa che non sia necessario un coordinamento e una governance a livello aziendale. Strumenti facilitano l'avvio di carichi di lavoro complessi, ma la selezione e l'implementazione di tali strumenti richiede comunque una supervisione approfondita da parte di esperti. Gli esperti di gestione dei dati sono utili anche per guidare ciascun team nello sviluppo dei propri processi e prodotti. Risolvere questi problemi fin dall'inizio, con una guida esperta, fa risparmiare all'intera azienda il tempo e le spese necessari per farlo in seguito.

    Co-locazione degli schema e prestazioni
    Ogni dominio dovrebbe avere uno schema di dati separato, per eliminare i colli di bottiglia che derivano dall'utilizzo di un unico schema per tutti i dati. In alcuni scenari, gli schemi dovrebbero essere co-locati e collegati per motivi di prestazioni. Allo stesso tempo, è importante ricordare che l'integrazione dei dati tra tutti i domini di una rete di dati è fondamentale. In questo modo, l'organizzazione potrà ottenere prestazioni orientate al business grazie alle strategie di posizionamento dei dati. Questi passaggi offrono una combinazione ottimale di velocità e costi per carichi di lavoro molto complessi, frequentemente uniti ad altri set di dati e regolarmente riutilizzati, a condizione che sia presente un data fabric ad alte prestazioni.

    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.