Quantyca Data Mesh use cases image
Scopri
Contesto

I Data Contract sono accordi stipulati tra data producers e data consumers che mirano a regolamentare sia i dati che il loro scambio. Forniscono trasparenza sulle dipendenze e sull’utilizzo dei dati all’interno di un’architettura informativa  e aiutano a garantirne coerenza, chiarezza, affidabilità e qualità.

Un data contract consente di rispondere a domande fondamentali sui dati, come ad esempio:

 Con quale frequenza vengono aggiornati questi KPI?
Questi dati sono affidabili?
Dove e come posso accedere a questa informazione?
Qual è l’utilizzo atteso per questi dati?
Chi ha il permesso di visualizzare questo valore?
Cosa significa questo attributo?

punti critici dei Data Contract

 

Ogni data contract deve soddisfare le seguenti caratteristiche:

Indirizzabile: è necessario che sia identificabile in modo semplice per consentirne l’utilizzo
• Espressivo: auto-descrittivo, definito in modo chiaro e inequivocabile
• Circoscritto: con un ambito chiaro che si adatti al suo scopo, per scongiurare usi impropri, ambiguità o un aumento eccessivo del carico cognitivo di chi ne è responsabile
• Stabile: invariato per intervalli di tempo ragionevoli, le misure da seguire per la gestione di eventuali cambiamenti sono anch’esse parte del data contract
• Affidabile: deve poter essere rispettato da tutte le parti coinvolte
• Computabile: idealmente dovrebbe essere elaborabile attraverso servizi di automazione. Tuttavia, tipicamente si evolve gradualmente da contratti intesi come documentazione human-readable a data contract as code pensati per l’uso

 

I data contract sono al centro dei riflettori poiché si collocano all’intersezione di 3 tendenze chiave nella gestione dei dati: Data Centricity, Data as a product e Data Fabric:

Secondo il data centric manifesto, le applicazioni non dovrebbero essere al centro dell’architettura, i dati dovrebbero esserlo. Le applicazioni generano e utilizzano dati, ma non dovrebbero trattarli come un sottoprodotto, bensì devono essere responsabili per essi e i contratti sono un buon modo per formalizzare questa responsabilità

Concentrandosi sul principio del mesh del Data as a product, è fondamentale che gli asset sviluppati abbiano interfacce chiare verso i loro consumatori che specificano formalmente l’ambito, i servizi forniti e come accedervi: questo è esattamente ciò per cui sono pensati i data contract

Il paradigma Data Fabric enfatizza l’automazione e la riproducibilità nella gestione dei dati e dipende fortemente dalla raccolta e attivazione dei metadati: i data contract fungono da fonte primaria e proattiva di metadati

 

Data Contracts

 

Nei database e datawarehouse la gestione dei dati basata su schemi ha fatto il suo corso per decenni: i dati sono sottoposti a rigorose analisi, suddivisi per dominio, modellati e documentati. Tuttavia, il loro comportamento è tipicamente governato da vincoli locali che non considerano la loro diffusione ed evoluzione. Questo approccio ha spesso portato a una mancanza di flessibilità e adattabilità. Spesso vengono create lunghe catene di dipendenze senza garanzie, come ad esempio regole per l’introduzione di cambiamenti o caratteristiche delle informazioni esposte da un artefatto. Questo approccio porta spesso a sorprese inaspettate quando una modifica a uno schema può far crollare l’intera filiera del dato.

I data contract sono spesso fraintesi e ridotti a semplici schemi, la rappresentazione fisica dei dati. Tuttavia, gli schemi fungono da base dei data contract, sono il loro aspetto primario ma non ne catturano l’intera essenza. Gli elementi fondamentali di un data contract includono:

API: per descrivere come accedere e consumare i dati esposti. Un’API robusta fornisce dettagli sulla posizione del servizio, sui protocolli di comunicazione supportati, sui metodi di autenticazione, sugli endpoint disponibili e sugli schemi dei dati scambiati

