[MODELAGEM] Os 4 Passos Para Modelagem de Dados Dimensional

Fonte: Linkedin

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.
Compatilhe no Google Plus

Sobre Grimaldo Oliveira

Mestre pela Universidade do Estado da Bahia (UNEB) no Curso de Mestrado Profissional Gestão e Tecnologias Aplicadas à Educação (GESTEC) com o projeto “GESMOODLE – Ferramenta de acompanhamento do aluno de graduação, no ambiente virtual de aprendizagem(MOODLE), no contexto da UNEB“. Possui também Especialização em Análise de Sistemas pela Faculdade Visconde de Cairu e Bacharelado em Estatística pela Universidade Federal da Bahia. Atua profissionalmente como consultor há mais de 15 anos nas áreas de Data Warehouse, Mineração de Dados, Ferramentas de Tomada de Decisão e Estatística. Atualmente é editor do blog BI com Vatapá. Livro: BI COMO DEVE SER - www.bicomodeveser.com.br

0 comentários: