Snow Flake e Star Schema

0
3251

Última Atualização 13 de janeiro de 2021

Não é necessário que uma organização adquira um novo SGBD para implementar seu data warehouse. Kimball (2013) mostra que um DW pode ser implementado em um SGBD relacional, através do esquema estrela, ou em um ambiente de banco de dados multidimensional, através de um cubo OLAP.

O modelo dimensional para construção de banco de dados para Data Warehouse é uma forma de modelagem onde as informações se relacionam de forma que pode ser representada como um cubo.

Sendo assim podemos fatiar este cubo e aprofundar em cada dimensão ou eixo para extrair mais detalhes sobre os processos internos que ocorrem na empresa que em um modelo relacional torna-se muito complicados de serem extraídos e muitas vezes até impossíveis de serem analisadas.

O modelo dimensional permite visualizar dados abstratos de forma simples e relacionar informações de diferentes setores da empresa de forma muito eficaz.

O que torna o Data Warehouse mais poderoso é que informações que se situam em vários sistemas, planilhas e arquivos espalhados por todos os setores da empresa, são reunidos em um banco de dados de forma dimensional, sendo assim tendo informações unificadas e padronizadas em um mesmo local.

Tipos de Modelos Dimensionais

– O Modelo Estrela (Star Schema)

No modelo estrela todas as tabelas relacionam-se diretamente com a tabela de fatos, sendo assim as tabelas dimensionais devem conter todas as descrições que são necessárias para definir uma classe como Produto, Tempo ou Loja nela mesma, ou seja, as tabelas de dimensões não são normalizadas no modelo estrela, então campos como Categoria, Departamento, Marca contém suas descrições repetidas em cada registro, assim aumentando o tamanho das tabelas de dimensão por repetirem estas descrições de forma textual em todos os registros.

Este modelo é chamado de estrela porque a tabela de fatos fica ao centro cercada das tabelas dimensionais assemelhado a uma estrela. Mas o ponto forte a fixar é que as dimensões não são normalizadas.

– O Modelo Floco de Neve (Snow Flake)

No modelo Floco as tabelas dimensionais relacionam-se com a tabela de fatos, mas algumas dimensões relacionam-se apenas entre elas, isto ocorre para fins de normalização das tabelas dimensionais, visando diminuir o espaço ocupado por estas tabelas, então informações como Categoria, Departamento e Marca tornaram-se tabelas de dimensões auxiliares.

No modelo Floco existem tabelas de dimensões auxiliares que normalizam as tabelas de dimensões principais. Na figura anterior estas tabelas são (Ano, Mês e Dia) que normalizam a Dimensão Tempo, (Categoria, Departamento e Marca) que normalizam a Dimensão Produto e a tabela Meio que normaliza a Dimensão Promoção.

Construindo a base de dados desta forma, passamos a utilizar mais tabelas para representar as mesmas dimensões, mas ocupando um espaço em disco menor do que o modelo estrela. Este modelo chama-se floco de neve, pois cada dimensão se divide em várias outras tabelas, onde organizadas, de certa forma, lembram um floco de neve.

– Considerações sobre ambos modelos

O Modelo Floco (Snow Flake) reduz o espaço de armazenamento dos dados dimensionais mas acrescenta várias tabelas ao modelo, deixando-o mais complexo, tornando mais difícil a navegação pelos softwares que utilizarão o banco de dados. Um outro fator é que mais tabelas serão utilizadas para executar uma consulta, então mais JOINS de instrução SQL serão feitos, tornando o acesso aos dados mais lento do que no modelo estrela.

O Modelo Estrela (Star Schema) é mais simples e mais fácil de navegação pelos softwares, porém desperdiça espaço repetindo as mesmas descrições ao longo de toda a tabela, porém análises feitas mostram que o ganho de espaço normalizando este esquema resulta em um ganho menor que 1% do espaço total no banco de dados, sendo assim existem outros fatores mais importantes para serem avaliados para redução do espaço em disco como a adição de agregados e alteração na granularidade dos dados, estes temas serão abordados em colunas posteriormente.