Vincoli: per definire le regole di ingaggio, descrivendo come i dati vengono scambiati e come dovrebbero essere utilizzati. Stabiliscono il perimetro entro il quale opera il data contract

Semantica: per chiarire il significato dei dati scambiati. Questo aspetto è cruciale, tuttavia, la sua formalizzazione è ancora una sfida aperta

schemi base dei Data Contract

Punti Critici

L’adozione di data contract porta con sé una serie di sfide sia tecnologiche che organizzative.

Tuttavia, la gestione degli aspetti tecnologici è solo la punta dell’iceberg e le principali complessità sono legate al modello operativo e al mindset necessari per la sua attuazione. Per un’integrazione efficace dei data contract, è infatti essenziale l’evoluzione di ruoli, interazioni e processi secondo una cultura incentrata sull’innovazione, la collaborazione e l’apprendimento continuo.

punti critici dei Data Contract

Trovare rappresentazioni efficaci e strumenti capaci di elaborarli e gestirli è un elemento chiave per garantire l’efficienza operativa e attuarne l’automazione e il tracciamento. Sul mercato proliferano standard e tool per colmare questo gap ma non vi sono soluzioni mature e nessuna spicca sulle altre. Tuttavia, è questione di tempo prima che la concorrenza e il fervore della community permettano di superare queste sfide.

L’adozione dei data contract ha come prerequisito lo spostamento delle ownership verso i data , che devono proattivamente definire e aderire ai data contract esposti verso i loro consumatori. Con data producers si intendono sia le sorgenti primarie dell’informazione che applicazioni più a valle nella filiera del dato e che generano dati derivati: in entrambi i casi gli owner di tali applicazioni vanno responsabilizzati per i dati che espongono e mettono in circolazione. Questa trasformazione del modello operativo richiede un forte sostegno interno e una capacità di coinvolgere e stimolare culturalmente le parti interessate. Un’altra difficoltà fondamentale è la negoziazione dei data contract, che a sua volta racchiude diverse sfide:

  • Prospettive diverse: la comunicazione è fondamentale
  • Ambiguità: la chiarezza è importante
  • Rischi / benefici: valutare i benefici dell’accesso ai dati rispetto ai rischi
  • Carico cognitivo: semplificare concetti complessi
  • Allineamento: assicurarsi che tutti siano sulla stessa lunghezza d’onda

Soluzione

L’importanza di uno standard comune

Uno degli aspetti chiave per affrontare le sfide tecnologiche è l’istituzione di standard sui quali i data contract possano basarsi. Ecco i motivi principali:

Semplifica la comprensione: riduce il carico cognitivo e permette al team di concentrarsi sulle priorità
Abilita l’enforcing di best practices: permette di mettere al servizio degli altri il frutto dell’esperienza, evitando la necessità di reinventare la ruota ogni volta
Facilita l’automazione: fare ordine nei contenuti ammissibili e nel loro formato per sostenere servizi di elaborazione automatica
Migliora la collaborazione: fornisce una base comune promuovendo il lavoro di squadra
Aumenta l’interoperabilità e la scalabilità: rende gli asset più compatibili e i processi replicabili

La standardizzazione può essere raggiunta grazie alla definizione di una specifica, le cui caratteristiche chiave dovrebbero includere:

• Tecnologicamente agnostica: compatibilità con qualsiasi stack tecnologico
• Adottabile incrementalmente: per favorire la diffusione senza ostacoli iniziali insormontabili
• Dichiarativa e modulare: rende agile l’utilizzo
Estendibile: ad esempio consentendo proprietà custom e integrazione con standard esterni

In Quantyca, abbiamo lanciato l’Iniziativa Open Data Mesh e reso open-source la nostra specifica interna per descrivere i data product, la Data Product Descriptor Specification (DPDS).

Nel DPDS viene utilizzato il concetto più generale di service agreement: i data contract sono un particolare tipo di service agreement. Infatti, da un lato ci possono essere servizi che non espongono dati e dall’altro ci sono possono essere accordi tra le parti che non vengono formalizzati con un contratto. Il DPDS descrive formalmente i componenti dell’interfaccia di un data product tra cui:

  • l’intento, ovvero lo scopo dell’interfaccia
  • le aspettative, come va usato dai consumers
  • il contratto, che regolamenta il comportamento del data product stesso e dei suoi consumer

