Hoje quero iniciar uma nova sessão no blog e no insta sobre o alicerce do B.I que é a modelagem dimensional.

Vamos entender os processos necessários para iniciar a modelagem, como construímos um data Warehouse a partir dela e seus benefícios em relação ao modelo relacional adotado amplamente em bancos transacionais.

Conceito

A modelagem dimensional é a base para criarmos um data Warehouse no banco de dados, sem ela, seria muito difícil ou impossível termos um banco voltado para análise de dados, e consequentemente não conseguiríamos ter insights nem gerar valor com o negócio.

Antes de começarmos com a modelagem dimensional é preciso destacar que ela não depende de nenhuma ferramenta ou tecnologia e sim, da análise e do entendimento do ambiente. Logo, nesta etapa, não se prenda a ferramenta A ou B para criar o seu modelo.

Quando estamos modelando o D.W e pensando nas tabelas fato e dimensão, o entendimento das fontes de dados e como elas trafegam pela empresa é muito importante para a etapa em que iremos consolidar tudo isso em um único ‘armazém’.

É comum para pessoas que não estão envolvidas ou com pouco conhecimento sobre se perguntar o motivo de termos um D.W, justificando que gasta muito tempo. Nesse tipo de situação, podemos justificar a criação e manutenção pelos seguintes benefícios:

  1. Facilidade na execução de queries complexas;
  2. Repositório único para os dados gerados pela organização;
  3. O D.W armazena apenas o necessário para gerar valor, o que facilita na tomada de decisão;
  4. Facilidade de integrar outras áreas de negócio e criar diversos data marts para tomada de decisão
  5. Dados limpos e sem ruído, o que facilita a geração de dashboards que irão aumentar o valor do negócio.

Estes são alguns dos benefícios que podemos obter, se formos pensar mais, a lista é extensa. O que precisamos mesmo é engajar o patrocinador e acredito que esses pontos são suficientes.

Objetivo do D.W e do B.I

Agora que entendemos os benefícios de um D.W e quais melhorias ele pode trazer para o negócio inserido, temos que garantir as partes interessadas quais objetivos este projeto deve alcançar para que seja bem sucedido:

  • Acesso fácil a informação – seu conteúdo deve ser entendível e acessível. De forma simples e rápida;
  • Consistência na informação – reunir as diversas fontes de dados em um único local de forma limpa e com qualidade garantindo a integridade dos relatórios e insights;
  • Adaptável as necessidades de negócio – já que estas são voláteis e podem mudar a qualquer momento, o D.W precisa ser projetado para isso;
  • Informação pronta – o D.W precisa ter a informação na mão, sempre disposta para os tomadores de decisão. Além disso, toda alteração no D.W deve ser documentada e divulgada aos usuários;
  • Segurança – a vida da empresa está no D.W  e seria trágico se ele sofresse algum ataque ou se usuários mal intencionados tivessem acesso. Atenção neste aspecto;
  • Autoridade máxima = deve ser a maior fonte de informação para tomada de decisão da alta gestão;
  • Engajamento dos principais usuários – um projeto de B.I/D.W só pode ser considerado de sucesso se tiver apoio e engajamento dos usuários chave ao novo ambiente que está sendo criado. De nada vale todo esforço e no final, continuarem utilizando os meios antigos para tomarem decisões da empresa.

NOTA:  ainda que atualizar o D.W seja importante tenha cuidado para não invalidar o restante das informações que estão contidas neste banco. Procure sempre documentar e dar ciência a todos os usuários sobre qualquer alteração que o D.W passe ao longo de sua vida.

Modelagem dimensional

Já entendemos quais os pontos principais que um projeto de B.I/D.W deve atender para gerar valor e conhecimento ao negócio, agora vamos entrar no assunto que vai gerar todo que vimos até aqui sobre e que é ampla e indiscutivelmente utilizado para criar o D.W: Modelagem Dimensional.

A modelagem dimensional tem como objetivo criar um D.W que irá corresponder as necessidades e requisitos tanto da empresa quanto da alta gestão.

Quando falamos em modelagem e o que ela se propõe, tenha o entendimento que ela precisa atender duas questões:

  1. Os dados devem ser facilmente entendidos pelos usuários de negócio;
  2. Entregar performance em queries para análises dos dados armazenados;
  3. Ela está simplificando o banco de dados transacional?

O maior desafio da modelagem dimensional é ser simples e gerar um d.w simples que seja compreendido por qualquer usuário que faça acesso. A sua base deve começar de um banco que já esteja na 3ª forma normal e que tenha suas redundâncias eliminadas.