Portanto o que recomendo é utilizar um modelo estrela pois fornece um acesso mais rápido aos dados e mais fácil de se navegar, criando tabelas auxiliares para dimensões somente para dimensões especificas quando for estritamente necessário ou quando demonstrar um benefício que justifique a perda de desempenho nas consultas, que também não é tão grande dependendo da forma que estas tabelas são construídas e a quantidade de registros que elas contiverem.

QUESTÃO ERRADA: Em um modelo de dados relacional não normalizado, desenvolvido para suportar o processamento analítico online aderente ao modelo conceitual apresentado, a presença de escolas vinculadas a redes, unidades acadêmicas vinculadas a escolas, e subunidades acadêmicas vinculadas a unidades acadêmicas reforça a necessidade de desenvolvimento de um modelo do tipo estrela estendendo um modelo do tipo floco de neve (snow flake).

Estrela -> não normalizado, redundante, generalizado;

Floco de Neve -> normalizado, não redundante, especializado.

QUESTÃO ERRADA: No modelo floco de neve (snow flake), todas as tabelas estão relacionadas diretamente com a tabela de fatos, e as tabelas dimensionais devem conter todas as descrições necessárias para definir uma classe nelas mesmas.

No esquema floco de neve, as dimensões podem estar representadas por mais de uma tabela e, portanto, determinadas tabelas podem estar ligadas a tabelas dimensão e não diretamente a tabelas fato.

No esquema flocos de neve, as tabelas dimensão são organizadas em uma hierarquia gerada a partir da normalização, geralmente, até a terceira forma normal. Assim, o esquema floco de neve é resultado da decomposição de uma ou mais dimensões que possuem hierarquias entre seus membros.

QUESTÃO CERTA: Uma vez que os esquemas floco de neve possuem menor redundância do que os esquemas estrela, sua manutenção é mais fácil de ser realizada.

Vantagens do snow flake

  • Mais fácil de manter do que o estrela

  • Possuem menor redundância

  • Possui tabelas menores (extensões)

  

Desvantagens snow flake

  • Diminui habilidade para navegar

  • Acesso de dados mais lento

  • Desempenho mais lento do que o modelo ‘estrela’

QUESTÃO ERRADA: Na modelagem dimensional, que pode ser usada para a construção de um DW, forma-se, basicamente, uma tabela central e tabelas dimensões diretamente ligadas a essa tabela central. O star schema, que atua nesse contexto, tem a característica de ser normalizado, exigindo excessivo espaço em disco, já que são necessárias diversas informações em cada linha das tabelas.

Parte superior do formulário

Star schema ou estrela não é normalizado. A normalização acontece no schema floco-de-neve

Floco de Neve → Normalizado

QUESTÃO ERRADA: O modelo em estrela de um banco de dados multidimensional tem como objetivo representar e manipular dados complexos, visando tornar aqueles dados mais representativos em semântica e construções de modelagens por meio de nós e suas ligações.

Advertisement

ESQUEMAS

ESTRELA: menos complexo.

FLOCO DE NEVE: dados mais complexos.

A modelagem dimensional possui dois modelos: o modelo estrela (star schema) e o modelo floco de neve (snow flake). Cada um com aplicabilidade diferente a depender da especificidade do problema. As Dimensões do modelo estrela são desnormalizados, ao contrário do snow flake, que parcialmente possui normalização.

O Modelo Floco de Neve (Snow Flake) reduz o espaço de armazenamento dos dados dimensionais mas acrescenta várias tabelas ao modelo, deixando-o mais complexo e tornando mais difícil a navegação pelos softwares que utilizam o banco de dados. Um outro fator é que é necessário utilizar mais tabelas para executar uma consulta, então mais JOINS de instrução SQL são feitos, tornando o acesso aos dados mais lento do que no modelo estrela.

