• Nenhum resultado encontrado

Banco de Dados Multidimensionais (Data Warehouse e OLAP)

N/A
N/A
Protected

Academic year: 2022

Share "Banco de Dados Multidimensionais (Data Warehouse e OLAP)"

Copied!
51
0
0

Texto

(1)
(2)

Integração de Dados e DW

Banco de Dados Multidimensionais (Data Warehouse e OLAP)

Por:

Robson do Nascimento Fidalgo

rdnf@cin.ufpe.br

(3)

Sistemas de Suporte à Decisão

• Sistemas de Suporte a Decisão (SSD)

Permitem armazenar e analisar grandes volumes de dados para extrair informações que auxiliam a compreensão do

comportamento dos dados

• Armazenar DW

• Analisar Relatórios, OLAP, Mineração e SIG

São sistemas computacionais que integram dados oriundos de diversas fontes, devem ser de uso amigável e com

grande poder analítico

(4)

Suporte à Decisão X Operacional

• Diferem de sistemas de suporte operacional, pois:

Operacional → orientado por transação

• Ex: o produto vendido, o artigo publicado, o imposto predial pago

Decisão → orientado por assunto

• Ex: Vendas, Publicações de Artigos, Gerenciamento Urbano

• Dividir os dados em dois ambientes ortogonais

Operacional (normalmente já existe)

Estratégico (construir um DW)

(5)

Banco de Dados Avançado

Data Ware hous e

(6)

Data Warehouse

• Data Warehouse (DW)

Segundo Inomn, o DW é uma base de dados para facilitar a execução de consultas de apoio à decisão, onde suas principais características são :

Orientada ao assunto: pois o objetivo é tomar decisões sobre o

"assunto” - tema dos dados.

Perfeitamente integrada: pois deve consolidar dados de diferentes origens

Variante no tempo: pois deve-se manter um histórico dos dados, permitindo comparações ao longo do tempo

Não volátil: pois as informações já presentes no banco são

raramente modificadas (sobrescrita).

(7)

Data Warehouse & Data Mart

• Data Warehouse (DW)

BD otimizado para processamento de consulta complexas (Modelo Estrela ou Flocos de Neve)

Objetivo: fornecer uma "imagem global da realidade do negócio".

• Data Mart (DM)

O que é ?

• É um DW departamental (específico a um assunto/negócio)

• Subconjunto do DW que satisfaz os requisitos de uma atividade de negócio

Benefício ?

• Tempo/dificuldade de implantação minimizado

Restrição ?

• Requerem planejamento prévio, para evitar ilhas de dados.

(8)

DW & Data Warehousing

• Data Warehouse (DW) = Dados armazenados.

• Data Warehousing = Processo de construção do DW.

Data Warehousing é uma estratégia para armazenar e manipular dados estratégicos, separadamente dos

operacionais, de forma a subsidiar a tomada de decisões Data

Data Warehousing Warehousing

DW

Estrela ou F. Neve

BD Op. BD

Op. BD Op. BD

Op.

→ →

→ →

DM DM DM

DM DM

DM DM

OLAP

Data Mining Relatórios

Metadados produzidos em todas as etapas ETL

Extract

Transform

Load

→ →

Operational

ODS

Data Store

(9)

ETL e ODS

• Ferramentas de ETL

Responsáveis pela conversão dos dados do ambiente operacional para o de suporte à decisão

Realizam Acesso, Extração, Transformação, Validação e Carga dos dados

• Operational Datastore (ODS)

Repositório de dados intermediário Benefícios

• Otimiza a criação do DW

• Possibilita a realização de consultas relacionais sobre dados

históricos

(10)

Arquiteturas de Data Warehousing

• Data Warehousing (Top-Down).

Visão do DW corporativo

• Grande abrangência

• Complexo/Custoso/Demorado

• Alta probabilidade de insucesso

Só pode ser avaliado quando terminado.

DW → → → →

DM DM DM

Data

Data Warehousing Top Warehousing Top - - Down Down

→ →

→ → → → → →

BD Op. BD

Op. BD Op. BD

