Decisão e semântica
Quem consome e decide, e a métrica definida uma única vez.
Camada semântica com definição única, contrato de consumo versionado, segurança testável por linha e desempenho medido, sobre a gold construída nas aulas anteriores.
Computação 2 · Prof. Afonso Brandão · 23/09/2026
Continuidade · o fecho do pipeline
Esta aula fecha o percurso construído desde a Aula 10. O que se decide aqui determina se todo o investimento anterior sustenta alguma decisão.
Roteiro · 120 minutos · uma hora de exposição, uma hora de prática
A segunda hora é atividade em grupo: definir a métrica uma única vez, publicar o contrato, aplicar segurança por linha e medir a latência.
Quem consome e decide, e a métrica definida uma única vez.
Como o dado é servido, e o que a interface promete a quem consome.
Acesso por linha testável, pré-agregação e latência medida.
Camada semântica, contrato, segurança por linha e medição de p95.
Bloco 1 · Quem consome e decide
Cinco atributos definem a interface antes de qualquer escolha de ferramenta.
Pergunta que o consumidor faz, escrita na linguagem dele.
Usuário que a faz, com o nível de autonomia técnica que possui.
Frequência com que a pergunta é feita, e em que momento do dia.
Ação que decorre da resposta, e o que muda conforme o valor obtido.
Tolerância de atraso aceita, que determina a frequência da carga.
O indicador cujo valor não altera nenhuma ação é informação sem consequência. Ele ocupa espaço no painel, consome carga para ser mantido e concorre pela atenção com o que importa.
Aplicação: para cada gráfico proposto pelo parceiro, escreva a ação que muda conforme o valor. O gráfico sem essa frase é candidato à remoção.
Bloco 1 · O problema
Nenhuma delas cometeu erro técnico. Cada uma adotou uma decisão razoável e não declarada.
Soma o preço dos itens de pedidos entregues, sem incluir frete, porque o frete não compõe a comissão de vendas.
Soma preço e frete dos pedidos entregues, enviados e faturados, incluindo os ainda não entregues, porque a receita é reconhecida no faturamento.
Soma o preço dos itens de todo pedido não cancelado nem indisponível, inclusive os ainda em processamento, porque considera receita tudo o que não foi desfeito.
Bloco 1 · Camada semântica
A camada semântica é o lugar onde a regra de negócio deixa de ser SQL repetido e passa a ser artefato versionado.
Nome único e sem sinônimo concorrente em outro relatório.
Fórmula declarada, com o recorte de status explícito.
Granularidade mínima em que a métrica é válida.
Fuso aplicado, retomando a decisão da Aula 13.
Responsável que aprova mudanças na definição.
Versão, para que a série antiga continue interpretável.
Bloco 2 · Serviço
A mesma camada semântica pode ser exposta das quatro formas, e a escolha decorre de quem consome e com que frequência.
latência variável
O painel consulta a gold a cada abertura. Sempre atual, e sujeito ao custo de varredura a cada acesso.
latência baixa e previsível
O resultado é pré-calculado na carga. Rápido e barato por acesso, ao custo de atualidade limitada à frequência da carga.
latência controlada por contrato
Outro sistema consome o dado por interface versionada, com limite de requisições e paginação declarados.
latência do arquivo
Arquivo entregue em prefixo acordado. Simples e auditável, e cria cópia fora do controle de acesso do warehouse.
Bloco 2 · Contrato
Sem contrato, toda alteração na camada de consumo é uma alteração potencialmente destrutiva para quem consome.
| Cláusula | O que declara | Alteração que exige nova versão |
|---|---|---|
| Schema | Colunas, tipos e obrigatoriedade de cada campo publicado | Remover coluna, renomear ou estreitar o tipo |
| Semântica | O significado da métrica e o recorte aplicado | Alterar a fórmula ou o filtro de status |
| Atualidade | O atraso máximo entre o fato e sua disponibilidade | Reduzir a frequência da carga |
| Disponibilidade | Janela de atendimento e limite de requisições | Introduzir limite mais restritivo |
| Compatibilidade | Por quanto tempo a versão anterior continua servida | Encerrar a versão antes do prazo declarado |
Bloco 3 · Segurança
A política de acesso constitui controle somente depois de executada contra perfis reais e verificada por teste.
| Perfil | Norte | Sudeste | Nacional |
|---|---|---|---|
| Gerente Norte | vê | não vê | não vê |
| Gerente Sudeste | não vê | vê | não vê |
| Diretoria | vê | vê | vê |
Identidade do usuário propagada até o motor, sem substituição por credencial de serviço.
Filtro por linha aplicado uma única vez, na camada semântica.
Mascaramento de coluna sensível conforme a classificação das Aulas 8 e 9.
Auditoria de quem consultou o quê, com retenção declarada.
Ambientes segregados, sem dado de produção em desenvolvimento.
Teste de negação executado a cada publicação, como os testes da Aula 13.
Bloco 3 · Desempenho
A média dilui as consultas lentas. O percentil 95 indica o tempo abaixo do qual ficam 95% das consultas, e portanto a espera que se repete em uma de cada vinte.
A agregação na carga transfere o custo do momento da consulta para o da gravação. Retoma a decisão de layout da Aula 10, agora do ponto de vista do consumidor.
O filtro do painel precisa corresponder à coluna de partição da gold. Sem correspondência, cada abertura varre o acervo inteiro, e o pruning da Aula 10 não ocorre.
Latência p95, bytes varridos, taxa de erro e consultas por usuário. É a telemetria da Aula 15 aplicada à ponta em que o consumidor está.
Segunda hora · Card de trabalho em sala
Em grupo, sobre a silver e a gold das aulas anteriores: definir uma vez, proteger por linha e medir a leitura.
Reproduza as três definições divergentes e depois unifique-as na camada semântica, com o critério declarado.
Implemente o filtro por linha e execute as nove asserções, incluindo as quatro que verificam negação.
Meça o p95 da mesma pergunta servida por consulta direta e por tabela agregada.
Segunda hora · Preparação · início dos 10 minutos da divergência
A gold da Aula 13 não tem região, e a da Aula 10 não tem data de compra; a camada semântica precisa das duas.
Segunda hora · Divergência · 10 minutos
Execute as três consultas sobre a silver e registre os valores antes de unificar. A diferença entre elas é o argumento a favor da camada semântica.
Segunda hora · Semântica · 15 minutos
A vista publicada substitui o SQL repetido, e o metadado registra quem responde pela definição.
Segunda hora · Contrato · 10 minutos
Cada grupo escreve o contrato da sua camada de consumo, com as cinco cláusulas do bloco anterior.
O contrato declara também o que muda sem nova versão.
A atualidade declarada corresponde ao indicador medido na Aula 15.
O prazo de convivência entre versões permite ao consumidor planejar a migração.
O responsável nomeado é quem aprova mudança de semântica, papel distinto de quem opera a carga.
O contrato é versionado no mesmo repositório do SQL que o implementa.
Segunda hora · Segurança · 15 minutos
Nove asserções, das quais quatro verificam que o acesso é negado; as de negação são as que mais frequentemente faltam.
Segunda hora · Desempenho · 10 minutos
A comparação encerra o laboratório e converte a decisão de arquitetura em número.
A pré-agregação reduz ambos, e o custo aparece como atualidade limitada à frequência da carga. Os três números juntos sustentam a decisão.
A pré-agregação que altera o resultado constitui defeito, pela mesma regra aplicada ao layout na Aula 10.
Segunda hora · Conferência
O que se confere em cada etapa, sobre a gold construída nas aulas anteriores.
| Etapa | O que verificar | Referência |
|---|---|---|
| Gold regenerada | Contagem antes e depois e linhas sem região | Mesma contagem de itens e nenhuma linha sem região |
| Divergência | As três consultas sobre a silver | Três valores distintos, próximos de R$ 13,2, 15,7 e 13,5 mi na base estática, com a maior diferença entre a financeira e a comercial |
| Camada semântica | As três reescritas sobre a vista | Um único valor, idêntico nas três |
| Contrato | Cláusulas declaradas no arquivo | Schema, semântica, atualidade, disponibilidade e compatibilidade |
| Segurança | As nove asserções da matriz | Quatro negações devolvendo zero e cinco permissões devolvendo linhas |
| Desempenho | p95 nas duas formas de servir | Redução expressiva na pré-agregada, com o mesmo resultado |
| Equivalência | Valor devolvido pelos dois caminhos | Idêntico; qualquer diferença caracteriza defeito |
Segunda hora · Uso de IA · em paralelo
A escolha entre as três definições de receita é decisão de negócio, e o assistente não dispõe do contexto necessário para tomá-la.
"A partir deste schema do fato, liste as definições plausíveis de receita e diga, para cada uma, qual pergunta de negócio ela responde e qual recorte de status aplica."
"Escreva a vista da métrica adotada e o contrato correspondente, declarando schema, semântica, atualidade e política de compatibilidade entre versões."
"Aponte, nesta implementação de acesso por linha, por qual caminho um perfil restrito ainda conseguiria observar dado de outra região, inclusive por agregação."
Execute também as asserções de negação, além das de permissão que o assistente costuma propor.
Confirme que a vista sugerida aplica o mesmo recorte declarado no contrato.
Registre o prompt junto do SQL, uma vez que ele integra o registro da decisão.
Ponte com a Aula 1 · Spec-Driven Development
A decisão de consumo entra no projeto como requisito, decisão registrada e critério verificável.
Publicar a receita entregue por mês, região e categoria, com definição única e acesso restrito à região do usuário.
Latência p95 de consulta inferior a 2 s; atualidade declarada de até 3 h; versão anterior servida por 90 dias após a publicação da seguinte.
Tabela pré-agregada servindo o painel, em vez de consulta direta ao fato. Contexto: trinta usuários abrindo o mesmo painel diariamente. Consequência: atualidade limitada à frequência da carga.
Dado um usuário com perfil restrito ao Norte, quando ele consulta a receita por região, então nenhuma linha de outra região é devolvida e o total apresentado corresponde apenas ao Norte.
Entrega do card de trabalho
O que o grupo entrega ao final da segunda hora, e o que será conferido.
A vista da métrica com o dicionário versionado, o arquivo de contrato, a suíte de nove asserções de acesso, a medição de latência nas duas formas de servir e a justificativa escrita da definição adotada.
As três definições divergentes foram reproduzidas, com os valores registrados.
A métrica adotada existe em um único lugar, com responsável e vigência declarados.
O contrato declara schema, semântica, atualidade, disponibilidade e compatibilidade.
As quatro asserções de negação devolvem zero e as cinco de permissão devolvem linhas.
A latência p95 está medida nas duas formas, com os bytes varridos registrados.
Os dois caminhos devolvem o mesmo valor, e a equivalência está verificada.
Autoestudos · antes do próximo encontro
Onde vive a definição de uma métrica, e o que acontece com a série histórica quando ela muda?
Compare a estrutura de modelo semântico da ferramenta com a vista escrita em aula, e identifique o que ela acrescenta além da centralização do SQL.
getdbt.com · documentação ReferênciaObserve como o contrato de consumo aparece na definição de produto de dados, e verifique quais cláusulas do seu contrato ainda faltam.
datamesh-architecture.com · referência DocumentaçãoEstude o comportamento da vista usada no laboratório, com atenção a quando ela é resolvida e ao efeito disso sobre a latência percebida.
duckdb.org · documentaçãoAula 16 · Síntese
Integração do Datawarehouse com a Interface Analítica · 23/09/2026 · Prof. Afonso
Projetar a camada de consumo analítico a partir da decisão que ela sustenta, definir a métrica uma única vez em camada semântica versionada, publicar contrato de consumo com política de compatibilidade, aplicar controle de acesso por linha verificável por asserção e medir a latência percebida nas formas de servir disponíveis.
Primeira hora de exposição dialogada em três blocos, cada um encerrado por checklist de aplicação e erro comum. Segunda hora de atividade em grupo: sobre a gold construída nas aulas anteriores, os estudantes reproduzem três definições divergentes da mesma receita, unificam-nas em camada semântica com responsável e vigência declarados, publicam o contrato de consumo, implementam acesso por linha com nove asserções — cinco delas de negação — e medem a latência p95 da mesma pergunta servida por consulta direta e por tabela pré-agregada.