Data Product Entity

Il supporto della Data Platform

La gestione del ciclo di vita dei data contract richiede l’implementazione di due processi per curarne la validazione all’atto della creazione e il monitoraggio continuo. Attraverso la validazione il data contract viene sottoposto a una selezione all’ingresso: se non soddisfa i requisiti viene rifiutato e segnalato ai responsabili. Questa misura garantisce che la piattaforma ammetta solo data contract validi.

I data contract, come degli organismi viventi, evolvono nel tempo poiché il loro ciclo di vita è legato a quello dei dati e delle applicazioni. È dunque fondamentale monitorare la validità dei contratti anche dopo la loro registrazione iniziale segnalando eventuali divergenze e applicando azioni correttive dove necessario.

Per governare i processi di validazione e monitoraggio continuo attraverso diverse tecnologie e casi d’uso sono necessari tre componenti architetturali:

componenti architetturali data contract

il direttore dietro le quinte che orchestra l’intero ciclo di vita del data contract agendo come interfaccia unica per applicazioni e utenti

responsabile localmente dell’integrazione con tecnologie specifiche. Possono esserne presenti più istanze (una per tecnologia) per aderire con architetture in continua evoluzione

il repository dei metadati che archivia i data contract rendendoli accessibili a tutta la piattaforma

Gestire efficacemente ed efficientemente i data contract richiede un approccio in grado di superare le barriere delle diverse tecnologie. Infatti, i data contract possono abbracciare un perimetro ampio ed eterogeneo costituito da job spark, tabelle su database, bucket su object stores e topic kafka per citarne alcuni.

Se gestire un data contract localmente a un singolo prodotto è già una sfida, adottare soluzioni eterogenee è impensabile poiché porterebbe a un grande sforzo di gestione e al fallimento di tali iniziative. L’architettura basata su Contract Enforcing Point, Contract Decision Point e Contract Information Point permette l’attuazione di una gestione centralizzata e olistica dei data contract capace di adattarsi in modo agile alle diverse tecnologie ed esigenze.

 

 

 

L’evoluzione del modello operativo

Per l’adozione dei data contract è fondamentale affrontare le iniziative di data management esaminando attentamente la struttura organizzativa, il modello operativo e le pratiche adottate dai gruppi di lavoro. Questa analisi permette di valutare un piano di transizione sostenibile e in grado di far evolvere incrementalmente processi, ruoli e interazioni di pari passo con l’attuazione di nuovi paradigmi. In Quantyca assistiamo i nostri clienti nella definizione e implementazione della data strategy ponendo in primo piano gli aspetti organizzativi e disegnando su misura la soluzione in funzione non solo delle esigenze e degli obiettivi ma anche e soprattutto dello stato e delle caratteristiche reali delle parti coinvolte.

Vantaggi

Maggiore e più efficiente data governance
grazie alla generazione proattiva di metadati
Trasparenza e chiarezza dei dati
attraverso la documentazione degli asset e del loro valore semantico
Interoperabilità
lo scambio e l’interconnessione di dati tra applicazioni è favorito e tutelato
Data Quality
l’inclusione di vincoli e regole di validazione, garantisce che i dati siano sani e trattati opportunamente
Collaborazione
la validazione e il monitoraggio offerti dalla piattaforma permettono ai team di cooperare con maggiore fiducia

Risorse

Video
Subscription
08/04/2024

Data Contracts Management: Schema Registry and Beyond

Hai bisogno di una consulenza personalizzata? Contattaci per trovare la soluzione migliore!

Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Entra a far parte del team Quantyca, facciamo squadra!

Siamo sempre alla ricerca di persone di talento da inserire nel team, scopri tutte le nostre posizioni aperte.

VEDI TUTTE LE POSIZIONI APERTE