Op.

→ → →

OLAP

Data Mining Relatórios

Metadados produzidos em todas as etapas ETL

Extract

Transform

Load

→ →

→ →

Operational

ODS

Data Store

(11)

Arquiteturas de Data Warehousing

• Data Warehousing (Botton-Up).

Visão do DW Departamental

• Foco específico nos aspectos mais críticos

• -Complexo/-Custoso/-Demorado

• Alta probabilidade de ilhas de dados

Pode acontecer dos DM não se integrarem.

Data

Data Warehousing Botton Warehousing Botton - - Up Up

→ →

→ → → → → →

BD Op. BD

Op. BD Op. BD

Op.

→ → →

OLAP

Data Mining Relatórios

ETL

Extract

Transform

Load

→ →

→ →

Operational

ODS

Data Store

→ →

DM DM DM

DW

(12)

Arquiteturas de Data Warehousing

• Data Warehousing (Abordagem corrente).

Visão do DW Incremental

• Planejar Top-Down

• Desenvolver Botton-Up

• ODS Histórico

DW

Data

Data Warehousing Botton Warehousing Botton- -Up Up

→ → → → →

BD Op. BD

Op. BD Op. BD

Op.

→ →

OLAP

Data Mining Relatórios

Metadados produzidos em todas as etapas ETL

Extract

Transform

Load

Operational

ODS

Data Store

→ → →

DM

DM

DM

(13)

• Modelagem = processo de abstração da realidade

• Modelo ER

Usado para identificar relacionamentos entre tipos de entidades Visa remover a redundância de dados

Processamento de Transações On-Line (OLTP)

• Modelo Dimensional

Apresenta dados em uma estrutura intuitiva permitindo alta performance de acesso

Independe da representação física dos dados

Organiza dados em tabelas de fatos e dimensões Processamento Analítico On-Line (OLAP)

Modelagem de Dados

(14)

Modelagem Dimensional

Geográfica

Geográfica ProdutoProduto TempoTempo Und.Und. $$

Tabelas de Dimensão Tabelas de

Dimensão

Geográfica Geográfica Geográfica

Produto Produto Produto

Tempo Tempo Tempo

Tabela Fatos

Medidas Medidas

FatosFatos Fatos DimensãoDimensão

Dimensão

Componentes de Modelagem Dimensional

(15)

Tabelas de fatos e de dimensões

• As tabelas de Dimensões

Tabelas periféricas com pouco volume de dados

Seus atributos armazenam as descrições do negócio.

• Ex: Categoria (Bebida), Tipo (refrigerante), Ano (2000)

Atributos tendem a ser organizados em hierarquias

• EX: Produto (Categoria → Marca → Descrição)

• Loja (Tipo → Endereço → Nome_Loja)

• Tempo (Ano → Mês → Dia_Do_Mês)

• O menor nível hierárquico define o grão do DW

É normalmente desnormalizada (esquema estrela)

(16)

Fatos e dimensões

• A tabela de Fatos

Tabela central com grande volume de dados

Armazena as medições numéricas do negocio (fatos) e as FK para as dimensões

As melhores medidas são numéricas e aditivas:

• EX: Vendas

(R$)

, Vl_unitário

(R$)

, Despesas

(R$)

, QtdVendida

• Temperatura não é um bom fato!

(17)

Fatos e dimensões

• A tabela de Fatos

Quando um dado numérico é medida ou atributo ?

• Medida ⇒ varia continuamente a cada amostragem

Ex: Quantidade vendida de um produto

• Atributo ⇒ praticamente constante

Ex: Peso de um produto

Cada fato é a interseção entre as dimensões relacionadas

Tabelas de fatos são esparsas

(18)

Modelos Dimensionais do DW

Tabela Fato Tabela Dimensão

Dim_Tempo Dim_Tempo Dim_Tempo

Chave_Tempo Chave_Tempo

Data. ..

Data. ..

Fato_Vendas Fato_Vendas

Chave_Tempo Chave_Empregado Chave_Produto Chave_Cliente Chave_Entregador Chave_Tempo Chave_Empregado Chave_Produto Chave_Cliente Chave_Entregador

Data_Requerida

. . .

Data_Requerida

. . .

Dim_Funcionario Dim_FuncionarioDim_Funcionario

Chave_Funcionario Chave_Funcionario

Codigo_Funcionario

.. .

Codigo_Funcionario

.. .

Dim_Produto Dim_ProdutoDim_Produto Chave_Produto Chave_Produto

Codigo_Produto ..

.

Codigo_Produto ..

.

Dim_Cliente Dim_ClienteDim_Cliente

Chave_Cliente Chave_Cliente

Codigo_Cliente

.. .

Codigo_Cliente

.. . Dim_Entregador

Dim_EntregadorDim_Entregador

Chave_Entreegador Chave_Entreegador

Codigo_Entregador

.. .

Codigo_Entregador

.. .

• O esquema estrela (Star)

(19)

Modelos Dimensionais do DW

Tabelas-Dimensão Secundárias Tabelas-Dimensão Secundárias

Fato_Vendas Fato_Vendas

Chave_Tempo Chave_Funcionario Chave_Produto Chave_Cliente Chave_Entregador Chave_Tempo Chave_Funcionario Chave_Produto Chave_Cliente Chave_Entregador

RequiredDate

.. .

RequiredDate

.. .

MarcaProduto MarcaProduto MarcaProduto

CodigoMarca CodigoMarca

CodigoCategoria CodigoCategoria

Categoria Categoria Categoria

CodigoCategoria CodigoCategoria NomeNome

Dim_Produto Dim_Dim_ProdutoProduto

Chave_Produto Chave_Produto NomeNome

Tamanho Tamanho

CodigoMarca CodigoMarca

Tabela-Dimensão Principal

• O esquema Flocos de Neve (Snowflake)

Normalizar as dimensões

Kimball aconselha, devido a

complexidade desta estrutura, não

transformar o esquemas estrela em

esquemas floco de neve (o ganho

(20)

Escolhendo um schema

Star Star

Star Snowflake Snowflake Snowflake Clareza

Clareza + fácil + fácil + difícil + difícil Número de tabelas

Número de tabelas < < > >

Complexidade de consultas

Complexidade de consultas + simples + simples + complexo + complexo Performance de consulta

Performance de consulta + rápido + rápido + lento + lento

(21)

Lo ja Tempo

P r o d u t o

categoria marca descrição

tipo

endereço nome_loja ano

mes

• O cubo multidimensional

É uma abordagem multidimensional (metáfora) para visualização e organização dos dados

Várias dimensões podem ser usadas simultaneamente Os dados são manipulados mais rapidamente e

facilmente (agregação em níveis de hierarquia)

Abstração do DW

(22)

Dimensão Tempo

Chave_Tempo Mes

Trimestre Ano

^ Tempo

Produto

∨ ∨ ∨

^ ^

∨ ∨

∨ ∨

∨ ∨

∨ ∨

1996

1997

Trim1/96

Trim2/96 Trim3/96 Trim4/96

Janeiro Fevereiro

Março

Cubo Multidimensional

Agregação em Níveis de Hierarquias

(23)

Como representar as dimensões no cubo?

Produto Loja Vendas AAAA F01 50 AAAA F02 60

AAAA 100

BBBB 40

BBBB 70

BBBB 80

CCCC 90

CCCC 120

CCCC 140

DDDD 20

DDDD 10

DDDD 30

F01

F01

F01 F02

F02

F02 F03

F03

F03

F03

AAAA BBBB CCCC DDDD

F01 F02 F03

Cubo Multidimensional

(24)

Como representar as dimensões no cubo?

Produto Loja Vendas AAAA F01 50 AAAA F02 60

AAAA 100

BBBB 40

BBBB 70

BBBB 80

CCCC 90

CCCC 120

CCCC 140

DDDD 20

DDDD 10

DDDD 30

F01

F01

F01 F02

F02

F02 F03

F03

F03

F03

Produto Loja Tempo Vendas AAAA F01 1999 50 AAAA F02 1999 60 AAAA F03 1999 100

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

BBBB F01 2000 40 BBBB F02 2000 70 BBBB F03 2000 80 CCCC F01 2000 90 CCCC F02 2000 120 CCCC F03 2000 140 DDDD F01 2000 20 DDDD F02 2000 10

1999 2000 AAAA BBBB CCCC DDDD

F01 F02 F03

Cubo Multidimensional

(25)

1999 2000 AAAA

BBBB CCCC DDDD

1999 2000 AAAA

BBBB CCCC DDDD

Qual o total de vendas do produto AAAA?

Exemplo de Consultas

Cubo Multidimensional

(26)

1999

2000 AAAA

BBBB CCCC DDDD

F01 F02 F03 1999

2000 AAAA

BBBB CCCC DDDD

F01 F02 F03

Qual o total de vendas da loja F03?

Exemplo de Consultas

Cubo Multidimensional

(27)

Qual o total de vendas do ano 1999?

1999

2000 AAAA

BBBB CCCC DDDD

1999

2000 AAAA

BBBB CCCC DDDD

Exemplo de Consultas

Cubo Multidimensional

(28)

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

1999 2000 AAAA

BBBB CCCC DDDD

F01 F02 F03 1999 2000

AAAA BBBB CCCC DDDD

F01 F02 F03 Exemplo de Consultas

Cubo Multidimensional

(29)

Banco de Dados Avançado

OLA P

(30)

• O que é OLAP (On-Line Analytical Processing)?

Conjunto de tecnologias projetadas para analisar dados típicos de suporte à decisão que estão no DW

Fornece dados em alto nível (totais,medias,min..) Acessa vários registros

Tem alta performance e consultas fáceis e interativas Lida com dados históricos (dimensão temporal)

Oferece visões multidimensionais (perspectivas)

OLAP

(31)

• O que é OLAP ? (Cont.)

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 5 anos?

OLAP

(32)

OLTP

• O que é OLTP (On-Line Transaction Processing)?

Conjunto de tecnologias projetadas para analisar e acessar dados típicos de suporte operacional

• Exemplos de consultas típicas de OLTP:

Qual o produto mais vendido?

Qual o pior vendedor?

Qual o total de vendas?

Qual a média salarial dos funcionários?

(33)

OLAP X OLTP

Características Ope racional Estratégico

Objetivo Op. diárias do negócio Análisar o negócio Visão dos dados Relacional Dimensiona l

Op. com os dados Incl., Alt, Exc l e Cons. Carga e Consulta Atualização Contínua (tempo real) Periódica (Bach)

N

o

de usuários Milhares Dezenas

Tipo de usuário Operacional Gerencial

Interação c/ usuário Pré-definida Pré-definida e ad-hoc Granularidade dos dados Detalhados Detalhados e Resumos Redundância dos dados Não ocorre Ocorre

Volume dos dados Megabytes-Gigabytes Gigabytes-Terabytes Histórico dos dados Até a última atualização 5 a 10 anos

Acesso a registro Dezenas Milhares

OLAP

Características OLTP

(34)

Arquiteturas OLAP

• Relacional OLAP = ROLAP

• Multidimensional OLAP = MOLAP

• Híbrido OLAP = HOLAP

• ROLAP

Utiliza BD relacional para fazer análise dos fatos Utiliza SQL para Manipula os dados de forma

multidimensional

Lida com fatos atômicos assim como sumarizados.

Trabalha em ambientes dinâmicos e muitas dimensões

(35)

Arquiteturas OLAP

• ROLAP

Data Warehouse ou Data Mart

Data Warehouse ou Data Mart

Dados ROLAP Dados ROLAP Dados ROLAP

Agregações ROLAP Agregações

AgregaçõesROLAPROLAP

SGBDSGBD

Agregações são armazenadas em tabelas relacionais

Dados-base são mantido no SGBD-fonte

Estrutura totalmente relacional.

Data Warehouse ou Data Mart

Data Warehouse ou Data Mart

Dados ROLAP Dados ROLAP Dados ROLAP

Agregações ROLAP Agregações

AgregaçõesROLAPROLAP Dados ROLAP

Dados ROLAP Dados ROLAPDados ROLAPDados ROLAP Dados ROLAP

Agregações ROLAP Agregações

AgregaçõesAgregaçõesAgregações ROLAPROLAPROLAP AgregaçõesROLAPROLAP

SGBDSGBDSGBD SGBD

Agregações são armazenadas em tabelas relacionais

Dados-base são mantido no SGBD-fonte

Estrutura totalmente relacional.

(36)

• MOLAP

Utiliza MDDB proprietários (com matrizes n-

dimensionais) para manipular fatos agregados Principal premissa

• Armazenar de forma multidimensional para visualizar de forma multidimensional

Desvantagens

• Não manipula fatos atômicos

• Não trabalha com muitas dimensões

• Não gerencia um grande volume de fatos

Arquiteturas OLAP

(37)

MOLAP

Data Warehouse ou Data Mart

Data Warehouse ou Data Mart

SGBDSGBD

Cubo

Cubo

Dados MOLAP Agregações

MOLAP

Armazena cópia da tabela fato e dimensões

Armazena agregações

Data Warehouse ou Data Mart

Data Warehouse ou Data Mart

SGBDSGBD

Data Warehouse ou Data Mart

Data Warehouse ou Data Mart

SGBDSGBDSGBD SGBD

Cubo

Cubo

Dados MOLAP Agregações

MOLAP

Armazena cópia da tabela fato e dimensões

Armazena agregações

Cubo

Cubo

Dados MOLAP Agregações

MOLAP

Armazena cópia da tabela fato e dimensões

Armazena agregações

Arquiteturas OLAP

(38)

• HOLAP

Mistura de MOLAP com ROLAP

Suporta manipulação de fatos atômicos e agregados Utiliza MDDB para analisar os fatos agregados

Utiliza SQL para manipular fatos atômicos

É mais complexo para administrar e implementar

Arquiteturas OLAP

(39)

HOLAP

Data Warehouse ou Data Mart Data Warehouse ou Data Mart

Dados ROLAP Dados ROLAP Dados ROLAP

SGBDSGBD

Cubo Cubo

Agregações MOLAP

Dados-base mantidos no BD fonte

Agregações calculadas e armazenadas no cubo

Data Warehouse ou Data Mart Data Warehouse ou Data Mart

Dados ROLAP Dados ROLAP Dados ROLAPDados ROLAPDados ROLAP Dados ROLAPDados ROLAPDados ROLAP Dados ROLAP

SGBDSGBDSGBD SGBD

Cubo Cubo

Agregações MOLAP

Dados-base mantidos no BD fonte

Agregações calculadas e armazenadas no cubo

Arquiteturas OLAP

(40)

Resumo sobre as Arquiteturas

Armazenamento Armazenamento Armazenamento

Dados de base Dados de base

Agregações Agregações

MOLAP MOLAP MOLAP

CuboCubo

CuboCubo

HOLAP HOLAP HOLAP

Tabela Relacional

Tabela Relacional

CuboCubo

ROLAP ROLAP ROLAP

Tabela Relacional

Tabela Relacional

Tabela Relacional

Tabela Relacional

Perspectiva do Cliente Perspectiva

Perspectiva do do ClienteCliente MOLAPMOLAPMOLAP HOLAPHOLAPHOLAP ROLAPROLAPROLAP

Performance de consulta Performance de consulta

Consumo em disco Consumo em disco

Manutenção do cubo Manutenção do cubo

Imediato Imediato

AltoAlto

AltoAlto

Mais rápido Mais rápido

Médio Médio

Médio Médio

Rápido Rápido

Baixo Baixo

Baixo Baixo

Arquiteturas OLAP

(41)

• Conclusão sobre as Arquiteturas

ROLAP é mais flexível e mais geral

MOLAP é para soluções específicas ou departamentais HOLAP é supostamente a tendência

Arquiteturas OLAP

(42)

Desempenho x Armazenamento

BD1

B D 1

Tempo de Resposta Calcular os agregados no momento

da recuperação ou armazená-los?

Quanto maior o número de agregados, melhor o

desempenho e mais dados para serem armazenados

e gerenciados!

(43)

Desempenho x Armazenamento

BD1

B D 1 BD2

B D 2

Tempo de Resposta Calcular os agregados no momento

da recuperação ou armazená-los?

Quanto maior o número de agregados, melhor o

desempenho e mais dados para serem armazenados

(44)

Desempenho x Armazenamento

BD1

B D 1 BD2

B D 2 BD3

B D 3 Tempo de Resposta Calcular os agregados no momento

da recuperação ou armazená-los?

Quanto maior o número de agregados, melhor o

desempenho e mais dados para serem armazenados

e gerenciados!

(45)

Desempenho x Armazenamento

BD1

B D 1 BD2

B D 2 BD3

B D 3 BD4

B D 4 Tempo de

Resposta Calcular os agregados no momento

da recuperação ou armazená-los?

Quanto maior o número de agregados, melhor o

desempenho e mais dados para serem armazenados

(46)

Principais Operações OLAP

• Drill Down e Rolll Up (ou Drill Up)

Técnica que possibilita caminhar pela estrutura multidimensional (hierarquias), permitindo ver diferentes níveis de detalhes

Drill Down Drill Down Drill

Drill /Roll Up / Roll Up

50.000 Clientes 50.000 Clientes

500 Cidades 500 Cidades 50 Estados 50 Estados 5 Regiões 5 Regiões

1 Total

1 Total

(47)

Principais Operações OLAP

• Drill Down e Roll Up (ou Drill Up)

Drill Down Drill Down

Drill Up Drill Up

Loja Vendas F01 200 F02 260 F03 350

Loja Tipo Vendas

F01 Luxo 50

Popular 40 Padrão 90 Franquia 20

F02 Luxo 60

Popular 70 Padão 120 Franquia 10

F03 Luxo 100

Popular 80 Padrão 140

200

260

350

(48)

• Rotação

Técnica que gira o cubo, permitindo diferentes visões dos dados

4

2

3 4 x 2 x 3

3

2

4 3 x 2 x 4

4

3

2 4 x 3 x 2

Principais Operações OLAP

(49)

• Slice and Dice

Técnica que fatia o cubo, permitindo restringir a análise aos dados, sem inversão de eixos

“Semelhante” a cláusula WHERE de SQL

4

2

3

4

2

2

2

2

3

Principais Operações OLAP

(50)

• DW e OLAP

Grupo de DW da UFRJ

(http://genesis.nce.ufrj.br/dataware/)

Data Warehouse Brasil (http://www.dwbrasil.com.br/) Artigos de Kimball

(http://www.ralphkimball.com/html/articles.html) Data Warehousing Institute

(http://www.dw-institute.com/) OLAP Report

(http://www.olapreport.com/)

Referências

(51)

Banco de Dados

Fernando Fonseca

&

Robson Fidalgo

Referências

Documentos relacionados

As tensões verticais obtidas pela aplicação dos carregamentos da combinação Não Usual Estática são apresentadas na Figura 44. Na região central superior do

Segundo os auditores entrevistados, os problemas que mais ocorrem durante uma auditoria são: falta de informação adequada fornecida à auditada; tempo insuficiente atribuído

[r]

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

Marca Vendedor Veículo Ford João Carro Ford João Caminhão Ford Mário Caminhão Fiat Mário Carro Chevrolet Felipe Carro Chevrolet João Carro Chevrolet João

Membro_Faculdade (Matrícula: Inteiro, Nome: string[50], Carga: Inteiro, IniContrato: data, Curso: string[30], professor: booleano, aluno: booleano). Membro

Atividades enquadradas como projetos especiais de empreendimento de impacto, conforme arts.. Comércio Atacadista Comércio Varejista Prestação

Factors associated with complete or incomplete outcome of the examination with capsule endoscopy were: associated comorbidities, Crohn’s disease, previous abdominal surgery and