O Modelo em Estrela (Star Schema) é mais simples e mais fácil de navegação pelos softwares, porém desperdiça espaço devido à repetição das mesmas descrições ao longo de toda a tabela. Análises feitas mostram que o ganho de espaço normalizando este esquema resulta em um ganho menor que 1% do espaço total no banco de dados, e como os custos do espaço em banco de dados são reduzidos quando comparados com outros este problema não é considerado crítico ou muito relevante pelos arquitetos dos Data Warehouses. Assim sendo existem outros fatores mais importantes para serem avaliados para redução do espaço em disco como a adição de agregados e alteração na granularidade dos dados, que o esquema em estrela consegue responder com muito sucesso.

QUESTÃO ERRADA: No modelo estrela, os dados são modelados em tabelas dimensionais, ligadas a uma tabela fato; uma tabela dimensão armazena o que tiver ocorrido, e a tabela fato contém as características de um evento.

O modelo ou esquema estrela tabela fato central conectada a várias tabelas dimensão. No entanto, a questão inverteu os conceitos de tabela fato e tabela dimensão. A tabela fato armazena os eventos ocorridos decorrentes dos processos de negócio. As tabelas dimensão, por sua vez, contém as características ou descrições das entidades de negócio.

Nesta questão o CESPE inverteu a definição das tabelas. O modelo estrela, de fato, apresenta diversas dimensões ligadas a uma tabela fato. Contudo, a tabela fato contém os eventos, as medidas ou os fatos ocorridos. Já as dimensões armazenam as características que descrevem o evento. Alternativa, portanto, incorreta.

Propriedades do esquema em estrela

Uma única tabela de factos contendo dados, sem redundância. Uma tabela por dimensão. As chaves primárias, da tabela de factos, são apenas de uma por dimensão. Cada chave é gerada (eficiência). Cada dimensão representa uma única tabela, altamente desnormalizada.

Vantagens

A simetria do desenho e a simplicidade semântica faz com que este modelo disponibilize ao utilizador comum toda a informação necessária sobre o funcionamento da sua organização, o reduzido número de joins beneficia o desempenho e tudo isto faz com que este modelo tenha uma baixa e fácil manutenção.

Desvantagens

Não fornece explicitamente suporte para hierarquias de atributos e as tabelas dimensionais são um problema. As tabelas de dimensão, por não estarem normalizadas, contém repetição das informações. Não são adequadas para uso transaccional pois uma alteração simples (como de o nome de um país) poderia gerar a necessidade de várias alterações no banco de dados (para todas as linhas de municípios.

QUESTÃO CERTA: A abordagem multidimensional, também chamada de modelo estrela no Brasil, tem esse nome porque sua representação considera uma tabela central, conhecida como tabela fato, e tabelas ao seu redor, conhecidas como tabelas dimensão. Uma das importantes características da abordagem multidimensional é: ser organizada de acordo com os requisitos dos usuários e requisitos de processamento.

A abordagem multidimensional é organizada por assuntos, que por sua vez são traduções dos requisitos de diversos usuários interessados no uso da ferramenta. Pelo fato de ser uma base de dados com grande volume de informação, o projeto de um DW está sempre preocupado com a performance das consultas. Estes dois pontos, são certamente as duas importantes características pedidas pelo enunciado da questão: organizada por assunto e grande volume de dados que implica em requisitos de processamento.

QUESTÃO ERRADA: No modelo estrela, as dimensões são normalizadas para tornar mais ágeis as consultas analíticas.

No modelo estrela as dimensões não são normalizadas. A normalização aparece nos modelos floco de neve e tem por objetivo reduzir a redundância dos dados e não a melhora do desempenho das consultas.

QUESTÃO ERRADA: O modelo floco de neve (SnowFlake) aumenta o espaço de armazenamento dos dados dimensionais, pois acrescenta várias tabelas ao modelo, todavia torna mais simples a navegação por software que utilizarão o banco de dados.

ERRADO. Pela justificativa da alternativa anterior, podemos observar que o modelo floco de neve reduz o espeço de armazenamento quando reduz a redundância dos dados.