Data Mesh, la piattaforma che tiene insieme governance e disponibilità dei dati
Per estrarre dai dati un valore dinamico una delle proposte oggi è più discusse è quella della la data mesh distribuita. Questa formula mette i dati e le relative pipeline (produzione, pulizia, analisi) nelle mani dei singoli team, all’interno d’una architettura a piattaforma che centralizza la governance e l’accesso ai dati semilavorati tramite self service.
Silos e dati non formalizzati, come email e rapporti di riunioni, restano di fatto indisponibili se si usano approcci tradizionali. Aggiungendo gli opportuni metadati di descrizione, invece, tutto concorre ad un’immagine unica ed indipendente da qualsiasi vincolo. Una piattaforma di gestione di dati e metadati raggiunge l’intero patrimonio dati seguendo modalità che di volta in volta sono esattamente quelle necessarie alla specifica azione di business necessaria in quel momento. Sono proprio flessibilità e controllo a rendere questo approccio ormai ineludibile per le aziende di una certa dimensione.
Dal Data Warehouse al Data Lake, al Data Mesh
La storia recente dell’estrazione di valore dai dati ha proposto soluzioni di analytics basate su data warehouses prima, data lake dopo, di data mesh oggi.
Il primo approccio integrato ai dati è iniziato con il data warehouse, una raccolta strutturata di dati pre-elaborati sui quali operare azioni analitiche per estrarre valore ed efficientare i processi. Questa analisi veniva svolta in un momento successivo alla raccolta dei dati iniziali.
Il warehouse si è mostrato relativamente utile, in parte messo fuori binario dall’incremento della tecnologia hardware e software che ha reso insopportabile la sua staticità.
La qualità del dato è venuta in primo piano, mostrando che per avere un vero successo, la raccolta di dati su larga scala andava fatta in maniera molto più precisa rispetto ai sistemi tradizionali. In particolare l’intelligenza artificiale ha messo in evidenza che alcuni dati potevano essere trattati e risolti in tempo reale, in questo modo permettendo di automatizzare molti punti di processo.
Una prima soluzione è stato il passaggio dal data warehouse al data lake, approccio che ha avuto successo negli ultimi anni e inteso a creare un luogo virtuale di raccolta di dati (strutturati e non) sui quali fare analisi ed estrarre valori e supporto alle decisioni. Molte aziende continuano ad investire su data lake, ma – a seconda delle condizioni di partenza – oggi questa scelta può non essere quella ideale.
In cambio di alcuni nodi strutturali (moltiplicazione dei dati simili, difficoltà di governance), il data lake prometteva ottimi risultati proprio sulla larga scala. In realtà, nonostante chiari miglioramenti in svariati punti, il modello del data lake non è riuscito a convergere proprio sulla larga scala.
L’analisi informatica ha individuato un problema che limitava gli effetti del data lake: il suo paradigma centralizzato. Centralizzare le operazioni rende impossibile ottimizzare l’intero processo, partendo dallo sviluppo software che raccolga dati puliti (o facili da pulire) e li offra per l’ingestione ai processi analitici sia per dati immediati, sia per dati storici.
La soluzione proposta è quindi la decentralizzazione dell’architettura con la disponibilità di dati su richiesta (la cosiddetta democratizzazione dei dati).
Parallelamente al data mesh si parla anche di data fabric, che può avere interpretazioni diverse a seconda del vendor che ne parla.
Cos’è la data mesh
La data mesh architecture è stata definita appena nel 2019, da Zhamak Dehghani nell’articolo How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh, come passare da un data lake monolitico a una mesh di dati distribuita. Zhamak è la director of emerging technologies alla Thoughtworks North America, e ha formalizzato dei concetti che già da qualche anno giravano nel mondo, e perfino in Italia, con piattaforme di grandi potenzialità.
Dice la Dehghani nel suo articolo: “dobbiamo passare a un paradigma che attinge dalla moderna architettura distribuita: considerare i domini come una preoccupazione di prima classe, applicare il pensiero della piattaforma per creare un’infrastruttura di dati self-service e trattare i dati come un prodotto”.
La data mesh si basa su quattro principi fondamentali che raggruppano concetti ben noti:
- Domain ownership
- Data as a product
- Self-serve data infrastructure platform
- Federated governance
Ricomponendo la struttura attorno ai domini, il tradizionale team dati centrale trasferisce ai team di dominio la data ownership e la relativa responsabilità.
Il team del dominio garantisce la qualità dei dati non solo ai suoi membri, ma anche se la richiesta arriva da fuori del dominio. In questo senso, i dati diventano un prodotto.
Un team dedicato alla piattaforma dati è la base del self-service. In questo modo è semplice creare, eseguire e mantenere prodotti di dati interoperabili per tutti i domini.
La governance gild è il gruppo di lavoro che garantisce la federated governance, ovvero le regole organizzative e le normative di settore dell’intero ecosistema di dati.
Quali aziende forniscono soluzioni Data Mesh?
Secondo Gartner i nomi principali sul mercato mondiale sono Keboola, Boomi, Tibco, Azure, Talend ed Appian, ma il mercato è esploso e i prodotti sono moltissimi, anche italiani. Molto simile è anche la Data Lakehouse di Databricks, che va oltre il lake e il warehouse aggiungendo un controllo migliore. Ma le aziende che di questo si occupano, magari con minime differenze ma con diversi nomi commerciali, ce ne sono davvero parecchie. Questo numero è destinato a crescere per poi entrare nel consueto gioco di acquisizioni, fusioni e anche chiusure.
Salendo nel livello di astrazione troviamo il data stack. La data mesh è uno degli elementi che concorrono ad una corretta implementazione del data stack. Avere entrambi gli occhi sul data stack permette di fare le migliori scelte architetturali indipendentemente dalle piattaforme commerciali che si scelgono.
Atlan propone una vista complessiva basata su sei punti essenziali: data mesh, i team di dati come team di prodotto, il livello delle metriche, l’ETL inverso, metadati attivi e cataloghi di dati di terza generazione, osservabilità dei dati.