Modelo Dimensional
De Wiki.infotuga.com
Tabela de conteúdo |
Modelo Dimensional para Data Warehousing
A resposta a perguntas complexas e que envolvam questões de análise dos negócios de uma empresa, normalmente requerem uma visão dos dados de perspectivas diferentes. As respostas a esse tipo de pergunta é que podem levar a tomadas de decisões acertadas ou não. As ferramentas baseadas em SQL podem ajudar na pesquisa de dados relacionados a este tipo de consulta, o que ocorre é que normalmente as respostas não são conseguídas num curto espaço de tempo, principalmente pela falta de flexibilidade destas ferramentas.
Para Rui Santos, o modelo dimensional é uma forma de modelar os dados, onde as informações se relacionam formando um cubo (figura 1). Sendo assim podemos subdividir o cubo e aprofundar em cada dimensão ou eixo, de modo a extrair mais detalhes, por exemplo, num modelo relacional de uma organização, torna-se muito complicado extrair informação e muitas vezes até impossíveis de serem analisadas. O modelo dimensional permite visualizar dados abstractos de forma simples e relacionar informações de diferentes sectores da organização de forma muito eficaz.
Figura 1
Fonte: Rui Santos
Um modelo de dados dimensional é extremamente simples e intuitivo, isto permite aos utilizadores da base de dados identificarem mais facilmente onde estão localizadas as informações.
Para exemplificar, imagine-se uma rede de supermercados que necessite melhorar o desempenho de suas vendas ou saber se suas promoções estão a trazer bons resultados. Para isso, é necessário examinar os dados sobre as vendas disponíveis na empresa. Uma avaliação deste tipo requer uma visão histórica do volume de vendas sob múltiplas perspectivas, como por exemplo: volume de vendas por produto, volume de vendas por marca, volume de vendas por filial, volume de vendas por período de tempo.
Chama-se de dimensões as diferentes perspectivas envolvidas, no caso, produto, marca, filial e mês. Estas dimensões usualmente correspondem a campos não numéricos em um banco de dados. Considera-se também um conjunto de medidas, tal como vendas ou despesas com promoção. Estas medidas correspondem geralmente a campos numéricos num banco de dados. A seguir, avaliam-se agregações destas medidas segundo às diversas dimensões, essas agregações ficam armazenadas para acesso futuro. Por exemplo, calcula-se a média de todas as vendas por todos os meses por filial. A forma como estas agregações são armazenadas pode ser vista em termos de dimensões e coordenadas, dando origem ao termo multidimensional.
O Esquema Estrela (Star Schema)
O conceito de Esquema Estrela (em inglês: Star Schema) foi criado pelo americano Dr. Ralph Kimball, ao propor uma visão para a modelagem de base de dados para sistemas de apoio a decisão. Sua principal característica é a presença de dados altamente redundantes, melhorando o desempenho.
O Star schema ou esquema em estrela é uma metodologia de modelagem de dados utilizada no desenho de um Data Warehousing.
Os dados são modelados em tabelas dimensionais ligadas a uma tabela de factos. As tabelas dimensionais contêm as características de um evento. A tabela de factos armazena os factos ocorridos e as chaves para as características correspondentes, nas tabelas dimensionais.
O nome foi adoptado devido à semelhança do modelo como uma estrela (figura 2). No "centro" da estrela, existe aquilo a que se chamou tabela de factos, rodeada por tabelas auxiliares, chamadas de dimensões. A tabela de facto liga-se às demais dimensões por múltiplas junções e as tabelas de dimensões ligam-se com apenas uma junção à tabela de factos.
Desta forma a consulta ocorre inicialmente nas tabelas de dimensão e depois nas tabelas de factos, assegurando a precisão dos dados por meio de uma estrutura de chaves onde não é preciso percorrer todas as tabelas, garantindo um acesso mais eficiente de com melhor desempenho.
Figura 2
Fonte: Rui Santos
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 um ú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)
O Esquema Floco de Neve (Snowflake Schema)
O esquema Floco de Neve (figura 3) consiste na tentativa do arquitecto do modelo em normalizar as tabelas de dimensão, reproduzindo no Data Warehousing o modelo de dados relacional. A normalização das dimensões tem um efeito negativo na velocidade de saída dos resultados e, acima de tudo, apresenta ao utilizador um conjunto complexo de tabelas relacionadas entre si de difícil compreensão e utilização. Por todas estas razões é um esquema nada aconselhado a ser utilizado para a elaboração de um Data Warehousing.
Figura 3
Fonte: Rui Santos
Tabelas de Factos
Como Carlos Caldeira refere no seu livro, a Tabela de Factos é a tabela dominante de um esquema em Estrela(Star Schema), tem como principal característica a presença de dados altamente redundantes para se obter um melhor desempenho. Estas tabelas representam transacções, acontecimentos, ou outras actividades, que são utilizadas para medir o funcionamento e os resultados dos processos de negócio. A tabela de factos é composta por dois tipos de atributos, as chaves estrangeiras, que a ligam às tabelas de dimensão, e pelos factos. As chaves estrangeiras, para além de estabelecerem regras de integridade referencial com as tabelas de dimensão, servem para utilizar os atributos das dimensões para caracterizar as métricas registadas e para parametrizar as queries aos dados.
Exemplo de uma tabela de factos de um Artigo de um Blog
Tipos de Tabelas de Factos
Existem dois grandes grupos de tabelas de factos as que registam medidas, as tabelas de facto propriamente ditas, e as que apenas marcam a existência de um acontecimento e que se denominam tabelas de factos sem factos. Os tipos de tabelas de factos dividem-se em tabelas de factos transaccionais, tabelas de factos de sumarização periódica e em tabelas de factos de sumarização acumulada. As primeiras registam os factos que se vão medindo em multiplos pontos discretos ao longo de um determinado período de tempo. As tabelas dde factos de sumarização periódica agregam as métricas de um processo de negócio em intervalos de tempo regulares e pré-estabelecidos. As tabelas de factos de sumarização acumulada são independentes do tempo e cobre todo o ciclo de vida de um acontecimento continuo ou discreto.
Tipos de Factos
Existem 3 tipos de factos, estes podem ser aditivos, semi-aditivos, e não-aditivos. Os factos aditivos são aqueles que podem ser somados relativamente a todas as dimensões de um esquema em estrela. Os factos semi-aditivos apenas podem ser somados relativamente a algumas dimensões, ou mesmo, a uma única dimensão. Por fim os factos não-aditivos são todos aqueles que não podem ser somados de acordo com qualquer uma das dimensões.
Tabelas de Dimensão
As tabelas de dimensão contêm a descrição textual do negócio. Num modelo de dimensão bem estruturado as tabelas de dimensão possuem múltiplas colunas ou atributos. Estes atributos descrevem as linhas na tabela de dimensão. É importante incluir o máximo de descrições possível. É comum encontrar tabelas de dimensão com 50 e 100 atributos. As tabelas de dimensão tendem a ser relativamente pequenas no número de linhas (muitas vezes pouco mais de 1 milhão de linhas) mas são largas com colunas grandes. Cada dimensão é definida pela sua única chave primária, que serve como base para manter a integridade referencial quando se liga a uma tabela de factos.
Referencias
Oracle9i Data Warehousing Guide
Data Warehouse Design Considerations for SQL Server 2000
IBM RedBooks - Dimensional Modeling: In a Business Intelligence Environment
Bibliografia
Caldeira, C. Data Warehouse - Conceitos e Modelos. Edições Silabo, 2008. ISBN: 978-972-618-479-9
Kimball, R. The Data Warehouse Toolkit The Complete Guide to Dimensional Modelling, Wiley, 2002 ISBN: 9780471200246
Italiano, I. Modelagem de Data Warehouses e Data Marts – Parte 2. Acedido: 1 de Maio de 2007. Disponível em: http://www.devmedia.com.br/articles/viewcomp.asp?comp=5686
Santos, R. Modelos Dimensionais. Acedido: 6 de Maio de 2007. Disponível em : http://siadmoments.blogspot.com/2007/09/modelos-dimensionais.html


