Cetax Consultoria e Treinamento
Modelagem Dimensional
Maio/2009
1
Cetax Consultoria e Treinamento
Maio/2009
Quem somos
Modelagem Dimensional
2
Cetax Consultoria e Treinamento
Maio/2009
Instrutor
Modelagem Dimensional
3
Cetax Consultoria e Treinamento
Maio/2009
Conceitos iniciais para a Modelagem Dimensional.
Modelagem Dimensional
4
Cetax Consultoria e Treinamento
Maio/2009
•Os atributos das Dimensões são os itens „By‟ e „Where‟ das clausulas „SELECT‟. •A Dimensão de Datas é fundamental para todos os modelos dimensionais, ela é utilizada para que as informações sejam agregadas, filtradas, selecionadas seguindo um mesmo padrão. É importante que uma dimensão de Datas seja responsável por conter todas as informações que são pertinentes a uma data, por exemplo, Feriados, Calendários Fiscais, Calendários Específicos da empresa, etc. •A combinação dos atributos da dimensão e suas hierarquias é chamada de Desnormalização. Isso facilita pela visão dos usuários aos atributos das tabelas e transforma os „JOINS‟ entre as tabelas mais simples.
Modelagem Dimensional
5
Cetax Consultoria e Treinamento
Maio/2009
Sempre vamos pensar em utilizar Surrogate Keys ( Chaves Substitutas ) nas dimensões.
Modelagem Dimensional
6
Cetax Consultoria e Treinamento
Maio/2009
•As dimensões participam da tabela de fato como foreign key. •Dimensões são consideradas Objetos de Negócio e as fatos são medidas de Negocio. Os Objetos são produtos, clientes, empresas e medidas são quantidades pedidas, valores vendidos. Produtos existem mesmo sem serem vendidos, mas as vendas sempre são de produtos ou serviços. •A maioria dos fatos são numéricos, nas nem todos os números são fatos, itens como tamanho, peso, quantidades por caixa, só podem ser considerados fatos em caso muito específicos, na maior parte do tempo são considerados características das dimensões. •Geralmente os fatos são aditivos, valores, quantidades, etc. Mas outros como temperatura, preço, medias em geral, não podem ser somados.
Modelagem Dimensional
7
Cetax Consultoria e Treinamento
Maio/2009
•Na abordagem de Ralph Kimball, as fatos são criadas em seu nível mais detalhado – nível atômico. Dessa maneira, pode-se ter a flexibilidade de fazer „Roll-up‟ para qualquer nível possível. Nesse caso podem ser utilizadas tabelas sumarizadas para auxiliar nas agregações necessárias, Materialized Views no Oracle ou Materialized Query Tables no DB2. •As tabelas fato são muito eficientes, pois possuem baixa redundância dos dados.
Modelagem Dimensional
8
Cetax Consultoria e Treinamento
Maio/2009
• Um Star-Schema nada mais é do que um Modelo Dimensional de uma só fato e suas dimensões. • Geralmente utilizamos um conjunto de fatos para descrever um conjunto de processos de negócios. • O reuso das Dimensões entre diversos processos de negócios é a raiz do Conceito de Enterprise Data Warehouse Bus.
Modelagem Dimensional
9
Cetax Consultoria e Treinamento
Maio/2009
Por exemplo, Departamento, na tabela desnormalizada a Descrição vai ficar duplicada pela quantidade de Produtos que estiverem alocados para o mesmo: Trocamos a chave do departamento pela descrição, chave – 2 bytes e descrição 20 bytes, vamos “economizar” 18 bytes. Se a dimensão tem 500.000 produtos * 18 bytes = 9MB. Nesse caso a economia é de apenas 9MB !
Modelagem Dimensional
10
Cetax Consultoria e Treinamento
Maio/2009
No modelo acima as fatos são exatamente iguais, mas as dimensões são modeladas de maneira diferente. Star Schema desnormalizam as dimensões. Snowflake normalizam as dimensões. Devemos estar atentos : Snowflaking torna a apresentação ao usuário mais complexa. Snowflaking tornam as queries mais lentas.
Modelagem Dimensional
11
Cetax Consultoria e Treinamento
Modelagem Dimensional
Maio/2009
12
Cetax Consultoria e Treinamento
Maio/2009
• Data Warehouse Bus Architecture fornece uma visão padronizada de fatos e dimensões. Semelhante ao Bus de um computador, onde o Bus pode ser utilizado na conexão de diversos dispositivos. •Podemos considerar “Conformed Dimensions” as dimensões que são compartilhadas entre as fatos do modelo. As dimensões podem ser exatamente iguais ou um subset das outras. •Utilizando a Bus Architecture, pode-se separar os data marts a serem desenvolvidos, mas de qualquer maneira eles podem ser encaixados na Matrix como um quebra cabeças.
Modelagem Dimensional
13
Cetax Consultoria e Treinamento
Maio/2009
•As linhas da matriz são os processos de negocio que serão transformados em tabelas fato. Inicie com os data marts de fontes únicas, que são esse primeiro nível. Depois identifique os data marts de múltiplas fontes ou com cálculos mais complexos. •As colunas representam as dimensões usadas em todo o modelo. •Compartilhar as dimensões é um processo extremamente crítico •A Bus Matrix é uma ferramenta para planejamento, comunicação e gerenciamento de expectativas com todos os membros do projeto. Uma vez definidas e criadas as dimensões compartilhadas, o desenvolvimento dos Data Marts podem ser feitos em paralelo.
Modelagem Dimensional
14
Cetax Consultoria e Treinamento
Maio/2009
Os processos de negócios definem toda a estratégia do Data Warehouse. O gerenciamento do projeto é presente em todas as fases. Algumas fases podem ser executadas em paralelo.
Modelagem Dimensional
15
Cetax Consultoria e Treinamento
Maio/2009
SCD – Slowly Changing Dimensions -> Técnicas para representar o histórico de dados de uma dimensão.
Modelagem Dimensional
16
Cetax Consultoria e Treinamento
Maio/2009
3 Tipos básicos de SCD, em alguns casos mais de 1 tipo pode ser combinado na mesma dimensão.
Modelagem Dimensional
17
Cetax Consultoria e Treinamento
Maio/2009
Possibilidades de dimensões de tempo
Modelagem Dimensional
18
Cetax Consultoria e Treinamento
Maio/2009
Essa dimensão representa todos os meses possíveis e algumas quebras possíveis para os meses, nesse caso com um campo numérico de 3 posições podemos representar mais de 80 anos de informação com um custo baixo para a tabela fato, e uma excelente capacidade de análise para o usuário. Podemos colocar outras variáveis como quantidade de dias do mês, quantidade de dias úteis, quantidade de feriados, dia do fechamento financeiro ou contábil, entre outras possibilidades.
Modelagem Dimensional
19
Cetax Consultoria e Treinamento
Maio/2009
Na dimensão de Tempo Horas, representamos todas as possíveis combinações de horas e minutos de um dia. Essa dimensão é uma ferramenta muito utilizada para acompanharmos e agruparmos informações de vendas, ocorrências e outros. Um item importante é que sempre devemos representar Data e Hora em dimensões separadas, pois a combinação das duas em uma única tabela, gera uma quantidade de registros extremamente grande.
Modelagem Dimensional
20
Cetax Consultoria e Treinamento
Modelagem Dimensional
Maio/2009
21