(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
Modelação dimensional Kimball na prática
Data Engineering

Modelação dimensional Kimball na prática

João Barros 15/05/2026 8 min

Há metodologias que envelhecem mal e outras que resistem ao tempo. A modelação dimensional de Ralph Kimball pertence claramente ao segundo grupo. Décadas depois de proposta, continua a ser a base de praticamente todos os data warehouses e modelos semânticos que funcionam bem — do SQL Server ao Microsoft Fabric. A razão é simples: alinha o modelo de dados com a forma como o negócio pensa.

Quem trabalha com dados conhece o sintoma do modelo mal desenhado: relatórios lentos, métricas que não batem certo entre departamentos, e cada pergunta nova a exigir horas de trabalho. Um bom modelo dimensional resolve isto na origem. Vamos ver como, na prática.

Factos e dimensões: a ideia central

Toda a modelação dimensional assenta numa distinção simples. Os factos representam eventos mensuráveis do negócio — uma venda, uma encomenda, um pagamento. As dimensões representam o contexto desses eventos — quem, o quê, quando, onde. A tabela de factos guarda os números (quantidade, valor); as dimensões guardam os atributos por onde se filtra e agrupa (cliente, produto, data, loja).

Modelação dimensional Kimball na prática

Esta separação não é burocracia técnica: é o que permite que um utilizador de negócio responda a "vendas por região e por mês" sem escrever uma única linha de código, arrastando dimensões e medidas de forma intuitiva.

A decisão mais importante: a granularidade

Se há uma decisão que define o sucesso de um modelo, é esta: definir a granularidade da tabela de factos antes de qualquer outra coisa. A granularidade é o nível de detalhe de cada linha — uma linha por venda? por item da venda? por dia e produto?

A regra de ouro é escolher sempre o nível mais atómico disponível. Guardar ao detalhe da linha de venda dá flexibilidade para agregar de todas as formas possíveis no futuro. Escolher um nível já agregado poupa espaço a curto prazo, mas cedo ou tarde alguém vai pedir um detalhe que já não existe — e a reconstrução é cara e arriscada.

Os ingredientes de um modelo sólido

Para além da granularidade, alguns padrões separam um modelo robusto de um frágil:

  • Chaves surrogate: chaves numéricas próprias do warehouse, independentes das chaves de negócio, que tornam as junções rápidas e resistentes a mudanças na origem.
  • Dimensões desnormalizadas: ao contrário do modelo transacional, aqui compensa "achatar" as dimensões (o produto com a sua categoria e marca na mesma tabela), privilegiando a simplicidade e o desempenho da leitura.
  • Uma tabela de datas completa: talvez a dimensão mais subestimada. Ter uma dimensão de calendário com ano, trimestre, mês, dia da semana e feriados desbloqueia toda a análise temporal.
  • Esquema em estrela: factos ao centro, dimensões à volta. Simples de entender, rápido de consultar.

Na prática: do transacional ao analítico

Imagine uma base de dados de e-commerce, normalizada ao detalhe para suportar a aplicação: encomendas, linhas de encomenda, produtos, categorias, clientes, moradas — tudo em tabelas separadas e ligadas por chaves. É ótima para gravar dados, péssima para analisar.

Ao transformá-la num modelo dimensional, colapsa-se essa teia em algo simples: uma tabela de factos "vendas" ao nível da linha de encomenda, e um punhado de dimensões (cliente, produto, data, canal). De repente, uma pergunta que exigia várias junções e um analista passa a ser um relatório que qualquer gestor constrói em segundos.

Kimball na era do lakehouse

Poderia pensar-se que, com o Fabric, o Databricks e os lakehouses, a modelação dimensional deixou de importar. É o contrário. As ferramentas mudaram — o Delta Lake, o Direct Lake, o processamento distribuído — mas a necessidade de um modelo que o negócio entenda mantém-se intacta. A camada Gold de uma arquitetura Medallion é, tipicamente, um modelo dimensional Kimball.

A lição que resiste é esta: a tecnologia acelera, mas não substitui um bom desenho. Investir tempo na modelação continua a ser o que separa um warehouse que as pessoas usam e em que confiam de um que ninguém abre. E no seu projeto: a granularidade da tabela de factos foi uma decisão pensada, ou aconteceu por acaso?

← Voltar aos insights
Vamos conversar?

Pronto para transformar os seus dados?

Marque uma reunião gratuita de 30 minutos e descubra como podemos ajudar a sua equipa a tomar melhores decisões.

Agendar Reunião Gratuita
bConcepts