Data Warehouse Professor Edson Emílio Scalabrin telefone: 0xx41-330-1786 e-mail: [email protected] download: http://www.ppgia.pucpr.br/~scalabrin 1 Objetivo Apresentar: • conceitos • as características de um Data Warehouse • algumas arquiteturas • • • • • Modelos de dados Desenvolvimento do Data Warehouse Povoamento do Data Warehouse Extração de informações do Data Warehouse Análise do uso da tecnologia Data Warehouse 2 Plano CONCEITOS As Características de um Data Warehouse Algumas arquiteturas Modelos de dados Desenvolvimento do Data Warehouse Povoamento do Data Warehouse Extração de informações do Data Warehouse Análise do uso da tecnologia Data Warehouse 3 Data Warehouse Definição I: • “ É uma coleção de dados orientados por assuntos, integrados, variáveis no tempo e não voláteis, para dar suporte ao processo gerencial de tomada de decisão ” [ Inmon ] 4 Data Warehouse Definição II: • “ É um processo em andamento que aglutina dados de fontes heterogêneas, incluindo dados históricos e dados externos para atender às necessidades de consultas estruturadas e ad-hoc, relatórios analíticos e de suporte a decisão ” [Harjinder ] 5 Data Warehouse Definição III: • “ É uma coleção de técnicas e tecnologias que juntas disponibilizam um enfoque pragmático e sistemático para tratar com o problema do usuário final de acessar informações que estão distribuídas em vários sistemas da organização ” [ Barquini ] 6 Dados operacionais vs. Data Warehouse Características BD Operacional Data Warehouse Objetivo Operações diários do negócio Analisar o negócio Uso Operacional Informativo Tipo de processamento OLTP OLAP Unidade de trabalho Inclusão, alteração, exclusão Carga e consulta Número de usuários Milhares Centenas Tipo de usuário Operadores Comunidade gerencial Interação do usuário Somente pré-definida Pré-definida e ad-hoc Condições dos dados Dados operacionais Dados Analíticos Volume Megabytes - gigabytes Gigabytes - terabytes Histórico 60 a 90 dias 5 a 10 anos 7 Dados operacionais vs. Data Warehouse Características BD Operacional Data Warehouse Granularidade Detalhados Detalhados e resumidos Redundância Não ocorre Ocorre Estrutura Estática Variável Manutenção desejada Mínima Constante Acesso a registros Dezenas Milhares Atualização Contínua (tempo real) Periódica (batch) Integridade Transação A cada atualização Número de índices Poucos / simples Muitos / complexos Intenção dos índices Localizar um registro Aperfeiçoar consultas 8 Componente de um Data Warehouse Data Warehouse não é o fim, ele é um meio que as empresas dispõem para analisar informações podendo utilizá-las para a melhoria dos processos atuais e futuros Qualquer fonte Qualquer Dado Qualquer acesso Ferramentas de consultas (relatórios) Dados Operacionais Data Warehouse Dados Externos Ferramentas de OLAP Aplicativos 9 Plano Conceitos AS CARACTERÍSTICAS DE UM DATA WAREHOUSE Algumas arquiteturas Modelos de dados Desenvolvimento do Data Warehouse Povoamento do Data Warehouse Extração de informações do Data Warehouse Análise do uso da tecnologia Data Warehouse 10 Data Warehouse Características Orientação por assunto Integração Variação no tempo Não volatilidade Localização Credibilidade dos dados Granularidade Metadados 11 Data Warehouse Características Orientação por assunto • Um DW sempre armazena dados importantes sobre temas específicos da empresa e conforme o interesse das pessoas que irão utilizá-lo. Exemplo: • Uma empresa pode trabalhar com vendas de produtos alimentícios no varejo e o seu maior interesse ser o perfil de seus compradores, então o DW será voltado para as pessoas que compram seus produtos e não para os produtos que ela vende. 12 Data Warehouse Características Integração (a) Aplicação B Aplicação A (b) Aplicação A Aplicação B Aplicação C Aplicação C Valor atual, 2 anos Incompatibilida de: mesmo elemento, nomes diferentes Incoerência: diferentes elementos, mesmo nome Valor atual, 3 meses Valor atual, 1 ano Valor atual, 6 meses 13 Data Warehouse Características Integração de dados OPERACIONAL Aplicação A: m,f Aplicação B: 1,0 Aplicação C: masculino, feminino DATA WAREHOUSE sexo: m, f Aplicação A: caminho - centímetros Aplicação B: caminho - pés Aplicação C: caminho - jardas Aplicação A: descrição Aplicação B: descrição Aplicação C: descrição Aplicação A: chave char(10) Aplicação B: chave dec fixed(9,2) Aplicação C: chave char(12) caminho: centímetros ? descrição Chave char(12) 14 Data Warehouse Características Integração de dados OPERACIONAL Plano de Saúde - Maria Silva - Feminino - 01/12/68 Clinica - Maria Silva - Duas internações em 2000 - Equipe médica - Duração média das internações Laboratório de Exames - Maria Silva - Exames requeridos - Resultados DATA WAREHOUSE - Maria Silva - Feminino - Nascida em 01/12/68 - Duas internações em 2000 - Equipe médica - Duração média das internações - Exames requeridos - Resultados dos exames - Casada - 2 filhos 15 Data Warehouse Características Variação no tempo Operacional Maria Silva Rua XV, 02 Medicação: X, Y Entrada: 05/11/00 Alta: 10/11/00 Quais são medicamentos ministrados à Maria Silva neste momento? Atômico Maria Silva Rua 24 horas, 12 Medicação: X, Z Entrada: 01/03/98 Alta: 10/03/98 Maria Silva Rua XV, 02 Medicação: X, Y Entrada: 10/11/00 Alta: 10/11/00 Quais foram os medicamentos ministrados à Maria Silva nos últimos 5 anos? Departamental Janeiro 4101 Fevereiro 4209 Março 4175 Abril 4215 .... .... .... Estamos atendendo mais ou menos pacientes ao longo do tempo? Individual Pacientes desde 1980 tomando o medicamento X e com período de internação superior à 5 dias Quais são os riscos (tendências) em relação aos pacientes que foram vitimas de infeção hospitalar? 16 Data Warehouse Características Não volatilidade OPERACIONAL DATA WAREHOUSE incluir alterar acessar carregar excluir acessar excluir incluir alterar 17 Data Warehouse Características Localização Formas de armazenamento: • único local (centralizado) • por área de interesse (distribuído) • por nível de detalhes Dados altamente resumidos Dados levemente resumidos Dados detalhados atuais Dados detalhados antigos 18 Data Warehouse Características Credibilidade dos dados • É o mais importante para o sucesso de qualquer projeto • Discrepâncias simples de todo tipo podem causar sérios problemas quando se quer extrair dados para suportar decisões estratégicas para o negócio das empresas; • Dados não dignos de confiança podem resultar em relatórios inúteis, que não tem importância alguma – por exemplo, uma lista de pacientes do sexo masculino e grávidos; 19 Data Warehouse Características Granularidade • Baixa – é possível responder a praticamente qualquer consulta – porém, grande quantidade de recursos computacionais é necessária para responder perguntas específicas • Alta – ocorre uma significativa redução da possibilidade de utilização dos dados para atender consultas detalhadas – porém, reduz-se muito o espaço em disco e o número de índices necessários 20 Data Warehouse Características Exemplo de níveis de granularidade Baixa Prod. A1 B1 A1 A1 Data 13/9/00 14/9/00 16/9/00 16/9/00 Qtda. 10 15 20 90 Alta Valor 100,00 150,00 200,00 890,00 mês/ano Prod. Qtda. Valor 09/00 A1 120 1190,00 09/00 B1 15 150,00 21 Data Warehouse Características Metadados Três diferentes camadas: • operacionais, centrais do Data Warehouse, nível do usuário Três diferentes componentes: • Mapeamento: descrevem como os dados de sistemas operacionais são transformados antes de entrarem no DW • Histórico: descrevem as regras corretas a serem aplicadas nos dados corretos quando as regras de negócio mudam • Algoritmos de sumarização: – mostram a relação entre os diferentes níveis de detalhes dos dados, indicando inclusive que nível de sumarização é mais adequado para um dado objetivo. 22 Data Warehouse Características Fontes de metadados • Repositórios de ferramentas CASE • Documentação do desenvolvimento dos sistemas operacionais • Código fonte dos sistemas operacionais • Entrevistas • O próprio ambiente do Data Warehouse – informações tais como freqüência da acesso, em que nível de agregação, tempo de resposta de cada consulta, etc.. 23 Plano Conceitos As características de um Data Warehouse ALGUMAS ARQUITETURAS Modelos de dados Desenvolvimento do Data Warehouse Povoamento do Data Warehouse Extração de informações do Data Warehouse Análise do uso da tecnologia Data Warehouse 24 Arquitetura Genérica de um D/W Camadas de bancos de dados operacionais e fontes externas: • É composto pelos dados dos sistemas operacionais das empresas e informações provenientes de fontes externas que serão integradas para compor o DW. Camada de acesso a informação: • Envolve o hardware e o software utilizado para obtenção de relatórios, planilhas, gráficos e consultas. • É nesta camada que os usuários finais interagem com o DW, utilizando ferramentas de manipulação, análise e apresentação dos dados, incluindose as ferramentas de data-mining e visualização. Camada de acesso aos dados: • Esta camada faz a ligação entre as ferramentas de acesso à informação e os bancos de dados operacionais. • Esta camada se comunica com diferentes sistemas de bancos de dados, sistemas de arquivos e fontes sob diferentes protocolos de comunicação, o 25 que se chama acesso universal de dados. Arquitetura Genérica de um D/W Camada de metadados (Dicionário de dados): • Metadados são as informações que descrevem os dados utilizados pela empresa – descrições de registros, comandos de criação de tabelas, diagramas Entidade/Relacionamentos (E-R), dados de um dicionário de dados, etc. Camada de gerenciamento de processos: • É a camada responsável pelo gerenciamento dos processos que contribuem para manter o DW atualizado e consistente. Camada de transporte: • Esta camada gerencia o transporte de informações pelo ambiente de rede. Inclui a coleta de mensagens e transações e se encarrega de entregá-las em locais e tempos determinados. Camada do Data Warehouse: • Corresponde aos dados utilizados para obter informações. 26 Arquitetura Genérica de um D/W 27 Arquitetura 2o. Chaudhuri Um componente back end: conjunto de aplicações responsáveis por extrair, filtrar, transformar, integrar e carregar os dados de diferentes origens no DW; Um componente front end: conjunto de aplicações responsáveis por disponibilizar aos usuários finais acesso ao DW; Um repositório para armazenar e gerenciar os metadados do sistema. Data Warehouse (SGBD) Componente front-end Componente back-end Repositório de metadados Fontes internas Fontes externas 28 Arquitetura: 2o. Chaudhuri O fluxo de dados Outflow Componente front-end Upflow Metaflow Inflow Repositório de metadados Fontes internas Component e back-end Data Warehouse Downflow Dados antigos Fontes externas 29 Arquitetura: 2o. Valente Consultas Data warehouse Integrador Extrator Base de dados Extrator Extrator Base de dados Base de dados 30 Plano Conceitos As características de um Data Warehouse Algumas Arquiteturas MODELO DE DADOS Desenvolvimento do Data Warehouse Povoamento do Data Warehouse Extração de informações do Data Warehouse Análise do uso da tecnologia Data Warehouse 31 Modelo de dados ideal 32 Arquitetura de dados Servidor central Forma de armazenamento: • único local (centralizado) Dados altamente resumidos Dados levemente resumidos Dados detalhados atuais Dados detalhados antigos 33 Arquitetura de dados Forma de armazenamento: • por área de interesse (distribuído) Servidor Área Financeira Servidor Área Marketing Dados altamente resumidos Dados levemente resumidos Dados detalhados atuais Dados detalhados antigos 34 Arquitetura de dados Servidor S2 Servidor S1 Servidor DW Forma de armazenamento: • por nível de detalhes Dados altamente resumidos Dados levemente resumidos Dados detalhados atuais Dados detalhados antigos 35 Metadados Definição: • (a) metadados são normalmente definidos como dados sobre os dados. • (b) metadado é uma abstração dos dados, ou ainda, dados de mais alto nível que descrevem dados de um nível inferior. Deve-se destacar que sem metadados, os dados não têm significado. Exemplo • as descrições de registros em um programa de aplicação ou o esquema de um banco de dados descrito em seu catálogo ou ainda as informações contidas em um dicionário de dados. 36 Metadados Camadas de metadados em um data warehouse: • metadados operacionais: – definem a estrutura dos dados mantidos pelos bancos operacionais, usados pelas aplicações de produção da empresa; • metadados centrais do data warehouse: – distinguem-se por serem orientados por assunto. Incluem definições de agregados e campos calculados, assim como visões sobre cruzamentos de assuntos. • metadados do nível do usuário: – mapeam os metadados do data warehouse para conceitos que sejam familiares e adequados aos usuários finais. 37 Metadados Classificação de metadados: • mapeamento: – descrevem como os dados de bancos operacionais são transformados para chegarem ao data warehouse. Incluem identificação de campos fontes, mapeamentos entre atributos, conversões, codificações, "defaults", etc.; • histórico: – mantém o histórico de mudanças das regras do negócio, pois as regras certas devem ser aplicadas aos dados certos, quando se consideram evoluções ao longo do tempo; • miscelânea: – informação de status sobre estágios de desenvolvimento de partes do data warehouse, informações sobre volume dos dados 38 (para estimativas de tempo e recursos), etc.; Metadados Classificação de metadados: • algoritmos de sumarização: – mostram a relação entre os diferentes níveis de detalhe dos dados, indicando inclusive que nível de sumarização é mais adequado para um dado objetivo; • padrões de acesso: – mantém informações sobre freqüência e tipo de acesso aos dados. 39 Plano Conceitos As características de um Data Warehouse Algumas Arquiteturas Modelo de dados Esquema: Estrela ou Foco de Neve Povoamento do Data Warehouse Extração de informações do Data Warehouse Análise do uso da tecnologia Data Warehouse 40 Dimensões e bancos de dados relacionais Esquema Estrela 41 Dimensões e bancos de dados relacionais Esquema Foco de Neve 42 Multi-dimensional Banco de dados relacional Matriz bidimensional MODELO COR VENDAS Van Azul 6 Van Vermelho 5 Van Preta 4 Coupe Azul 3 Coupe Vermelho 5 Coupe Preta 5 Sedan Azul 4 Sedan Vermelho 3 Sedan Preta 2 MODELO Van Coupe Sedan Azul 6 3 4 Vermelho Preta 5 4 5 5 3 2 Totais consolidados em uma Representação multi-dimensional MODELO Azul Vermelho Preta Total Van 6 5 4 15 Coupe 3 5 5 13 Sedan 4 3 2 09 Total 13 13 11 37 43 Níveis das dimensões 44 OLAP - On-Line Analytic Processing Tipo de processo 1: • Slide and dice – Corresponde à técnica de mudar a ordem das dimensões; – a mudança de orientação permite ao usuário investigar diferentes inter-relacionamentos entre eles: – Qual é o item mais vendido em cada loja? – Qual loja vende mais do item 3? 45 OLAP - On-Line Analytic Processing Tipo de processo 2: Drill down • O "drill-down" consiste em permitir ao usuário "descer" pelas hierarquias das dimensões: – é comum o usuário iniciar pelo nível resumido (tal como vendas nacionais, por marca) e então seletivamente obter níveis de detalhe adicionais para seguir e explicar uma observação feita no nível resumido. Exemplo • Supondo que o produto da marca M tem o pior retorno de vendas em termos nacionais, o analista pode resolver examinar a venda da marca M regionalmente para ver se o problema está relacionado com a distribuição ou algum outro problema regional. OBS: são comuns processos de "drill-down" segundo múltiplas hierarquias sobrepostas. 46 Plano Conceitos As características de um Data Warehouse Algumas Arquiteturas Modelo de dados Esquema: Estrela ou Foco de Neve Abordagens para o desenvolvimento de um data warehouse Extração de informações do Data Warehouse Análise do uso da tecnologia Data Warehouse 47 Abordagens para o desenvolvimento de um data warehouse Estratégia evolucionária Aspectos de Modelagem Etapas do desenvolvimento de um data warehouse Relacional vs. multi-dimensional Um ou mais bancos de dados Granularidade Extração, Limpeza, Transformação e Migração • Extração, Transformação e Filtros, Incorporando Modificações, Derivação e Sumarização 48 Abordagens para o desenvolvimento de um data warehouse Estratégia evolucionária por assunto: • muitas empresas iniciam o processo a partir de uma área específica da empresa, que normalmente é uma área carente de informação e cujo trabalho seja relevante para os negócios da empresa, criando os chamados data marts (um data warehouse departamental), para depois ir crescendo aos poucos, seguindo uma estratégia assunto por assunto. por experimentação: • outra alternativa é selecionar um grupo de usuários, prover ferramentas adequadas, construir um protótipo do data warehouse, deixando que os usuários experimentem com pequenas amostras de dados. Somente após a concordância do grupo quanto aos requisitos e funcionamento, é que o data warehouse será de fato carregado com dados dos sistemas operacionais da empresa e dados externos. 49 Abordagens para o desenvolvimento de um data warehouse Aspectos de Modelagem • Os requisitos para um data warehouse não podem ser conhecidos até que ele esteja parcialmente carregado e já em uso. • Modelagem relacional (normalizada) não é apropriada. A alta fragmentação traz uma considerável complexidade à formulação de uma consulta por um usuário final 50 Abordagens para o desenvolvimento de um data warehouse Etapas do desenvolvimento de um data warehouse • • • • • • • a identidade das tabelas de fatos: a granularidade de cada tabela de fatos; as dimensões de cada tabela de fatos; os fatos pré-calculados; os atributos das dimensões; a acompanhamento das mudanças graduais em dimensões; as agregações, dimensões heterogêneas, mini-dimensões e outras decisões de projeto físico; • duração histórica do banco de dados; • a urgência com que se dá a extração e carga para o data warehouse. 51 A tabela de fatos e suas dimensões Exemplo 52 Abordagens para o desenvolvimento de um data warehouse Relacional vs. multi-dimensional • Quando utilizar um ou outro Um ou mais bancos de dados Granularidade • Qual a implicação de uma granularidade alta? • Qual a implicação de uma granularidade fina? Extração, Limpeza, Transformação e Migração • Extração, Transformação e Filtros, Incorporando Modificações, Derivação e Sumarização 53 Exercício Tabela tempo: ano, semestre, quadrimestre, trimestre, bimestre, mês, primeira semana, segunda semana, terceira semana, quarta semana, quinta semana, dia do mês, dia da semana, feriado, distância de um feriado. 54