O que é modelagem dimensional em data warehouse? Aprenda tipos

⚡ Resumo Inteligente

O modelo dimensional no projeto de Data Warehouse organiza as informações em tabelas de fatos e dimensões para que os analistas possam recuperar e resumir medidas numéricas rapidamente, seguindo o método Kimball de cinco etapas que identifica o processo de negócios, a granularidade, as dimensões, os fatos e o esquema final.

  • 🎯 Objetivo principal: Um modelo dimensional otimiza um data warehouse para leituras e relatórios rápidos, diferentemente dos modelos relacionais criados para transações em tempo real.
  • 🧱 Blocos de construção: Os fatos contêm medidas numéricas, enquanto as dimensões e seus atributos fornecem o contexto de quem, o quê e onde em torno de cada fato.
  • 🔑 Tabelas de fatos e dimensões: Uma tabela de fatos armazena medidas e chaves estrangeiras; tabelas de dimensões desnormalizadas armazenam atributos descritivos e hierarquias.
  • 🪜 Método de cinco etapas: Identifique o processo de negócio, defina a granularidade, escolha as dimensões, selecione os fatos e, em seguida, construa o esquema.
  • Escolha do esquema: Os esquemas em estrela mantêm as dimensões desnormalizadas para maior velocidade, enquanto os esquemas em floco de neve as normalizam para economizar espaço de armazenamento.
  • 🚀 Benefício principal: Dimensões padronizadas e fáceis de usar para empresas aumentam o desempenho das consultas e permitem a adição de novas dimensões com o mínimo de interrupção.

Modelo dimensional em um data warehouse mostrando tabelas de fatos e dimensões.

O que é modelagem dimensional?

Modelagem Dimensional (DM) É uma técnica de estruturação de dados otimizada para armazenamento de dados em um data warehouse. Seu objetivo é otimizar o banco de dados para uma recuperação de dados mais rápida. O conceito foi desenvolvido por Ralph Kimball e se baseia em dois tipos de tabelas: tabelas de "fatos" e tabelas de "dimensões".

Um modelo dimensional em um data warehouse é projetado para ler, resumir e analisar informações numéricas, como valores, saldos, contagens e pesos. Os modelos relacionais, por outro lado, são otimizados para adicionar, atualizar e excluir dados em um sistema de processamento de transações online em tempo real.

Cada uma dessas abordagens armazena dados à sua maneira, e cada uma oferece vantagens distintas.

Em um modelo relacional, a normalização e os modelos ER reduzem a redundância de dados. Um modelo dimensional, por sua vez, organiza os dados de forma que as informações sejam mais fáceis de recuperar e os relatórios mais fáceis de gerar.

Por essa razão, os modelos dimensionais são adequados. armazenamento de dados sistemas em vez de sistemas relacionais com foco em transações. Porque o modelo sustenta o mais amplo arquitetura de armazém de dadosAs seções abaixo detalham seus elementos, tipos e etapas de design.

Elementos do modelo de dados dimensionais

Fato

Os fatos são as medições ou métricas extraídas de um processo de negócios. Em um processo de vendas, por exemplo, o número de vendas trimestrais é um fato — o valor numérico que a empresa deseja analisar.

Dimensão

Uma dimensão fornece o contexto que envolve um evento de um processo de negócios. Em termos simples, as dimensões fornecem o quem, o quê e o onde de um fato. Para o fato "número de vendas trimestrais", as dimensões seriam:

  • Quem – Nomes dos clientes
  • Onde – Localização
  • O quê – Nome do produto

Em outras palavras, uma dimensão é uma janela através da qual você visualiza as informações contidas nos fatos.

Atributos

Os atributos são as diversas características de uma dimensão dentro de um modelo de dados dimensional.

Em uma dimensão de Localização, os atributos podem ser:

  • Estado
  • País
  • CEP

Os atributos são usados ​​para pesquisar, filtrar e classificar fatos, e as tabelas de dimensão são onde esses atributos residem.

Tabela de Fatos

Uma tabela de fatos é a tabela principal em um modelo dimensional.

Uma tabela de fatos contém:

  1. Medidas ou fatos
  2. Chaves estrangeiras para tabelas de dimensões

Tabela Dimensional

Uma tabela de dimensões armazena as dimensões de um fato e se relaciona com a tabela de fatos por meio de uma chave estrangeira. Suas principais características estão listadas abaixo:

  • As tabelas de dimensões são tabelas desnormalizadas.
  • Os atributos da dimensão formam as colunas da tabela.
  • As dimensões oferecem características descritivas dos fatos por meio de seus atributos.
  • Não existe um limite fixo para o número de dimensões.
  • Uma dimensão pode conter uma ou mais relações hierárquicas.

