Cos'è un data contract?
Accordo formale tra chi produce e chi consuma un dato: schema, semantica e SLA versionati e verificati automaticamente in CI.
Il data contract è l'accordo formale tra chi produce un dato e chi lo consuma. Come un contratto di API tra microservizi, definisce schema, semantica e livelli di servizio: quali campi arrivano, che tipo hanno, cosa significano, con quale frequenza si aggiornano e chi risponde quando qualcosa si rompe. La differenza rispetto alla documentazione classica sta nella forma: non una pagina wiki che invecchia, ma un file versionato insieme al codice e verificato automaticamente a ogni modifica. In pratica il file vive nel repository di chi produce il dato, tipicamente in formato YAML o JSON, ed entra nella stessa pipeline di CI che verifica il codice applicativo: se una modifica lo viola, per esempio una colonna rinominata, la build fallisce prima che il dato rotto arrivi a valle, invece di essere scoperta settimane dopo da chi legge un dashboard sbagliato.
Come funziona
In pratica il contratto è un file leggibile dalla macchina (tipicamente YAML o JSON), vive nel repository di chi produce il dato e viene controllato in CI: se una modifica lo viola, per esempio una colonna rinominata o un tipo cambiato, la build fallisce prima che il dato rotto arrivi a valle. Il problema che risolve è il più comune delle piattaforme dati: la rottura tipica non è un bug, è una modifica legittima a monte (un campo rinominato nel gestionale, un valore nuovo in un elenco chiuso) che rompe in silenzio dashboard e modelli a valle. Il contratto sposta la scoperta da "il report è sbagliato da tre settimane" a "la pipeline non passa la CI". Gli stessi controlli possono alimentare anche il monitoraggio a runtime, perché non tutte le violazioni passano dal codice.
Perché conta per la tua azienda
Il data contract sposta la responsabilità della qualità verso chi produce il dato, dove correggere costa poco, invece di scaricarla sul team dati centrale che scopre i problemi a valle. Riduce gli incidenti silenziosi, dà una base oggettiva alla data quality (il contratto si misura, le buone intenzioni no) e diventa ancora più importante con l'AI: agenti e modelli consumano dati senza un umano nel mezzo che noti l'anomalia. Il caveat onesto: il contratto vale quanto la volontà organizzativa di rispettarlo. Imposto ovunque e subito diventa burocrazia; funziona partendo dalle poche interfacce critiche dove le rotture costano davvero.
Termini correlati
- Data quality · Quanto i dati sono adatti all'uso che devi farne: completi, corretti, aggiornati e coerenti tra i sistemi. Si misura, non si dichiara.
- Data governance · L'insieme di regole, ruoli e processi che rende i dati aziendali affidabili, sicuri e usabili: chi può fare cosa, su quali dati, con che qualità.
- Data lineage · La mappa del percorso dei dati: da quale sorgente partono, quali trasformazioni subiscono e quali report, modelli o sistemi alimentano.
- Contract testing · Verifica che consumer e provider di un'API rispettino un contratto condiviso, senza un ambiente integrato.
- Database per servizio · Ogni microservizio possiede il proprio archivio dati e nessun altro lo legge direttamente: solo tramite le sue interfacce.
Un termine che ti riguarda da vicino? Parliamone.
CONTATTAMI