Data Warehouse Banco de Dados II Prof. Dra. Carla Lanzotti Data Warehouse Representa uma base de dados capaz de integrar as informações de interesse da empresa, armazenadas em fontes externas ou em BD operacionais, para serem utilizadas nos sistemas de apoio à decisão, determinando padrões de comportamento, cenários e estratégias de negócio. Geralmente os dados não estão padronizados, e é necessário integrar antes de dar carga o DW. A utilização de DW nas empresas está relacionada à necessidade do domínio de informações estratégicas para garantir respostas e ações que assegurem a concorrência em um mercado competitivo e mutável. Esta possibilidade faz com que haja uma crescente aplicação de data warehouse em empresas de atividades distintas. Data Warehouse Willian Inmon (1992): Data Warehouse é uma coleção de dados orientada por assunto, integrada, variante no tempo e não volátil, que tem por objetivo dar suporte aos processos de tomada de decisão. Data Warehouse Orientada por assunto: os dados são organizados em temas específicos, importantes aos tomadores de decisão. A orientação por assunto nada mais é do que o direcionamento que se dá da visão que será disponibilizada, do negócio da empresa. Exemplo: Vendas, Produtos, Compras. Integrada: integra dados oriundos de sistemas distintos e os converte em dados para uma base única. Responsável por sincronizar os dados de todos os sistemas existentes na empresa, e colocá-los no mesmo padrão. Exemplo: Campo sexo, tamanho. Na fase de ETL (Extração, Transformação e Carga), todos os formatos são convertidos num único padrão, que é decidido com o usuário final e então carregado no DW. Data Warehouse Variante no tempo: os dados são temporais, ou seja, referem-se a um determinado período ou intervalo de tempo, não sendo modificados. É uma característica ímpar no DW. Ele sempre retrata a situação que estamos analisando, em um determinado ponto do tempo, e com isso é possível traçar uma análise histórica e comparativa entre os fatos. Não volátil: após a carga inicial dos dados no ambiente de data warehouse, os dados não são atualizados, ou seja, não podem ser alterados durante a execução do banco de dados. Novas informações podem ser inseridas no banco de dados apenas com uma nova carga. No DW acontecem somente cargas de dados e consultas, ou seja, há somente selects e inserts, e não há updates. Algumas diferenças DW BD Operacional Dados históricos - exibem tendência de comportamento Dados operacionais Dados integrados Dados dispersos Número Reduzido de Transações Grande número de Transações (frequentemente atualizado) Grande número de registros Número de registros variável Usuário: gerentes e executivos para tomada de decisões. Mas não há um padrão. Usuário: profissional operacional da empresa e está preocupado em executar as operações de modo eficiente. Analisa os dados Armazena dados Algumas Aplicações Uma das maiores redes de varejo dos Estados Unidos descobriu, que a venda de fraldas descartáveis estava associada à de cerveja. Em geral, os compradores eram homens, que saíam à noite para comprar fraldas e aproveitavam para levar algumas latinhas para casa. Os produtos foram postos lado a lado. Resultado: a venda de fraldas e cervejas disparou. O banco Itaú, pioneiro no uso de DW no Brasil, costumava enviar mais de 1 milhão de malas diretas para todos os correntistas. No máximo 2% deles respondiam às promoções. Hoje, o banco tem armazenada toda a movimentação financeira de seus 3 milhões de clientes nos últimos 18 meses. A análise desses dados permite que cartas sejam enviadas apenas a quem tem maior chance de responder. A taxa de retorno subiu para 30%. A conta do correio foi reduzida a 1/5. Algumas Aplicações • Uma empresa de telefonia detectou que quatro grandes clientes empresariais eram responsáveis por mais da metade das chamadas de manutenção. Um deles estava prestes a abandonar os serviços. A empresa fez reparos imediatos, convenceu o cliente a ficar e manteve uma receita anual de 150 milhões de dólares. • No Brasil, o Serpro, órgão responsável pelo processamento dos dados do governo federal, investiu 2 milhões no seu projeto de DW, desenvolvido com a Oracle. Só consolidou 5% de suas informações, possível fazer em cinco minutos cruzamentos de dados que antes demandavam quinze dias de trabalho. Granularidade A granularidade em um DW determina o nível de detalhamento das informações armazenadas. Quanto mais detalhadas as informações, menor é a granularidade do DW. A granularidade afeta o volume de informações armazenadas e os tipos de consultas que podem ser respondidas aos usuários: Quanto menor o nível de granularidade, mais informações serão armazenadas e, portanto, maior o detalhamento possível das consultas dos usuários; Quanto maior o nível de granularidade, menos informações serão armazenadas, permitindo maior rapidez nas respostas das consultas, porém limitando ao detalhamento das consultas; Exemplo de granularidade diferentes em um mesmo assunto Granularidade A definição da granularidade de dados é a etapa mais importante do projeto de um DW, porque ela afeta profundamente o volume de dados que reside no DW e, ao mesmo tempo, afeta o tipo de consulta que pode ser atendida. Devem-se definir níveis adequados de granularidade, de acordo com as necessidades do usuário (MACHADO, 2000). Abordagem Top down Abordagem Botton-up Modelo dimensional Modelo dimensional A modelagem dimensional é a técnica utilizada para se ter uma visão multidimensional dos dados. DW representado por um modelo multidimensional de dados, apresentando as informações na forma de cubos de dados; A modelagem é utilizada para sumarizar e reestruturar os dados e apresentá-los em visões que suportem a análise de seus valores. O modelo multidimensional possui três elementos básicos: fatos, dimensão e medidas; Fatos A tabela de fatos é a principal tabela de um modelo dimensional, na qual as medições numéricas de interesse da empresa estão armazenadas. A palavra fato é usada para representar uma medição de negócio, como quantidades, valores e indicadores. Fatos Chaves de Dimensão Medidas de Quantidade Dimensão A tabela de dimensão contém as descrições textuais do negócio. Seus atributos são fonte das restrições das consultas, agrupamento dos resultados, e cabeçalhos para relatórios. As dimensões são os aspectos pelos quais se pretende observar as métricas relativas ao processo que está sendo modelado. Dimensão Dimensões Contextos de um fato, ou seja, os elementos que participam da tabela fato; Tabelas periféricas com pouco volume de dados; Armazenam as descrições do negócio; Atributos: organizados em hierarquias Produto (Categoria Marca Descrição) Tempo (Ano Mês Dia_Do_Mês) Aspectos temporais Presença da dimensão tempo é obrigatória: análise das tendências Diferentes granularidades: ano, mês, semana, dia, hora. Exemplo: assunto “Vendas” Fato: venda; Dimensões: tempo (quando foi feita a venda), cliente, local, produto, vendedor; Medidas: quantidade de itens vendidos, valor total. Exemplos de consultas típicas de OLAP: Quais os produtos mais bem vendidos no mês passado? Quais os 10 piores vendedores dos departamentos da filial X? Qual a média salarial dos funcionários de informática na região sul nos últimos cinco anos? Técnicas de modelagem Esquema Estrela Esquema Snow Flake Esquema Estrela (Star Scheme) É a estrutura básica de um modelo de dados multidimensional • Composta por uma tabela central, denominada fato, e um conjunto de tabelas de dimensões, arranjadas ao redor da tabela central, formando uma estrela. A tabela de fatos é ligada às demais tabelas por múltiplas junções, enquanto as tabelas de dimensões se ligam à tabela central por uma única junção. Esquema Estrela (Star Scheme) Dimensão Dimensão Produto Revenda Fato Venda Dimensão Tempo Dimensão Cliente Esquema Estrela (Star Scheme) Esquema Floco de Neve (SnowFlake Scheme) •Extensão do Esquema Estrela. •Este modelo é o resultado da decomposição de uma ou mais dimensões que possuem hierarquias entre seus membros • Neste esquema, uma dimensão pode ser composta por mais de uma tabela de dimensão. Esquema Floco de Neve (SnowFlake Scheme) Esquema Floco de Neve (SnowFlake Scheme) Cubo de dados Cubo Multidimensional Cubo de dados é uma estrutura multidimensional que expressa a forma na qual os tipos de informações se relacionam entre si. É formado pela tabela de fatos e pelas tabelas de dimensão que a circundam e representam possíveis formas de visualizar e consultar os dados. O cubo armazena todas as informações relacionadas a um determinado assunto, de maneira a permitir que sejam montadas várias combinações entre elas, resultando na extração de várias visões sobre o mesmo tema (HOKAMA et al. 2004, p. 49). Cubo Multidimensional A visualização do modelo multidimensional é feita através de um cubo com cada uma das dimensões representadas como uma face. Várias dimensões podem ser usadas simultaneamente; Dados são manipulados mais rapidamente e facilmente (agregação em níveis de hierarquia); Uma unidade de dados é representada em cada célula do cubo, localizada através da interseção das dimensões. Cubo Multidimensional Cubo Multidimensional Uma unidade de dados é representada em cada célula do cubo, localizada através da interseção das dimensões. Como representar as dimensões no cubo? Produto AAAA AAAA AAAA BBBB BBBB BBBB CCCC CCCC CCCC DDDD DDDD DDDD AAAA AAAA AAAA BBBB BBBB BBBB CCCC CCCC CCCC DDDD DDDD DDDD Loja F01 F02 F03 F01 F02 F03 F01 F02 F03 F01 F02 F03 F01 F02 F03 F01 F02 F03 F01 F02 F03 F01 F02 F03 Tempo 1999 1999 1999 1999 1999 1999 1999 1999 1999 1999 1999 1999 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 Vendas 50 60 100 40 70 80 90 120 140 20 10 30 50 60 100 40 70 80 90 120 140 20 10 30 2000 1999 AAAA BBBB CCCC DDDD F01 F02 F03 Qual o total de vendas do produto AAAA? 2000 1999 AAAA BBBB CCCC DDDD F01 F02 F03 Qual o total de vendas do em 1999? 2000 1999 AAAA BBBB CCCC DDDD F01 F02 F03 Qual o total de vendas do produto BBBB no ano de 1999 e na loja F2? 2000 1999 AAAA BBBB CCCC DDDD F01 F02 F03 Operações que podem ser realizadas com o cubo Drill-down e roll-up: técnicas que possibilitam caminhar pela estrutura multidimensional (hierarquias), permitindo ver diferentes níveis de dados. •Drill-down: aumenta o nível de detalhamento de uma dimensão; •Roll-up: diminui o nível de detalhamento de uma dimensão; Operações que podem ser realizadas com o cubo Slice e Dice: técnicas que fatiam o cubo, permitindo restringir a análise aos dados, sem inversão de eixos. “Semelhante” a cláusula WHERE de SQL. Slice: fatia o cubo Operações que podem ser realizadas com o cubo Rotação Técnica que gira o cubo, permitindo ter diferentes visões dos dados 4 3 2 2 3 4x2x3 4 4 3x2x4 3 2 4x3x2