Os 4 Passos Para Modelagem de Dados Dimensional

Vou tentar compartilhar com você um pouco da experiência que adquiri trabalhando há 8 anos com Business Intelligence, mais especificamente com ambiente de Data Warehouse, desde o planejamento até a implementação.

Quando comecei eu tive uma certa dificuldade em visualizar o que aquilo que eu estava fazendo iria se tornar no futuro, como as pessoas iriam consumir o que estava sendo produzido. Naturalmente minha primeira reação foi procurar referências sobre o assunto e sobre como começar a desenvolver o até então aclamado Data Warehouse, e me deparei com explicações que na maioria das vezes não eram claras e que causavam mais confusão do que me ajudavam a esclarecer minhas dúvidas.

Hoje eu vou tentar explicar de forma clara os 4 passos necessários para a construção de um modelo de dados dimensional consistente e que atenda as necessidades do negócio.

Por que Modelo de dados Dimensional?

Nos sistemas transacionais, quero dizer, onde acontecem de fato a transação, como por exemplo Vendas, Cadastro de Clientes, Inventário, etc, geralmente são usados modelos de dados Relacionais, que tem o objetivo de armazenar a maior quantidade de dados possível sobre os processos de negócio. Estes modelos geralmente estão normalizados e para se obter uma determinada informação são necessários N relacionamentos entre diferentes objetos, o que pode tornar a consulta lenta se formos utilizar este ambiente para extrair informações gerencias, que necessitam cálculos e agrupamentos diversos.

Para atender as necessidades de análise foi desenvolvida uma metodologia de modelagem de dados com o objetivo de armazenar informações gerenciais com alta disponibilidade e de forma rápida.

O modelo de dados dimensional é composto de basicamente de 2 tipo de objetos: Tabelas Fato e tabelas Dimensão. Este modelo é comumente chamado de Star Schema, ou Modelo Estrela, pois a tabela Fato fica no centro e as dimensões ao redor. Nesse modelo é permitido a redundância de informações pois a ideia é que seja feito somente 1 join entre a tabela Fato e as Dimensões para trazer as informações de forma rápida.

A tabela fato contem apenas as chaves primárias das dimensões, que compõe a sua chave primária composta, e as métricas de análise. Existem outros elementos que podem estar presentes na tabela Fato mas que não serão mostrados aqui, como Dimensões Degeneradas.

Passo 1 para a modelagem de dados dimensional: Identificação do processo de negócio

Quando vamos construir um modelo de dados dimensional que suporte a tomada de decisão, nós estamos na verdade analisando um processo de negócio. São exemplos:

  • Vendas
  • Devolução
  • Estoque
  • Etc…

Esses processos precisam ser analisados para que se possa saber a evolução deles no tempo e por diferentes visões. Cada processo tem suas particularidades e cabe ao profissional responsável identifica-las.

Após definirmos qual processo de negócios queremos analisar, nós temos que identificar O QUE analisar sobre eles.

Passo 2 para a modelagem de dados dimensional: Identificação das métricas de negócio

Geralmente é fácil identificar o que precisa ser analisado com base nas necessidades expressas em questionamentos feitos pelos gerentes, diretores, etc.

Exemplo:

  • Qual a quantidade vendida por produto e por loja?
  • Qual a receita de vendas por produto, por loja e por mês?

Nos exemplos acima os fatos estão definidos após a palavra “Qual”.

Passo 3 para a modelagem de dados dimensional: Definir a granularidade das visões

Granularidade diz respeito ao nível de detalhe das análises. Podemos exemplificar da seguinte maneira: Quando queremos saber o número de vendas por loja, nós temos uma granularidade. Quando queremos saber o número de vendas por loja e por produto, nós temos uma granularidade maior, pois estaremos entrando em um nível maior de detalhes.

Temos que tentar imaginar uma hierarquia que nem sempre é clara. Nos exemplos acima podemos perceber que há a necessidade de analisar até a nível de produto e, se formos desenhar uma possível hierarquia para isso, a mesma seria: Tempo -> Loja - > Produto.

Passo 4 para a modelagem de dados dimensional: Identificação das visões de análise

Nos exemplos acima as visões de análise são definidas pela palavra “por”.

Nem sempre todas as visões necessárias são expressas nas perguntas feitas e precisamos tentar prever as necessidades futuras. Por exemplo, nos casos acima, a quantidade vendida e a receita gerada estão sendo analisadas por produto, loja e tempo (mês), mas também poderíamos incluir setor, grupo e subgrupo dos produtos, cliente, campanha promocional, bairro de residência dos clientes, gênero, estado civil, idade e número de filhos dos clientes, etc.

Com isso poderíamos obter respostas do tipo:

  • Clientes do sexo masculino, entre 20 e 30 anos, que não possuem filhos e moram no centro da cidade compram mais lasanha congelada; ou

  • Aos sábados as mulheres casadas compram mais verduras do que durante os outros dia da semana.

Seguindo esse exemplo o nosso modelo de dados ficaria como mostrado abaixo:

A partir deste momento é necessária a implementação física do modelo na base de dados, a construção de processo de ETL para popula-las e a implementação de uma camada de apresentação OLAP para poder construir os Cubos de análise e o Front-end, mas isso fica para as próximas publicações.

Por mais que eu tenha tentado explicar de forma clara o processo de modelagem, eu sei que é muito mais do que isso e exige experiência, até porque nem todos os recursos disponíveis foram mencionados aqui (Fato Agregada, Snowflake, etc).

Espero que tenham gostado da leitura e qualquer dúvida postem nos comentários que tentarei ajudar na medida do possível.

Lucas Rezende é consultor Business Intelligence há 8 anos, atuando nos últimos dois no gerenciamento de diversos projetos. Também é empreendedor serial, tendo fundado algumas empresas, dentre elas o espaço de coworking Nitis Office e a TreeHouse, consultoria especializada em desenvolvimento de projetos de inteligência de negócios.

Rogério Oliveira

Planejamento Análise Sistema Construção Manutenção e Produção TI

1 m

Na maioria das grandes empresas a pesar dos fatos já existirem a vários anos, a modelo multidimensional veio acontecer muitos anos depois e ainda continua engatinhando, Lucas fico lisonjeado e muito agradecido pela sua valiosa colaboração.

Entre para ver ou adicionar um comentário

Outros artigos de Lucas Rezende

Outras pessoas também visualizaram

Conferir tópicos