O que é um Data Contract (Contrato de Dados)?
Um Data Contract (Contrato de Dados) é um acordo formal entre o produtor e o consumidor de um conjunto de dados que define as expectativas e compromissos sobre os dados: que esquema terão, que níveis de qualidade o produtor garante, com que frequência se atualizam, quem é responsável pelo quê e o que acontece se os termos não forem cumpridos.
Os Data Contracts surgem como resposta a um problema comum: as alterações nos dados a montante interrompem aplicações e relatórios a jusante sem aviso. Sem um contrato explícito, não há forma de saber o que constitui uma "breaking change" nem quem deve notificar quem. O contrato formaliza estas expectativas para que ambas as partes saibam exatamente o que esperar.
Um Data Contract típico inclui: definição do esquema (campos, tipos, nulidade), regras de qualidade mínimas (completude > 99%, unicidade no campo X), SLAs de frescura (dados atualizados a cada 4 horas), política de alterações (versionamento semântico, período de notificação) e metadados do owner, consumidores e canais de comunicação.
Porque é importante?
Em organizações com dezenas ou centenas de pipelines de dados, as alterações não coordenadas são a principal causa de incidentes. Um estudo da Monte Carlo Data revela que as equipas de dados dedicam até 40% do seu tempo a resolver problemas de qualidade e pipeline, muitos deles causados por alterações a montante não comunicadas.
Os Data Contracts reduzem estes incidentes ao tornar explícitas as expectativas. Quando o produtor sabe que tem consumidores que dependem de um esquema específico, pensa duas vezes antes de renomear uma coluna. E quando o consumidor sabe que tem um SLA de qualidade, pode desenhar os seus processos assumindo que os dados cumprirão determinadas normas.
Como funciona na prática?
Os Data Contracts definem-se tipicamente num formato legível por máquinas (YAML, JSON) e integram-se no pipeline de CI/CD. Antes de uma alteração de esquema ser implementada, valida-se face aos contratos existentes. Se a alteração violar um contrato (por exemplo, eliminar uma coluna que o consumidor espera), o pipeline para e notifica as partes afetadas.
O ciclo de vida de um contrato inclui fases: rascunho (draft), proposto (os consumidores reveem-no), ativo (em vigor) e obsoleto (substituído por uma nova versão). As ferramentas de governo de dados monitorizam o cumprimento automaticamente, detetando violações de qualidade ou frescura e notificando o owner.
Data Contract (Contrato de Dados) no Linedat
A Linedat implementa Data Contracts com um sistema de estados (draft, proposed, active, deprecated) e validação automática de cumprimento. O serviço de compliance verifica continuamente que os dados cumprem os termos do contrato e gera violações documentadas quando se detetam incumprimentos, integrando os contratos com a linhagem e o catálogo.
Termos relacionados
Data Mesh é uma arquitetura descentralizada em que cada domínio de negócio é responsável pelos seus próprios produtos de dados.
O que é Data Quality (Qualidade de Dados)?Data Quality mede se os dados são precisos, completos, consistentes e atualizados. Aprenda a implementar regras de qualidade eficazes.
O que é Data Governance?Data Governance é o conjunto de políticas, processos e funções que garante a qualidade, segurança e uso correto dos dados numa organização.
O que é Data Lineage?Data Lineage é a rastreabilidade dos dados desde a sua origem até ao destino, mostrando todas as transformações e dependências ao longo do caminho.