Tipos de dimensões em data warehouse

A modelagem dimensional utiliza diversos tipos de dimensões, cada uma adequada a uma necessidade específica do projeto. A principal tipos de dimensões em um data warehouse como:

  • Dimensão Conformada
  • Dimensão do estabilizador
  • Dimensão Encolhida
  • Dimensão de RPG
  • Tabela Dimensão a Dimensão
  • Dimensão lixo
  • Dimensão Degenerada
  • Dimensão trocável
  • Dimensão da etapa

Etapas da modelagem dimensional

A precisão da sua modelagem dimensional determina o sucesso da implementação do data warehouse. Existem cinco etapas para construir um modelo dimensional:

  1. Identifique o processo de negócio.
  2. Identifique o grão (nível de detalhe)
  3. Identifique as dimensões
  4. Identifique os fatos
  5. Construa o esquema

Em resumo, o modelo final deve descrever o porquê, o quanto, quando, onde, quem e o quê do seu processo de negócios.

Os cinco passos da modelagem dimensional em um data warehouse

Etapa 1) Identifique o processo de negócios

A primeira tarefa é identificar os processos de negócio que o armazém deve abranger — marketing, vendas, RH, etc. — com base na organização. análise de dados necessidades e a qualidade dos dados disponíveis. Esta é a etapa mais importante, pois um erro aqui produz defeitos em cascata, difíceis de corrigir.

Para descrever o processo de negócio, você pode usar texto simples, Business Process Modelling Notation (BPMN) ou Unified Modelling Language (UML).UML).

Passo 2) Identifique o grão

O "granular" define o nível de detalhe do problema de negócio — o nível mais baixo de informação armazenada em qualquer tabela.

Se uma tabela armazena as vendas de cada dia, ela tem granularidade diária; se armazena os totais mensais, tem granularidade mensal.

Nesta etapa, você responderá a perguntas como:

  1. O armazém deve armazenar todos os produtos disponíveis ou apenas alguns tipos de produtos? Isso depende dos processos de negócio selecionados.
  2. As vendas de produtos devem ser armazenadas mensalmente, semanalmente, diariamente ou por hora? Isso depende dos relatórios solicitados pelos executivos.
  3. Como essas duas opções afetam o tamanho do banco de dados?

Exemplo de grão: Imagine que o CEO de uma empresa multinacional queira acompanhar as vendas de produtos específicos em diferentes locais, medidas diariamente.

Nesse cenário, o grão se torna “informação de venda do produto por local por dia”.

Etapa 3) Identifique as dimensões

Dimensões são substantivos como data, loja e estoque, e contêm os dados descritivos.

Por exemplo, uma dimensão de data pode conter o ano, o mês e o dia da semana.

Exemplo de dimensões: A escolha das dimensões é determinada pela mesma exigência de vendas diárias.

Neste cenário, as dimensões são Produto, Localização e Tempo.

A dimensão Produto contém atributos como a chave do produto (uma chave estrangeira), nome, tipo e especificações.

A dimensão Localização está organizada como uma hierarquia: país, estado, cidade, endereço e nome.

Etapa 4) Identificar os fatos

Esta etapa está intimamente ligada aos usuários de negócios do sistema, pois define os dados que eles consomem do banco de dados.

A maioria das linhas da tabela de fatos contém valores numéricos, como preço ou custo por unidade.

Exemplo de fatos: A exigência de vendas diárias estabelece novamente o contexto.

Aqui, o fato é a soma das vendas por produto, por local e por período.

Etapa 5) Esquema de construção

Nesta etapa final, você implementa o modelo dimensional. Um esquema é simplesmente a estrutura do banco de dados — a organização das tabelas — e dois esquemas são especialmente comuns.

A primeira é a cronograma rígido, que é fácil de projetar e recebeu esse nome devido ao seu formato: uma tabela de fatos central com tabelas de dimensões irradiando para fora como as pontas de uma estrela.

Em um esquema em estrela, a tabela de fatos está na terceira forma normal, enquanto as tabelas de dimensões são desnormalizadas; isso esquema em estrela na modelagem de data warehouse O guia explica um exemplo completo.

A segunda é a esquema de floco de neve, uma extensão do esquema em estrela na qual cada dimensão é normalizada e vinculada a outras tabelas de dimensões, conforme explicado neste esquema de floco de neve no modelo de data warehouse guia.

Regras para Modelagem Dimensional