Se formos pensar, o modelo dimensional irá desnormalizar o banco para recriar um modelo apropriado que agilizará em muito as queries e as entregas de resultados. Entenda que desnormalização não pode em momento algum comprometer a integridade do banco e dos dados armazenados.

Tabela fato

É a tabela onde a atividade principal da organização é executada. Todas as métricas costumam ser feitas ou baseadas a partir da tabela fato. Por exemplo: a tabela fato de uma empresa varejista poderia ser Fato_Venda.

Uma dica para criar uma boa tabela fato é evitar ao máximo cálculos complexos que podem comprometer a performance no seu uso. Procure operações simples que são fáceis para o banco processar;

Não é aconselhável utilizar medidas textuais na tabela fato, isso pode acarretar redundância e comprometer o projeto e as expectativas das partes interessadas;

É comum quando estamos criando a tabela fato, percebemos que algum campo de alguma coluna tenha valor null em suas linhas. Se esta situação ocorrer, não tente preencher com outro valor ou zero, pode acabar ocupando espaço indesejado.

Tabela dimensão – descrevendo contexto

As tabelas dimensão no modelo relacional são acompanhantes da tabela fato descrevendo o contexto de acontecimentos do que está descrito na fato. Lembrem-se que a fato caracteriza uma ação da empresa.

A tabela dimensão tem como principal função dar entendimento ao processo de negócio e são criadas para responder as seguintes perguntas:

  • Quem;
  • Quando;
  • Onde;
  • Porque;
  • Como;
  • O Que;

Então, se temos uma tabela fato chamada Fato_Venda e estamos criando as tabelas dimensão, podemos facilitar a modelagem com as seguintes questões:

Quem comprou? Quando comprou? Onde comprou? Porque comprou? Como comprou? O que comprou?

Quando estiver elaborando uma dimensão, não abrevie ou até mesmo elimine os campos textuais como se costuma fazer na normalização da modelagem relacional pois pode acontecer o seguinte cenário futuro:

Seu gerente precisa gerar um relatório e precisa de todas as informações possíveis para avaliar o desempenho das vendas no semestre. Se ele for analisar o relatório gerado e perceber que os produtos estão sendo mostrados apenas por códigos, isto pode causar retrabalho, dificuldade na percepção e até mesmo decisões erradas baseadas na falta de informação.

Ainda sobre os atributos textuais da tabela dimensão, não os abrevie. Mesmo que todos os envolvidos tenham ciência de quais produtos são, pense que novos entrantes podem passar a acessar aquele relatório e não ter o conhecimento maduro sobre o negócio.

Campos textuais são fundamentais para as dimensões e quanto mais elas forem padronizadas, melhor para o D.W. Tenha em mente que o sucesso de um D.W está atrelado ao quão bem as dimensões foram elaboradas e criadas.

Como determinar se uma tabela é fato ou dimensão?

Em alguns momentos podem surgir dúvidas se aquele objeto que estamos modelando deve ser considerado uma tabela fato ou uma dimensão, e para este momento, há duas perguntas que podemos fazer para ajudar a decidir:

  • Esta tabela possui muitos campos numéricos? Possui muitos campos calculados participando de medidas métricas? Se sim, tabela fato.
  • Esta tabela descreve discretamente os valores? Atribui alguma descrição? Se sim, tabela dimensão.

Um fato interessante sobre a modelagem dimensional é que seus relacionamentos entre as tabelas se baseiam mais em 1:N (um para muitos) e 1:1.

E por fim, quando unimos os dois tipos de tabelas, Fato e Dimensão em um único modelo as interligando entre si, temos o nosso novo modelo que podemos chamar de Star Schema que é exatamente a união entre estas duas entidades.

Cada área de negócio depois que o D.W foi criado pode ter seu próprio modelo star schema, e para isto atribuímos o nome de data mart. Por isso, a importância de termos um D.W construído.

O maior benefício que o modelo star schema nos traz é a facilidade com que visualizamos os processos de negócio e suas métricas, facilitando análises e criação de dashboards para a alta gestão.

Este foi um post bem introdutório e resumido sobre a modelagem dimensional e seus componentes básicos onde abordamos até o modelo star schema que é o objetivo final deste processo.

A modelagem dimensional embora seja mais simples que a relacional, exige cuidados e boa visão de negócios pois é a partir dela que métricas são criadas, então, conheça o ambiente e pense sempre o que você gostaria de avaliar para gerar maior valor a empresa.

Espero que tenham gostado e fiquem atentos para os próximos posts!

Sáude!