Prévia do material em texto
PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Scheila Mello PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE O Modelo em Estrela é o mais simples, é chamado de estrela, porque o diagrama se assemelha a uma estrela, com pontos que irradiam de um centro. O centro da estrela é formado por uma ou mais tabelas Fato e os pontos da estrela são as tabelas Dimensões. Modelo Star Schema (Modelo Estrela) PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE FATOS No Modelo Estrela as tabelas Dimensões se relacionam com a tabela Fato, desta forma essas tabelas precisam ter as descrições necessárias para definir uma classe, ou seja, as dimensões não são normalizadas, então poderá ter campos com conteúdos repetidos em cada registro, aumentando assim o tamanho das tabelas. Modelo Star Schema (Modelo Estrela) PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Modelo Star Schema (Modelo Estrela) PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Ex: Star Schema Fato Canal de Venda Locais Tipo de Cliente Código de Vendendor Código do Produto CEP Tipo de Cliente Quantidade Valor Código do Vendendor Nome Vendendor Código Loja Nome Loja Local Loja Canal Distribuição Nome do Produto Categoria Tipo Produto Sub-tipo Produto Tipo de Cliente Descrição Tipo Categoria do Cliente Descrição da Categoria Dimensões CEP Produto PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Ex 2: STAR SCHEMA PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE É um modelo simples e eficiente, caracterizado por possuir uma única tabela de fatos e chaves simples nas tabelas de dimensões. Cada dimensão é representada por uma única tabela. Modelo Star Schema (Modelo Estrela) Os pontos positivos deste modelo são a eficiência, dada pelo reduzido número de junções nas pesquisas e pelas chaves simples, e a facilidade de definir hierarquias. Os pontos negativos são o tamanho e a desnormalização das tabelas de dimensões. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Star Schema: Cuidados Grande números de Dimensões. Granularidade excessivamente fina dentro das Dimensões (tendo como resultado uma quantidade de linhas na tabela Fato quase igual à quantidade de linhas do nível atômico). 1.000 linhas 2.000 linhas 24 linhas 100 linhas 1.00x2.00x100x24 = 4.800.000.000 linhas Cuidado PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Modelo Star Schema Caracterí sticas Aplicados ao DW ou a Data Marts; Rapidez de acesso; Simplicidade e fácil entendimento; Estrutura consistente .. Tabela Fato - Núcleo da Estrela .. Tabelas de Dimensões - Pontos de entrada na tabela Fato Caminhos de acesso presumidos. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Chaves, Medidas Tabelas Fato Contém métricas de negócio expressas por atributos numéricos (vendas por Loja por Produto por Dia) quantificando dados das Tabelas Dimensões. Nível de detalhe define o limite de “drill-down”. Estrutura de chave composta. Tabelas de Dimensões Descrevem os Dados organizados na Tabela Fato. Chaves se relacionam aos componentes da chave da Tabela Fato. Níveis de agregação deve ser controlado. Chave Dimensão Modelo Star Schema (Modelo Estrela) PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE É uma variação do Modelo Estrela, na qual existem várias tabelas Fato e de Dimensão separadas lógica e fisicamente por níveis de sumarização. Desse modo, os dados são particionados em granularidades distintas. Possui várias tabelas Fato, na prática existem várias estrelas, cada uma representando uma combinação de níveis de agregação em cada Dimensão. Modelo Estrela Parcial PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Exemplo de duas estrelas no Modelo Estrela Parcial PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Mesmo reduzindo as redundâncias, é um modelo que resulta em maior número de tabelas em junções, podendo haver queda de desempenho. Modelo Snowflake (Flocos de Neve) Os Modelos Snowflake acrescentam graus de normalização às tabelas de Dimensões do Modelo Estrela, eliminando redundâncias e a necessidade do indicador NÍVEL. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Modelo Snowflake (Flocos de Neve) É o resultado da decomposição de uma ou mais dimensões que possuem hierarquias entre seus membros. É o resultado da aplicação da terceira forma noraml sobre as entidades dimensão. É de fácil entendimento pelos desenvolvedores de sistemas OLTP, pois aplica as formas normais como em projeto relacional. É um modelo normalizado, logo evita a redundância de valores textuais em uma tabela. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Por exemplo, se uma dimensão de tempo é normalizada em várias tabelas de dimensão: uma tabela de ano, uma tabela de mês e uma tabela de data; em seguida, é possível ter várias tabelas de fatos que armazenam dados a outro nível de granularidade com respeito ao tempo; uma tabela de Fatos pode estar relacionada com a tabela de data; enquanto outra podia se relacionar com a tabela de mês ou o ano. Modelo Snowflake (Flocos de Neve) PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE 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 Banco de Dados Analítico.. Modelo Snowflake (Flocos de Neve) PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE A técnica snowflaking consiste em normalizar uma dimensão, removendo atributos do tipo texto de baixa cardinalidade e colocá-los em dimensões secundárias e depois criar um relacionamento entre essas dimensões. Desta forma mais tabelas são usadas para representar as mesmas dimensões, porém o espaço ocupado em disco é menor que no modelo estrela. Modelo Snowflake (Flocos de Neve) PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE O modelo Floco de Neve apesar de ocupar menos espaço em disco acaba sendo mais complexo devido à quantidade de tabelas, além de tornar a navegação mais lenta justamente por precisar acessar um número maior de tabelas para realizar as consultas. Modelo Snowflake (Flocos de Neve) PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Ano Semestre Trimestre Mês Produto Familia Linha Cidade Estado Região Data PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Ex: SNOWFLAKE após a normalização do EX. 2 do Modelo STARSCHEMA http://msdn.microsoft.com/pt-br/library/Cc518031.4_whitepaper-modelagem_de_bancos_de_dados_multidimensionais_19(l=pt-br).jpg PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Modelo Snowflake (Flocos de Neve) Lembrete: Uma base de dados analítica não possui inclusão de dados por meio de digitação, logo não necessita de aplicação de normalização para garantir unicidade de valores textuais (campos de descrições), e nem deve ser preocupação do desenvolvedor a economia de espaço em meio magnético, e sim garantir a respeitabilidade do preceito de informação RÁPIDA para usuário final. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Apesar do Modelo Estrela ocupar mais espaço no banco, ele é mais simples e sua navegação pelos softwares mais fácil, sendo assim mais recomendado à criação deste modelo. Conclusão PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSEAs Hierarquias no Modelo SnowFlake No Modelo Floco de Neve o relacionamento estabelecido entre as Dimensões demonstra uma Hierarquia e esta técnica Snowflaking possibilita a visualização gráfica dessas Hierarquias das Dimensões. As Hierarquias podem ser classificadas em Balanceadas ou Regular, Desbalanceadas ou Parent-Child e Irregular ou Ragged. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE As Hierarquias no Modelo SnowFlake Na Hierarquia Balanceada ou Regular a quantidade de níveis é uniforme, todas as folhas membros da hierarquia tem a mesma distância da raiz, cada membro da hierarquia tem a mesma quantidade de níveis superiores e o processo de extração e carga dos dados nesta dimensão é simples. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE As Hierarquias no Modelo SnowFlake Na Hierarquia Desbalanceada ou Parent-Child a quantidade de níveis é variável, os membros da hierarquia são definidos com seus respectivos níveis superiores e cada linha da dimensão possui a sua chave e a chave do membro pai na hierarquia. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE As Hierarquias no Modelo SnowFlake Na Hierarquia Irregular ou Ragged a quantidade de níveis também é variável e nem todos os membros da hierarquia tem a mesma quantidade de níveis superiores, ou seja, pode existir um buraco entre os níveis. Esta hierarquia possui membros cujos pais pertencem à hierarquia, mas estão a mais de um nível acima de seus filhos. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE As Hierarquias no Modelo SnowFlake Existem ainda as Múltiplas Hierarquias que são criadas para mostrar as diferentes visões de uma dimensão a fim de atender necessidades de análises diferentes. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Algumas características da Modelagem Multidimensional Quando as Dimensões mais utilizadas são identificadas pode-se modelar e implementar Tabelas Fato Agregadas, ou sumarizadas, com um nível de granularidade menor, o que implica em redução da quantidade de linhas, contribuindo para a melhoria da performance e tempo de resposta. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Algumas características da Modelagem Multidimensional A Agregação é uma Tabela Fato representando uma sumarização das medidas de uma Tabela Fato Básica. Ela deve ser distinta e ser suportada por um conjunto de Dimensões contendo somente atributos definidos para seu nível de granularidade, devem ser completamente transparentes para os usuários e impactar o mínimo possível o custo da extração. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 1) Carregue dados detalhados para as estruturas dimensionais. Usuários normalmente não precisam visualizar um registro por vez, mas é impossível prever em quais diferente Se apenas dados agregados estiverem disponíveis, então você já deve ter se deparado com padrões de utilização dos dados que levaram os usuários a chegar a uma barreira intransponível para acessarem os detalhes. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 2) Estruture os modelos dimensionais em torno dos processos de negócios. Os processos de negócios são as atividades desenvolvidas por sua empresa (registrar um pedido ou emitir uma fatura para um consumidor). Processos de negócios normalmente capturam ou geram métricas únicas de desempenho associadas a cada evento. Cada processo de negócio é representado por uma única tabela fato. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 3) Tenha certeza de que cada tabela fato tenha uma dimensão de data associada. Os eventos mensuráveis descritos na Regra 2 sempre tem uma data de algum tipo associada a eles, sejam eles um balancete mensal ou uma transferência de dinheiro registrada em seu centésimo de segundo. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 3) Tenha certeza de que cada tabela fato tenha uma dimensão de data associada. (cont....) Cada tabela Fato deve ter ao menos uma chave estrangeira associada a uma tabela de Dimensão Data, cuja granularidade é Dia, com os atributos de calendário e suas características não padronizadas relacionadas a data do evento, como o período fiscal ou um indicador corporativo de feriado. Múltiplas chaves estrangeiras de Data podem estarem ligadas em uma única tabela Fato. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 4) Certifique-se que todos os fatos em uma única tabela fato estão na mesma granularidade ou nível de detalhe. Existem três granularidades fundamentais para classificar todas as tabelas fato: transacional, snapshot* periódico, ou snapshot acumulado. *Snapshot é uma expressão em inglês que significa "foto instantânea" ou "registro instantâneo“. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 4) Certifique-se que todos os fatos em uma única tabela fato estão na mesma granularidade ou nível de detalhe. (cont...) Independente de sua granularidade, cada métrica em uma tabela fato deve estar exatamente no mesmo nível de detalhe. Quando misturamos fatos representando muitos níveis de granularidade em uma mesma tabela Fato, estamos tornando as aplicações de BI vulneráveis a erros de valores ou outros resultados incorretos. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 5) Resolva relacionamentos muitos para muitos em tabelas Fato. A tabela Fato guarda os resultados de um evento de um processo de negócios, existem inerentemente relacionamentos (M:M) entre suas chaves estrangeiras, como diferentes produtos vendidos em diferentes lojas em diferentes dias. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 6) Resolva os relacionamentos muitos-para-um nas tabelas de dimensões. Hierarquicamente, relacionamentos (M:1) entre atributos são normalmente desnormalizados ou concentrados em uma única tabela dimensão. Neste caso devemos resistir a tendência de normalizar ou criar um snowflake com subdimensões menores para cada relacionamento M:1; desnormalização de dimensões é a regra do jogo na modelagem dimensional. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 6) Resolva os relacionamentos muitos-para-um nas tabelas de dimensões. (cont...) É bastante comum ter muitos relacionamentos M:1 em uma única tabela dimensão. Relacionamentos 1:1 como uma única descrição de produto associada a um código de produto, também são encontradas em uma tabela dimensão. Ocasionalmente relacionamentos M:1 são resolvidos na tabela fato, como no caso de uma tabela de dimensão detalhada com milhões de linhas e com atributos. frequentemente atualizados. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional7) Gravar nomes de relatórios e valores de domínios de filtros em tabelas dimensão. Os códigos, as decodificações e descrições associadas a eles usadas como nomes de colunas em relatórios e como filtros em consultas devem ser gravadas em tabelas dimensionais. Evite gravar campos com códigos criptográficos ou volumosos campos descritivos na própria tabela fato; da mesma forma, não grave apenas o código na tabela de dimensão PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 7) Gravar nomes de relatórios e valores de domínios de filtros em tabelas dimensão. (cont...) Embora tenhamos dito na Regra 5 que as chaves estrangeiras de tabelas fato nunca devem ser nulas, também é aconselhável evitar nulos em campos de atributos de tabelas dimensão trocando o valor nulo por um valor como "NA" (não se aplica) ou algum outro valor padrão, determinado pela administração de dados, para reduzir a confusão entre os usuários se possível. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 8) Tenha certeza de que as tabelas dimensão usam uma chave artificial. Chaves artificiais, sem significado e sequenciais (exceto para a dimensão data, onde chaves cronologicamente definidas e mais inteligíveis são aceitáveis) provém um grande número de benefícios operacionais; chaves menores significam menores tabelas fato, menores índices, e desempenho melhorado. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 8) Tenha certeza de que as tabelas dimensão usam uma chave artificial. (cont.) Chaves artificiais são absolutamente necessárias no caso de você estar registrando as alterações dos atributos da dimensão com uma nova linha para cada mudança. Mesmo que os usuários de negócios inicialmente não visualizem o valor de registrar as alterações nos atributos, usar chaves artificiais tornará uma futura alteração de política menos onerosa. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 8) Tenha certeza de que as tabelas dimensão usam uma chave artificial. (cont...) As chaves artificiais também permitem mapear múltiplas chaves transacionais para um único perfil, adicionalmente protegendo contra atividades operacionais inesperadas, como a reutilização de um código de produto obsoleto ou a aquisição de uma outra empresa com suas próprias regras de codificação. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 9) Crie dimensões padronizadas para integrar os dados na empresa. Dimensões padronizadas (também conhecidas por dimensões comuns, principais, ou de referência) são essenciais para o banco de dados analítico empresarial, trazem atributos descritivos consistentes para os modelos dimensionais e permitem a habilidade de navegar através dos dados integrados de diferentes processos de negócios. Gerenciadas na hora da carga dos dados na base analítica e então reutilizadas associadas a diversas tabelas Fato. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 9) Crie dimensões padronizadas para integrar os dados na empresa. (cont...) A matriz de negócios da empresa é o diagrama de arquitetura chave para representar os processos de negócios principais da organização e suas dimensões associadas. A reutilização das dimensões padronizadas diminui o tempo de desenvolvimento eliminando o desenho redundante; entretanto, dimensões padronizadas requerem um compromisso e investimento em administração de dados e governança. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Regras da Modelagem Multidimensional 10) Avalie requisitos e realidade continuamente para desenvolver uma solução de BI que seja aceita pelos usuários de negócios e suporte seu processo de tomada de decisões. Os responsáveis pela modelagem dimensional devem constantemente balancear os requisitos do usuários de negócios com as realidades inerentes aos dados de origem associados para desenvolver um modelo que possa ser implantado, e que, mais importante ainda; tenha uma boa chance de ser útil aos negócios. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Gerenciando as questões no processo de Modelagem O time central de projeto deve rever cada questão/assunto em aberto e determinar o que precisa ser feito para resolvê-la. Solicitar ajuda do gerente de projeto sempre que necessário. .. Tenha certeza de que a gerência entenda o que está em jogo - se o processo de modelagem for atrasado, todo o projeto será atrasado! PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Identificando as Fontes para cada tabela de Fato e Dimensão Entenda o dado que foi solicitado pelos executivos. -- Isto ajuda a selecionar suas fontes de dados. Fontes de dados formais são suportadas pelos Sistemas de Informação. -- Algum rigor é associado com a manutenção e integridade do dado. Dados informais vêm diretamente do negócio e é usado no processo de tomada de decisão. -- Alguém deve ser responsável por coletar e distribuir a informação de modo regular. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Erros que podem afetar a MMD Campo texto em Dimensões e Fatos Os campos de texto aberto (como observações, detalhes e etc) podem onerar a construção da base analítica. Ocupam grande espaço de armazenamento na base consolidada. Por isso, devemos evitar ao máximo a inclusão desses dados, questionando sempre sua necessidade quando for solicitado. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Erros que podem afetar a MMD Utilização de chaves operacionais para junção de Dimensões e Fatos Não podemos utilizar chaves das tabelas operacionais para junções entre Dimensões e Fatos. Devemos utilizar as chaves artificiais ou substitutas, pois só assim é possível tratar dados históricos nas tabelas de Fatos e o versionamento (modificações) dos dados nas Dimensões. Sem as chaves substitutas esse artifício é inviabilizado. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Erros que podem afetar a MMD Não manter a conformidade entre Dimensões e Fatos Um grande problema é a falta de conformidade entre dados, causando retrabalho e falta de padronização nas informações apresentadas. Por isso, devemos sempre elaborar a modelagem tendo em vista a reutilização dos objetos, para que o projeto tenha eficácia e consistência. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Erros que podem afetar a MMD Negligenciar o versionamento (alterações) dos dados nas Dimensões Não podemos subestimar a necessidade de armazenar as mudanças dos campos (atributos) das Dimensões. Considerar todas as possibilidades – incluindo a mudança de desejo do usuário – e elaborar a modelagem de forma que suporte futuras alterações, com o menor impactopossível. PROJETO E IMPLEMENTAÇÃO DE DATAWAREHOUSE Erros que podem afetar a MMD Priorizar o tipo de modelagem snowflake ao invés do star schema O modelo estrela deve ser sempre priorizado. Esse tipo de modelagem possui maior intuitividade e melhor desempenho nas consultas que serão executadas. Por isso, devemos evitar ao máximo o modelo floco de neve e utilizá-lo apenas nas exceções onde o star schema (estrela) não pode ser aplicado.