No post anterior foi abordado o conceito de Data Warehouse, o que é a tabela fato e a tabela dimensão. Irei prosseguir nesse sobre Modelagem Dimensional.
O que é o Modelo Dimensional?
Um modelo dimensional é basicamente uma tabela de fatos central e tabelas dimensionais ligadas diretamente a ela. Existem dois tipos de modelagem de dados usadas no Data Warehouse, a Snow Flake e a Star Schema, que é a mais utilizada.
Snow Flake
Nesse modelo as tabelas dimensionais se relacionam com a tabela fato, porém algumas dimensões se relacionam apenas entre elas, isso acontece para normalizar as tabelas dimensionais. No modelo Snow Flake existem tabelas de dimensões auxiliares que normalizam as tabelas de dimensões principais.
Vantagens
- Algumas ferramentas de modelagem de banco de dados multidimensionais OLAP são otimizadas para Snow Flake.
- A normalização das dimensões resulta em economia de armazenamento.
- No modelo Snowflake, a hierarquia é representada em um relacionamento de chave externa e chave primária entre as várias tabelas de dimensões. No modelo Star, todas as tabelas de dimensões necessárias têm apenas chaves estrangeiras nas tabelas de fatos.
Star Schema
Nesse modelo todas as tabelas dimensionais se relacionam direto com a tabela fato. As tabelas dimensionais não são normalizadas no Star Schema, assim as tabelas de dimensionais ficam maiores por repetirem as descrições de forma textual em todos os registros. Esse modelo é chamado de Star porque a tabela de fatos fica no centro cercada das tabelas dimensionais parecido com uma estrela.
Vantagens
- É mais simples e mais fácil de navegação, mas desperdiça espaço repetindo as mesmas descrições ao longo de toda a tabela.
- Consultas mais simples: a lógica de junção do Star Schema é mais simples que a lógica de junção necessária para recuperar dados de um esquema transacional normalizado.
- Star Schema é usado por todos os sistemas OLAP para criar cubos OLAP com eficiência.
Snow Flake ou Star Schema quando usar?
O modelo Snow flake, a análise de dimensão é mais fácil. Um exemplo, "Quantas contas ou campanhas estão online para um determinado anunciante?"
O modelo de esquema Star é melhor para análise de métricas, como "Qual é a receita de um determinado cliente?"
Espero que gostem :) e qualquer dúvidas fiquem à vontade para perguntar.
Top comments (0)