As seguintes regras e princípios orientam a modelagem dimensional eficaz:

  • Carregar dados atômicos nas estruturas dimensionais.
  • Crie modelos dimensionais em torno dos processos de negócios.
  • Certifique-se de que cada tabela de fatos tenha uma tabela de dimensão de data associada.
  • Mantenha todos os dados em uma única tabela de fatos, com o mesmo nível de detalhamento.
  • Armazene os rótulos dos relatórios e filtre os valores dos domínios nas tabelas de dimensões.
  • Atribua uma chave substituta a cada tabela de dimensão.
  • Equilibrar continuamente os requisitos com a realidade para entregar uma solução que apoie a tomada de decisões de negócios.

Benefícios da modelagem dimensional

A modelagem dimensional oferece uma série de benefícios práticos:

  • Dimensões padronizadas permitem a geração de relatórios fáceis e consistentes em todas as áreas da empresa.
  • As tabelas dimensionais armazenam o histórico das informações dimensionais.
  • Novas dimensões podem ser introduzidas sem grandes alterações na tabela de fatos.
  • Os dados são armazenados de forma a facilitar a sua recuperação depois de estarem na base de dados.
  • Em comparação com o modelo normalizado, as tabelas dimensionais são mais fáceis de entender porque as informações são agrupadas em categorias de negócios claras.
  • O modelo é baseado em termos comerciais, portanto a empresa sabe o que cada fato, dimensão ou atributo significa.
  • Como o modelo é desnormalizado, ele é otimizado para consultas rápidas, e muitas plataformas relacionais otimizam seus planos de execução para ele.
  • O esquema oferece alto desempenho com menos junções e redundância de dados minimizada.
  • Os modelos dimensionais adaptam-se facilmente às mudanças, uma vez que colunas podem ser adicionadas às tabelas de dimensões sem afetar os aplicativos de business intelligence existentes.

O que é modelo de dados multidimensional em data warehouse?

A modelo de dados multidimensional Representa dados como cubos de dados, permitindo modelar e visualizar dados em diversas dimensões definidas por dimensões e fatos. Tal modelo geralmente é organizado em torno de um tema central e representado por uma tabela de fatos, e forma a base de OLAP análise.

Perguntas Frequentes

Uma tabela de fatos armazena medidas numéricas de um processo de negócios juntamente com chaves estrangeiras para dimensões. Uma tabela de dimensões armazena atributos descritivos e desnormalizados — como produto, localização ou data — que fornecem a essas medidas o contexto necessário para filtragem e agrupamento.ping.

Os fatos podem ser aditivos, semiaditivos ou não aditivos. Fatos aditivos, como o valor de uma venda, somam-se em todas as dimensões. Fatos semiaditivos, como saldos de contas, somam-se em algumas dimensões, mas não no tempo. Fatos não aditivos, como índices ou percentagens, não podem ser somados de forma significativa.

A cronograma rígido O esquema em floco de neve mantém cada dimensão em uma tabela desnormalizada, simplificando as junções e acelerando as consultas. Já o esquema em estrela normaliza as dimensões em sub-tabelas relacionadas, economizando espaço de armazenamento, mas aumentando as junções e a complexidade. O esquema em estrela é a opção analítica mais comum.

Uma chave substituta é um número inteiro gerado pelo sistema, usado como chave primária de uma dimensão em vez de uma chave de negócio natural. Ela mantém o data warehouse independente de alterações no sistema de origem, acelera as junções e possibilita a track mudanças históricas dentro de uma dimensão.

Uma dimensão de alteração lenta é uma dimensão cujos valores de atributo mudam ao longo do tempo, como o endereço de um cliente. As estratégias comuns são sobrescrever o valor antigo (Tipo 1), adicionar uma nova linha para manter o histórico (Tipo 2) ou armazenar o valor anterior em uma coluna separada (Tipo 3).

A modelagem dimensional de Ralph Kimball constrói o data warehouse de baixo para cima, a partir de data marts em formato de estrela otimizados para geração de relatórios. Bill A abordagem de Inmon constrói primeiro um data warehouse corporativo normalizado de cima para baixo, e depois deriva os data marts. Kimball é mais rápido na entrega, enquanto Inmon enfatiza a consistência em toda a empresa.

As ferramentas de IA podem criar perfis de dados de origem, sugerir fatos e dimensões candidatos, recomendar a granularidade e sinalizar atributos redundantes. Elas aceleram o projeto e a documentação, mas um engenheiro de dados deve validar cada fato, dimensão e hierarquia antes que o modelo chegue à produção.

Sim. Travas deslizantes portáteis ChatGPT pode elaborar projetos em esquema de estrela e explicar as vantagens e desvantagens, enquanto Copiloto do GitHub Autocompleta SQL para tabelas de fatos e dimensões. RevVerifique se a granularidade, as chaves e as junções da saída estão corretas antes de executá-la.

Resuma esta postagem com: