Data Warehouse Banco de Dados II Prof. Dra. Carla Lanzotti.

Post on 07-Apr-2016

224 views 5 download

Transcript of Data Warehouse Banco de Dados II Prof. Dra. Carla Lanzotti.

Data Warehouse

Banco de Dados IIProf. 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çasDW BD Operacional

Dados históricos - exibem tendência

de comportamento

Dados operacionais

Dados integrados Dados dispersosNúmero Reduzido de Transações Grande número de Transações

(frequentemente atualizado)Grande número de registros Número de registros variávelUsuá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 EstrelaEsquema 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.

Dimensão

Produto

Dimensão

Tempo

Dimensão

Revenda

Dimensão

Cliente

Fato

Venda

Esquema Estrela (Star Scheme)

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 MultidimensionalCubo 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?

DDDD F03 2000 30

Produto Loja Tempo VendasAAAA F01 1999 50AAAA F02 1999 60AAAA F03 1999 100BBBB F01 1999 40BBBB F02 1999 70BBBB F03 1999 80CCCC F01 1999 90CCCC F02 1999 120CCCC F03 1999 140DDDD F01 1999 20DDDD F02 1999 10DDDD F03 1999 30AAAA F01 2000 50AAAA F02 2000 60AAAA F03 2000 100BBBB F01 2000 40BBBB F02 2000 70BBBB F03 2000 80CCCC F01 2000 90CCCC F02 2000 120CCCC F03 2000 140DDDD F01 2000 20DDDD F02 2000 10DDDD F03 2000 30

Produto Loja Tempo VendasAAAA F01 1999 50AAAA F02 1999 60AAAA F03 1999 100BBBB F01 1999 40BBBB F02 1999 70BBBB F03 1999 80CCCC F01 1999 90CCCC F02 1999 120CCCC F03 1999 140DDDD F01 1999 20DDDD F02 1999 10DDDD F03 1999 30AAAA F01 2000 50AAAA F02 2000 60AAAA F03 2000 100BBBB F01 2000 40BBBB F02 2000 70BBBB F03 2000 80CCCC F01 2000 90CCCC F02 2000 120CCCC F03 2000 140DDDD F01 2000 20DDDD F02 2000 10DDDD F03 2000 30

Produto Loja Tempo VendasAAAA F01 1999 50AAAA F02 1999 60AAAA F03 1999 100BBBB F01 1999 40BBBB F02 1999 70BBBB F03 1999 80CCCC F01 1999 90CCCC F02 1999 120CCCC F03 1999 140DDDD F01 1999 20DDDD F02 1999 10DDDD F03 1999 30AAAA F01 2000 50AAAA F02 2000 60AAAA F03 2000 100BBBB F01 2000 40BBBB F02 2000 70BBBB F03 2000 80CCCC F01 2000 90CCCC F02 2000 120CCCC F03 2000 140DDDD F01 2000 20DDDD F02 2000 10

19992000

19992000

19992000

AAAA

BBBB

CCCC

DDDD

F01 F02 F03

AAAA

BBBB

CCCC

DDDD

F01 F02 F03

AAAA

BBBB

CCCC

DDDD

F01 F02 F03

Qual o total de vendas do produto AAAA?

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

Qual o total de vendas do em 1999?

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDD

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

Qual o total de vendas do produto BBBB no ano de 1999 e na loja F2?

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDDF01 F02 F03

19992000

AAAA

BBBB

CCCC

DDDD

19992000

AAAA

BBBB

CCCC

DDDDF01 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çãoTécnica que gira o cubo, permitindo ter diferentes visões dos

dados

4

2

34 x 2 x 3

4

2

34 x 2 x 3

3

2

43 x 2 x 4

3

2

43 x 2 x 4

4

3

24 x 3 x 2

4

3

24 x 3 x 2