Diferença entre o esquema estrela e floco de neve

O data warehousing é um sistema projetado para armazenar e organizar dados em repositórios centrais, incluindo dados de outras fontes. É um conceito central de inteligência de negócios em modelos de bancos de dados relacionais que emprega técnicas analíticas para integrar dados de negócios em um banco de dados central.

Existem dois modelos de arquitetura comuns usados ​​no data warehousing:

  • Star Scheme
  • Esquema de floco de neve

Ambos são os modelos de banco de dados multidimensionais comuns usados ​​para atender às necessidades de grandes bancos de dados para fins analíticos em data warehouses reais.

Apresentamos uma comparação imparcial entre os dois para entender melhor qual é o melhor que o outro.

O que é o esquema estrela?

É o modelo de arquitetura mais comum e amplamente aceito usado para desenvolver data warehouses e data marts nos quais os dados são organizados em fatos e dimensões. É o modelo de arquitetura mais simples no qual uma tabela de fatos é usada para se referir a tabelas de múltiplas dimensões, imitando um padrão de estrela.

Como o nome sugere, o diagrama se assemelha a uma estrela com a tabela de fatos no centro e várias tabelas de dimensão irradiando a partir dela, criando um padrão semelhante a uma estrela.

Também é conhecido como Esquema de junção em estrela e armazena todos os atributos de uma dimensão em uma tabela de fatos desnormalizada para navegar rapidamente por grandes conjuntos de dados multidimensionais, responsáveis ​​por tempos de resposta rápidos à consulta.

O que é o esquema do floco de neve?

É uma extensão do esquema em estrela com funcionalidades adicionais. Diferentemente do esquema em estrela, as tabelas de dimensão no esquema de floco de neve são normalizadas em várias tabelas relacionadas.

O modelo de arquitetura representa um arranjo lógico de tabelas em uma hierarquia de relacionamentos muitos-para-um, em que várias tabelas de dimensão são normalizadas em tabelas de subdimensão, lembrando um padrão semelhante ao floco de neve, daí o nome.

É uma versão mais complexa do esquema em estrela, com mais junções entre tabelas de dimensões, o que leva em conta o tempo de processamento lento para buscar dados, o que significa tempos de resposta de consulta lentos. Minimiza a redundância de dados, o que, por sua vez, melhora o desempenho da consulta.

Diferença entre o esquema Star e Snowflake

Arquitetura do esquema estrela e floco de neve

Nos bancos de dados relacionais, o esquema em estrela é o modelo de arquitetura mais simples usado para desenvolver data warehouses e data marts multidimensionais. Como o nome sugere, o modelo se assemelha a uma estrela com pontos irradiando do centro, o que significa que a tabela de fatos é o centro e os pontos são as tabelas de dimensões. Como outros modelos dimensionais, ele consiste em dados na forma de fatos e dimensões. Esquema de floco de neve, por outro lado, é o modelo arquitetural mais complexo que se refere a um banco de dados multidimensional com organização lógica de tabelas na forma de um floco de neve.

Tabela de dimensões

O esquema de floco de neve é ​​bastante semelhante ao esquema em estrela, exceto que pode ter mais de uma tabela de dimensões que é normalizada em várias tabelas relacionadas, denominadas tabelas de subdimensão. Representa vários níveis de relacionamentos que se ramificam em um padrão de floco de neve. No entanto, o esquema em estrela armazena todos os atributos relacionados de uma dimensão em uma tabela de dimensões desnormalizada, o que facilita o entendimento e o tratamento de consultas mais simples..

Modelo de Negócios do Esquema Estrela e Floco de Neve

Uma tabela de dimensão não pode conter linhas duplicadas nos modelos de banco de dados relacional pelo simples fato de poder criar ambiguidades na recuperação. Cada tabela deve ter uma coluna ou uma combinação de colunas chamada chave primária que identifica exclusivamente todos os registros da tabela. Uma chave estrangeira é uma coluna ou um grupo de colunas que fornece um link entre duas tabelas. No esquema em estrela, cada tabela de dimensão possui uma chave primária relacionada a uma chave estrangeira na tabela de fatos. A hierarquia de negócios em um esquema de floco de neve é ​​representada por um relacionamento de chave primária / chave estrangeira entre tabelas de dimensão.

Integridade de dados no esquema Star e Snowflake

A principal diferença entre os dois modelos de banco de dados relacional é a normalização. As tabelas de dimensões no esquema em estrela não são normalizadas, o que significa que o modelo de negócios usará relativamente mais espaço para armazenar tabelas de dimensões e mais espaço significa registros mais redundantes, o que causaria inconsistência. O esquema de floco de neve, por outro lado, minimiza a redundância de dados porque as tabelas de dimensões são normalizadas, o que representa registros redundantes muito menores. A hierarquia de negócios e suas dimensões são preservadas por meio da integridade referencial, o que significa que as relações podem ser atualizadas independentemente nos data warehouses.

Desempenho da consulta

O esquema em estrela possui menos junções entre a tabela de dimensão e a tabela de fatos, em comparação com o esquema do floco de neve que possui várias junções, o que representa menos complexidade da consulta. Como as dimensões em um esquema em estrela são vinculadas por meio de uma tabela de fatos central, ele possui caminhos de junção claros, o que significa tempos de resposta rápidos à consulta e tempo de resposta rápido, melhor desempenho. O esquema do Snowflake possui um número maior de junções, portanto, tempos de resposta de consulta mais longos, o que resulta em consultas mais complexas que comprometem o desempenho.

Esquema em estrela vs. esquema de floco de neve: gráfico de comparação


Resumo de versos em estrela Esquema de floco de neve

Ambos são os modelos de arquitetura mais comuns e amplamente adotados usados ​​para desenvolver armazéns de banco de dados e data marts. No entanto, todo modelo de negócios tem seu quinhão de prós e contras. Embora o esquema em estrela seja o modelo multidimensional mais simples usado para organizar dados em fatos e dimensões, é ideal para o desenvolvimento de data marts que envolvam relacionamentos menos complexos. O esquema Snowflake é uma representação lógica de tabelas em um banco de dados multidimensional no qual as dimensões são armazenadas em tabelas de subdimensão. A principal diferença entre os dois é a normalização. As tabelas de dimensões em um esquema de floco de neve são completamente normalizadas em várias tabelas de consulta, enquanto que em um esquema em estrela, as tabelas de dimensões são desnormalizadas em uma tabela de fatos central.