Curso de Dwing TecBD-DI TecBD-DI PUC-Rio Prof. Prof. Rubens Melo Arquiteturas de DW e Abordagens de Implementação Arquiteturas e Abordagens de Implementação z Arquitetura adequada é fundamental y y y y Infra-estrutura disponível Porte da empresa Escopo desejado Recursos... z Abordagem de Implementação y Bottom-up vs Top Down y Tempo, satisfação do usuário,... 1 Arquiteturas z Arquitetura DW global y Centralizada y Distribuída z Arquitetura Data Marts y Independentes y Integrados (difícil) Abordagens de Implementação z Top Down y Análise das fontes de dados y Extração Transformação e Carga (ETL) x Uso de ODS (Staging Area) x Dados e Metadados y DW => Data Marts • Dados e metadados 2 ODS-DDS-Staging Area... z Que é ODS? E DDS? y Operational vs Dynamic y Hoje ODS são chamados DDS y ODS permite análises no ambiente operacional e auxilia carga de DW y DDS pode ir crescendo ao longo do tempo com alterações incrementais z Staging Area é necessária quando a preparação (limpeza, sincronizacao etc) é complexa. Abordagens de Implementação z Bottom UP y Começa por Data Marts para grupos independentes de usuários x x x x x Seleciona Fontes de Dados Modela os DMs com MMD Gera DMs Cria as aplicações OLAP Depois integra (dificil..) os DMs 3 Vantagens e Desvantagens z z z z z z Top Down Vantagens Facilita Manutenção (herança de arquit.) Visão horizontal Dados e Metadados centralizados Controles e regras (ETL) centralizados Top Down Desvantagens y Implem mais lenta=>Expectativas? y Maior risco (projeto global) Vantagens e Desvantagens z z z z Bottom UP Vantagens Rapidez Ganha confiança e mais investimento Bottom UP Desvantagens y y y y LegaMarts (DMs viram legacy) Perde-se a visão horizontal Múltiplas equipes, ferramentas etc Competição entre os DMs 4 Abordagens de Implementação z DW incremental y Começa a modelagem global de DW y Inicia um Data Mart piloto y Vai criando outros DMs e integrandoos mantendo a visão horizontal y Mantem DW e DMs Ferramentas em DWing 1) P/ Consulta e Relatórios simples 2) OLAP tools ROLAP MOLAP HOLAP DOLAP EIS Data Mining 3) Web OLAP 5 Questões importantes para Modelagem Dimensional z Quando ? (Tempo) z O que ? (Ex.: Produto) (o “que” analisar do fato) z Onde ? (Localização Geográfica) z Quem ? (Ex.: Vendedor) (agente) z Fato: Venda z Importantíssimo definir as dimensões, os “pontos cardeais das estrelas” dos fatos z Uma célula é a interseção de múltiplas dimensões --> Idéia de cubo Exemplo de uma Fact Table Chaves que juntam os fatos às dimensões Medidas Prod_Code Time_Code Acct_Code Sales Qty 101 102 103 103 104 2045 2045 2046 2046 2046 501 501 501 502 502 100 225 200 250 20 1 2 20 25 1 6 Time Exemplo de um Star-Schema Time code Quarter code Quarter code Date Month code Month Name Day code Day of week Season Account Account code Key Account code Key account name Account name Account type Account market Sales Geography code Time code Account code Product code Sales Qty Geography Geography code Region code Region manager State code City code City name Zip code Product Product code Product name Brand manager Brand name Prod. line code Prod. line name Product name Product color Product model Questões importantes para Modelagem Dimensional z “Comprador c comprou produto p no lugar l no tempo t em qtidade q, a preço unit u, etc” z Quando ? (t) Ex.: Mes, trimestre, ano etc z O que ? (p) Ex.: sapato, gênero de filme,.. z Onde ? (l) Ex.: Norte, SP, Belem, Brasil z Quem ? (c) Ex.: Jovens, Classe b, ... z Fato: Compra (Outros exs: Venda, Exib de filme z Medidas do fato: q,u,... z O Modelo Dimensional vem do ER??? 7 Questões importantes para Modelagem Dimensional z O modelo ER é orientado a “entidades e relacionamentos” (object) z O modelo MMD é orientado a assunto (fato) (subject) z Modelo ER --> OLTP z Modelo MMD -> OLAP z Modelo ER -> BD Relacional Normalizado (BD volátil) z Modelo MMD -> BD Relacional Não Normalizado (BD não volátil) Exercício de Modelagem z Uma distribuidora de filmes tem sistema de controle de seus filmes que contrata dos vários estúdios z Filmes são exibidos em sessões diárias em salas de cinema (com diferentes capacidades) espalhadas por cidades, estados, regiões do pais. z Os clientes buscam filmes por ator, diretor, gênero, país etc 8 Exercício de Modelagem z A distribuidora já tem um sistema (OLTP) com um BD para controle. z Ex1: Faça um ER do modelo transacional do BD da distribuidora ER Transacional do exercício z z z z z z Filme(f,) (0:n) <passa no> (0:n) Cinema(c,) Filme(f,) (1:1) <vem do> (1:n) Estúdio(e,) Filme(f,) (1:1) <dirigido por> (0:n) Diretor(d,e,) Diretor(d,e,) (1:1) <é-do> (1:n) Estúdio(e,) Ator(a,) (0:n) <atua no> (0:n) Filme(f,) Diretor(d,e,) (0:1) <é-um> (0:1) Ator(a,) 9 Exercício de Modelagem z Acontece que os diretores querem analisar seus negócios e sentiram a necessidade de um DW. z Após entrevistas com executivos da distribuidora apareceram requisitos de informação: y Evolução de público e $$ arrecadado por região, estado e cidade classificados por gênero e sala. y Evolução de exibição de filmes por ator e diretor y Evolução de público por ator e diretor y Como lançar filmes por períodos do ano Exercício de Modelagem z Ex2: Projetar o DW com MMD z Qual o fato? z Quais as dimensões? y y y y Onde acontece? (Geo) Quando? (tempo) O que? (outras dimensões de análise) Quem? (agente) z Quais as medidas do fato? z Ex3 Esse DW pode sair do ER anterior? z Ex4: Represente em tabelas esse DW e cheque-o com as análises pedidas 10 Tecnologia DW ou OLAP ? z São diferentes mas complementares z Tecnologia DW y Usada efetivamente para armazenar e manter informações z OLAP y Usado para recuperar informações (não volátil) z Tecnologias de DW e OLAP são complementares y DW deve ser projetado pensando-se na recuperação e visualização dos dados (OLAP) y Construir um DW isolado (s/OLAP) é uma fórmula para o fracasso y Total exploração do DW depende de OLAP Tecnologia DW e OLAP z DW usa, basicamente, tecnologia relacional (Oracle, DB2, Sybase, SQL Server ...) embora não seja BD p/ OLTP z OLAP usa visões multidimensionais dos dados para rápido acesso a informações estratégicas z OLAP normalmente utiliza arquitetura proprietária z Os dados, na visão multidimensional de OLAP, são freqüentemente agregados para maximizar sua eficiência (não normalizados) 11 Tecnologia DW e OLAP z Dimensões descrevem os componentes de uma área de análise (subject) e o modo para localização de valores medidos (nos fatos) z A habilidade de organizar os dados do modo que os usuários conhecem seus dados é a tal multidimensionalidade z Esta habilidade é o que realmente distingue os sistemas OLAP dos sistemas tradicionais z OLAP se aplicam bem em Data Marts DW e Data Marts Sistema Operacional BDs de produção / arquivos Sistema Operacional BDs de produção / arquivos ò DM usuário final DW BD customizado DW - BD usuário final usuário final DM usuário final BD customizado usuário final usuário final DMs extraem e ajustam porções de DWs aos requisitos específicos de grupos / departamentos 12 DM em Servidor OLAP Sistema Operacional DW BDs de produção / arquivos Sistema Operacional BDs de produção / arquivos Servidor OLAP usuário final usuário final DW - BD BD multidimensional usuário final ò Porções de DW são copiadas para um BD multidimensional para otimizar análise de dados Modelagem de DW Para o DW central é necessário ò ò Criar um modelo de dados conceitual (ER’ ?) Otimizar esse modelo apropriadamente para a recuperação de dados (desnormalizar?) e para suporte à decisão (agregar?) 13 Modelagem de DW - Itens Críticos ò Entender as diferenças entre o modelo corporativo totalmente normalizado (objeto) e um modelo de DW (assunto) ò Transformar o modelo corporativo(ER) em modelo DW: J Removendo os dados puramente operacionais (p/ ser informacional) J Adicionando um elemento de tempo nas chaves (ficar temporal) J Incluindo dados resumidos e derivados no modelo DW (desnormalizar) Modelagem de Dados Metodo para mapeamento de dados operacionais em informação orientada a assunto ò ò ò Identifica assuntos de negócios (serão *) Define relacionamentos entre assuntos de negócios (* ligadas por dim comuns) Nomeia os atributos para cada assunto de negócio (dimensões) 14 ER Transacional => MMD z Relacionamentos n:n => podem ser fatos (assuntos de análise) z Ex. No caso da distribuidora de filmes: y Filme <passa no> Cinema => fato de interesse y Ator <atua no> Filme => fato não analisado z Dica: Primeiro pensar MMD e depois ver de onde iremos extrair os dados MMD vs ER do exercício z ER y y y y y y Filme(f,) (0:n) <passa no> (0:n) Cinema(c,) Filme(f,) (1:1) <vem do> (1:n) Estúdio(e,) Filme(f,) (1:1) <dirigido por> (0:n) Diretor(d,e,) Diretor(d,e,) (1:1) <é-do> (1:n) Estúdio(e,) Ator(a,) (0:n) <atua no> (0:n) Filme(f,) Diretor(d,e,) (0:1) <é-um> (0:1) Ator(a,) z MMD y Dim: tempo,cidade,ator,diretor,sala,genero y Fato: Exibição-filme 15 Modelagem de Dados u Desenvolver um modelo de DW completo (corporativo) pode ser complexo e muito demorado u Uma melhor abordagem é começar com alguns assuntos de interesse imediato para a empresa (DMs) Abordagem Evolucionária iterativa * Começar pequeno * Provar utilidade * Construir sobre sucessos 16 Enfatizando ER vs MMD z O modelo ER é orientado a “entidades e relacionamentos” (object oriented) z O modelo MMD é orientado a assunto (fato) (subject oriented) z Modelo ER --> OLTP, Modelo MMD -> OLAP z Modelo ER -> BD Relacional Normalizado (BD volátil) z Modelo MMD -> BD Relacional Não Normalizado (BD não volátil) z Se existir um ER corporativo como => DW? z Senão modelar DW usando ER / MMD Revisão z Porque DW nao é apenas um BD e DMs apenas Views? z O que é o modelo MMD? Em que nível ele se aplica em Modelagem de DW? z Como se modela DW nos níveis Conceitual, Lógico e Físico? z Quais as operações do Modelo Relacional? E do Modelo MMD? z Que é: Star schema, Snowflake Schema e Constelações ? Estes se aplicam em DW ou DM? z Quais as dimensões tipicas em MMD? 17