Data Mesh · tema 34 de 40
Contratos de dados e plataforma self-serve
30 min · 2 vídeos · 11 cards · 1 drill
Por que cai
É a pergunta de execução depois da pergunta de conceito. A banca costuma dizer 'entendi os princípios, agora me diga como você impede que um domínio quebre o outro'. A resposta é contrato com versionamento e verificação automática na plataforma, e quem não sabe isso fica preso em 'a gente combina'.
Pré-teste · 1 de 2
responda antes de verUm domínio renomeou uma coluna e quebrou relatórios de outras áreas. Qual mecanismo previne isso?
Vídeo · português · 5 min
Em uma frase
O contrato transforma "a gente combina" em algo verificado na publicação, e a plataforma self-serve transforma princípio em coisa que a pessoa do domínio consegue usar sem abrir chamado. Sem os dois, o Mesh fica no slide.
O que é um contrato de dados
contrato de dados— Acordo explícito e versionado entre quem publica e quem consome, declarando esquema, significado de cada campo, granularidade, janela de atualização, garantias de qualidade e quem responde quando algo falha.Repare no que ele tem além do esquema: o significado, o grão e a frequência. Um produto pode manter todas as colunas e ainda assim quebrar quem consome, se mudar o grão de "uma linha por pedido" para "uma linha por item" — as somas passam a contar outra coisa.
Evoluir sem quebrar
| Mudança | Compatível? | O que fazer |
|---|---|---|
| Acrescentar coluna opcional | Sim | Publicar; quem não a conhece segue funcionando |
| Preencher campo que vinha nulo | Sim | Publicar; já era previsto |
| Renomear coluna | Não | Nova versão, com convivência |
| Remover coluna | Não | Nova versão, com convivência |
| Mudar tipo | Não | Nova versão |
| Mudar grão ou semântica | Não | Nova versão, e avisar explicitamente: silencioso é o pior caso |
O processo de versão que a banca espera ouvir:
- 1Publicar a versão nova em paralelo, sem tirar a antiga do ar.
- 2Declarar um prazo de convivência entre as duas.
- 3Usar a linhagem para descobrir quem consome e avisar essas pessoas.
- 4Descontinuar a versão antiga só depois do prazo, com aviso.
A plataforma, e o critério para saber se ela presta
Ela entrega, em autoatendimento: ingestão, armazenamento em camadas, catálogo, linhagem, testes de qualidade, observabilidade, controle de acesso e o caminho de publicar um produto com contrato.
O teste é uma pergunta só: uma pessoa do domínio de crédito, que entende do negócio e não é engenheira de plataforma, consegue publicar um produto novo sem abrir chamado? Se não, a plataforma virou o novo gargalo e o problema só trocou de nome.
Nem todo dado vira produto
Manter um produto custa: contrato, versão, acordo de nível de serviço, alguém de plantão. Esse compromisso só faz sentido onde há consumidor declarado. Transformar todas as tabelas em produtos é a forma mais rápida de tornar o Mesh insustentável — e dizer isso em voz alta mostra critério.
Como responder isso em voz alta
Para a pergunta da quebra: o problema é a mudança invisível; a resposta é contrato verificado, com a distinção entre compatível e incompatível e um processo de versão com prazo e aviso. Para a pergunta da plataforma: liste capacidades, dê o critério de autoatendimento e reconheça o custo — é o reconhecimento do custo que separa a resposta madura da entusiasmada.
Se quiser outro ângulo1 vídeo
Como cai na sabatina
“Um domínio mudou uma coluna e quebrou três dashboards de outra área. Como você evita que isso se repita?”
Erros comuns
- Tratar o contrato como documento. Contrato que não é verificado na entrega é combinado, e combinado quebra na primeira pressa.
- Achar que versionar é renomear a tabela para v2. Versionamento útil mantém a versão anterior viva durante um prazo declarado, para o consumidor migrar.
- Confundir contrato com esquema. Esquema é tipo e nome de coluna; contrato inclui semântica, granularidade, atualização, qualidade esperada e quem responde.
- Deixar a plataforma virar um novo gargalo. Ela entrega capacidade em autoatendimento; se cada uso precisar de um chamado, voltamos ao time central.
- Esquecer a linhagem entre domínios. Sem ela, ninguém consegue responder de onde veio o número quando dois produtos discordam.
- Publicar produto sem consumidor conhecido. Produto de dados sem consumidor declarado é custo de manutenção sem retorno; o Mesh não pede que tudo vire produto.
Flashcards
Card 1 de 11
0 certos · 0 a reverDrill
Compatível ou quebra o consumidor?
Para cada mudança num produto de dados, diga se ela exige nova versão.
1.Acrescentar uma coluna opcional no fim da tabela.
2.Renomear a coluna valor para valor_bruto.
3.Mudar o grão de uma linha por pedido para uma linha por item do pedido.
4.Passar a preencher uma coluna que antes vinha sempre nula.
5.Trocar o tipo de uma coluna de texto para numérico.
Quiz · 1 de 2
Qual afirmação sobre contratos de dados é mais defensável?
Explique para um gerente
Explique em um minuto por que uma tabela compartilhada precisa de um contrato, usando a ideia de uma API.
Se travar numa palavra técnica, é sinal de que ainda não entendeu essa parte.
Prefiro falar em voz alta
00:00
Toque para gravar, ou responda em voz alta sem gravar
Perguntas de sabatina deste tema2
- · Um domínio mudou uma coluna e quebrou três painéis de outra área. Como você impede que isso se repita, sem travar a evolução do produto de dados?
- · O que uma plataforma de dados self-serve precisa entregar para que a descentralização funcione de verdade?