Upload
jean-valdir
View
219
Download
0
Embed Size (px)
Citation preview
DATA WAREHOUSE
Profa Marilde Terezinha Prado Santos
Universidade Federal de So CarlosDepartamento de ComputaoCurso de Ps-Graduao Lato-Sensu emComputao
0
Apostila originalmente organizada por:
Profa. Marina Teresa Pires Vieira Prof. Joaquim Cezar Felipe
1
1. INTRODUO.............................................................................................................................................3
2. CONCEITOS BSICOS...............................................................................................................................6
2.1. Data Warehouse.................................................................................................................................62.2. Data Warehousing..............................................................................................................................62.3. Aplicaes sobre o DW para tomada de deciso...............................................................................82.4. Caractersticas de Data Warehouses.................................................................................................92.5. Arquitetura do Data Warehousing...................................................................................................112.6. Data Mart (DM)...............................................................................................................................12
3. MODELAGEM DE DADOS PARA DW..................................................................................................14
3.1. Modelo de dados multi-dimensional................................................................................................143.2. Consultas OLAP...............................................................................................................................183.2.1. Agregao......................................................................................................................................193.2.2. Roll-up...........................................................................................................................................203.2.2. Drill-down.....................................................................................................................................203.2.4. Pivot...............................................................................................................................................213.2.5. Comparando com consultas SQL..................................................................................................22
4. PROJETO DO DATA WAREHOUSE.....................................................................................................24
4.1. Esquema Estrela...............................................................................................................................244.2. Esquema Snowflack..........................................................................................................................264.3. Constelao de Fatos.......................................................................................................................284.3. Vises Materializadas......................................................................................................................284.4. Construindo um Data Warehouse....................................................................................................304.5. Resumindo as Funcionalidades Tpicas de Data Warehouses.........................................................334.6. Consideraes Finais.......................................................................................................................344.6.1. Data warehousing e Vises...........................................................................................................344.6.2. Dificuldades na Implementao de Data Warehouses..................................................................35
5. SERVIDORES OLAP.................................................................................................................................37
5.1. Servidores ROLAP............................................................................................................................375.2. Servidores MOLAP...........................................................................................................................385.3. Servidores HOLAP...........................................................................................................................385.4. On-Line Analytical Mining (OLAM)................................................................................................39
APNDICE A..................................................................................................................................................41
ESTUDO DE CASO 1 Criao de um Data Mart...............................................................................41
APNDICE B...................................................................................................................................................47
ESTUDO DE CASO 2 Cubo Multidimensional e OLAP......................................................................47
Bibliografia.......................................................................................................................................................55
2
1. Introduo
Os recursos tecnolgicos de hardware e software, oferecidos nos ltimos
anos, para o armazenamento, manuteno e compartilhamento de dados tm
permitido aos usurios de banco de dados (empresas, pesquisadores e rgos
governamentais) manter quantidades de informaes cada vez maiores em suas
bases de dados. Esse grande volume de dados excede a capacidade humana de
anlise e compreenso, mesmo utilizando mtodos como planilhas eletrnicas e
ambientes de consulta ad hoc. Isso motivou o grande investimento em pesquisa,
que vem ocorrendo, relacionada s tecnologias envolvidas em data warehousing.
Data Warehousing e On-Line Analytical Processing (OLAP) surgiram como
elementos essenciais de apoio deciso, atraindo ateno cada vez maior da
indstria de bancos de dados. Data Warehousing uma coleo de tecnologiasde apoio deciso, voltadas a capacitar o usurio a realizar tomadas de deciso
mais rpidas e precisas. O produto da aplicao dessas tecnologias o Datawarehouse, uma base de dados temporais, no volteis e integrados, tipicamentemantida separadamente da base de dados operacionais da empresa. Para
facilitar anlises e visualizaes complexas, os dados em um warehouse so
modelados de forma multi-dimensional, onde cada elemento de importncia
relevante corresponde a uma dimenso (por exemplo, produto, tempo e regio
num warehouse de vendas). Essas dimenses podem ser organizadas em
hierarquias (por exemplo, produto - tipo - categoria) a fim de permitir diferentes
nveis de agregao durante a anlise.
OLAP (on-line analytical processing) um conjunto de operaes quepodem ser executadas sobre o Data Warehouse, a fim de viabilizar a extrao
eficaz de informaes do mesmo. Os requisitos funcionais e de desempenho
dessas operaes so totalmente diferentes do processamento de transaes on-
line (OLTP on-line transaction processing) das aplicaes tradicionalmentesuportadas pelas bases de dados operacionais.
3
Aplicaes OLTP tipicamente automatizam tarefas de processamento dedados tais como transaes bancrias e de processamento de pedido que so
operaes rotineiras de uma organizao. Essas tarefas so estruturadas e
repetitivas e consistem de transaes curtas, atmicas e isoladas. As transaes
requerem dados detalhados, atualizados e realizam operaes de leitura e escrita
envolvendo alguns (poucos) registros tipicamente acessados atravs de suas
chaves primrias. O tamanho das bases de dados operacionais geralmente varia
de centenas de megabytes a gigabytes. Aspectos crticos a considerar so a
consistncia e recuperao da base de dados e a mtrica de desempenho chave
maximizar o throughput das transaes. Consequentemente, o banco de dados
projetado para refletir a semntica operacional de aplicaes conhecidas e, em
particular, para minimizar conflitos de concorrncia.
Data warehouses, em contraste, so totalmente distintos de bancos de
dados tradicionais em sua estrutura (so estruturados para suporte deciso),
funcionamento, desempenho e propsito. Dados histricos, sumarizados e
consolidados so mais importantes do que registros individuais detalhados.
Alm dos recursos para tomada de deciso oferecidos pela tecnologia
OLAP, existem tambm tcnicas e ferramentas "inteligentes", com o objetivo de
fazer emergir, automaticamente, padres e regras de relacionamento entre os
dados, na busca do conhecimento intrnseco aos mesmos. Essas tcnicas e
ferramentas so objeto de estudo de uma linha de pesquisa que aborda o
chamado processo de extrao de conhecimento de Bases de Dados (Knowledge
Discovery in Databases - KDD). Uma etapa desse processo de KDD a de
aplicao de mtodos de Data Mining, que consiste na aplicao de algoritmos
especficos sobre uma base de dados, com o objetivo de produzir uma srie
particular de padres e regras que relacionem os dados da base de dados.
Resumindo, para a obteno de informaes contidas em um warehouse
tem-se um conjunto de ferramentas de anlise e explorao dos dados, utilizando
consultas em SQL , consultas OLAP e tcnicas de data mining. Consultas SQL
so construdas baseadas na lgebra relacional, com algumas extenses; OLAP
fornece idiomas de consulta de nvel mais alto com base no modelo de dados
4
multi-dimensional e data mining fornece operaes de anlise mais abstratas.
Nos prximos captulos so tratados os principais conceitos, questes e
tecnologia envolvidos com Data Warehouse, procurando focalizar os vrios
aspectos envolvidos nessa abordagem.
5
2. Conceitos Bsicos
2.1. Data Warehouse
Data warehouses tm sido desenvolvidos nas organizaes para resolver
necessidades particulares, com enfoques variados, no possuindo, portanto, uma
definio nica para o termo. Data warehouses so projetados para suportar
extrao, processamento e apresentao eficientes de informao para
propsitos analticos e tomada de deciso.
O significado de data warehouse tem sido difundido em uma variedade de
maneiras na literatura. Inmon [1] caracterizou data warehouse (DW) como uma
coleo de dados orientada a assuntos, integrada, no voltil e varivel no
tempo, que usada para apoio a decises gerenciais. Em comparao a bancos
de dados tradicionais, data warehouses geralmente contm quantidade muito
grande de dados vindos de diversas fontes que podem incluir bancos de dados de
diferentes modelos de dados e algumas vezes arquivos adquiridos de sistemas e
plataformas independentes.
2.2. Data Warehousing
Data Warehousing um conceito cada vez mais poderoso de aplicao de
tecnologia de informao para resolver problemas empresariais. Compe-se de
um conjunto de tecnologias de software e hardware voltadas a viabilizar e
otimizar a anlise de dados em larga escala, gerando informaes gerenciais
valiosas. Algumas das principais tecnologias utilizadas so:
Gerenciadores de bases de dados distribudas, que suportam
processamento paralelo.
Produtos de converso de dados operacionais.
6
Tecnologia cliente/servidor que permite acesso a dados distribudos em
mltiplas plataformas.
Integrao de ferramentas de anlise e relatrio em ambiente de
escritrio (desktop).
Algumas aplicaes usuais de Data Warehousing:
Anlises de vendas e marketing.
Movimentao de inventrio e acompanhamento de produo em
manufaturas.
Otimizao de rotas e anlise de riscos em transportes.
Anlise de lucros e riscos em empreendimentos bancrios.
Anlise de reclamaes ou deteco de fraudes em seguradoras.
Dados operacionais: so os dados originais utilizados nas transaes normaisdos sistemas, ou seja, aqueles dados tipicamente armazenados, recuperados e
atualizados pelo sistema. So majoritariamente armazenados em bases de dados
relacionais, podendo, porm, ser armazenados em bases hierrquicas ou at
mesmo em arquivos simples. Algumas das caractersticas dos dados operacionais
incluem:
Freqentemente atualizados atravs de transaes online.
Dados no histricos (geralmente no mais que trs a seis meses
anteriores).
Otimizados para processamento transacional.
Tipicamente normalizados em bases relacionais, para otimizar
atualizaes, manuteno e integridade.
Dados informativos: so dados tipicamente armazenados com o objetivo detornar a anlise mais eficaz. Essa anlise pode ocorrer na forma de ambientes de
apoio deciso, sistemas de informaes executivas ou anlises estatsticas
7
sofisticadas. Os dados informativos so criados a partir de selees e
sumarizaes criteriosas executadas sobre os dados operacionais.
O Data Warehouse uma base de dados composta por dados informativos.
A criao do Data Warehouse a partir dos sistemas de dados operacionais a
principal etapa do processo de data warehousing como um todo. A construo da
base de dados informativos feita utilizando-se ferramentas de transformao e
propagao. Essas ferramentas no apenas movem os dados de mltiplas fontes,
mas freqentemente manipulam os dados para um formato mais apropriado para
o warehouse. Essas alteraes podem ser:
Criao de novos campos com resultados de clculos.
Criao de novos campos com sumarizaes de dados.
Desnormalizao de dados com propsitos de performance.
Compatibilizao de campos oriundos de diferentes bases.
2.3. Aplicaes sobre o DW para tomada de deciso
Uma tendncia com relao abordagem de data warehousing o
desenvolvimento de poderosas ferramentas de anlise. H trs amplas classes de
ferramentas de anlise emergentes [4]:
a) SGBDs projetados para suportar consultas complexas eficientemente.
Tais sistemas podem ser considerados como SGBDs relacionais otimizados para
aplicaes de suporte deciso.
b) sistemas que suportam uma classe de consultas que envolvem
tipicamente o operadores group-by e de agregao. Aplicaes dominadas por
tais consultas so as chamadas OLAP (On-Line Analytical Processing). Esses
sistemas suportam um estilo de consulta em que os dados so melhor pensados
como um array multi-dimensional. Aplicaes OLAP permitem a analistas,
gerentes e executivos realizar insights pelos dados normalmente armazenados
em data warehouses atravs de acessos rpidos, consistentes e interativos,
com uma ampla variedade de possveis vises sobre as informaes, para refletir
8
a real dimenso do negcio. OLAP implementado num ambiente cliente/servidor
multiusurio e deve oferecer respostas rpidas a consultas, independentemente
do tamanho ou da complexidade da base de dados. OLAP ajuda o usurio a
sintetizar informaes atravs de visualizaes comparativas personalizadas,
assim como atravs de anlises de dados histricos em diferentes modelos de
cenrios.
c) ferramentas para anlise exploratria de dados ou data mining, em queo usurio procura por padres de interesse. Por exemplo, um comerciante de
venda por catlogo pode querer analisar os registros dos clientes para identificar
clientes em potencial para uma nova promoo; essa identificao pode depender
do nvel de salrio, padres de compra, reas de interesse demonstradas, etc.
Em situaes como essa, muito difcil formular uma consulta que captura a
essncia de um padro de interesse e a quantidade de dados muito grande
para permitir anlise manual ou mesmo anlise estatstica tradicional.
2.4. Caractersticas de Data Warehouses
Um Data Warehouse apresenta as seguintes aspectos que os distinguem de
bancos de dados transacionais:
Possui um modelo de dados apropriado o modelo de dados multi-
dimensional se adequa bem para OLAP e tecnologia de suporte deciso;
um armazm de dados integrados vindos de mltiplas fontes, processados
para armazenamento em um modelo multi-dimensional;
Tipicamente suportam sries de tempo e anlise de tendncias, os quais
requerem dados mais histricos do que aqueles geralmente mantidos em
bancos de dados transacionais;
9
So no volteis, comparados com os bancos de dados transacionais isto ,
a informao no data warehouse muda muito menos freqentemente e pode
ser considerado como no sendo de tempo-real com atualizao peridica.
Atualizaes no warehouse so manipuladas pelo componente de aquisio
do warehouse, que fornece todo o pr-processamento requerido.
Algumas caractersticas de data warehouses so:
Viso conceitual multi-dimensional;
Dimensionalidade genrica;
Nveis de dimenses e agregaes ilimitadas;
Operaes cross-dimensional irrestritas;
Manipulao de matriz esparsa dinmica;
Arquitetura cliente-servidor;
Suporte a multi-usurio;
Manipulao de dados intuitiva;
Flexibilidade na elaborao de relatrios.
Geralmente data warehouses envolvem grandes volumes de dados (na ordem de
terabytes), o que leva a diferentes abordagens:
Data warehouses de todo o empreendimento so projetos muitograndes requerendo investimento massivo de tempo e recursos.
Data warehouses virtuais fornecem vises de bancos de dadosoperacionais que so materializadas para acesso eficiente.
Data marts so geralmente idealizados para um subconjunto daorganizao, tal como um departamento, e so mais especficos.
10
2.5. Arquitetura do Data Warehousing
Um data warehousing pode ser descrito como uma coleo de tecnologias
de suporte deciso, objetivando capacitar o trabalhador do conhecimento
(executivo, gerente, analista) a fazer decises melhores e mais rpidas. A Figura
1 extrada de [2], apresenta uma arquitetura tpica de data warehousing,
mostrando todo o processo envolvido. Essa arquitetura inclui ferramentas para:
extrao de dados de mltiplas bases de dados operacionais e de fontesexternas (por exemplo perfil dos clientes fornecida por consultores externos)usando gateways ou interfaces externas padro suportadas pelo SGBD de
suporte; limpeza dos dados para minimizar erros e preencher informaesausentes, quando possvel; transformao para reconciliar erros semnticos;integrao desses dados; carga dos dados no data warehouse, que consiste namaterializao das vises e no seu armazenamento no warehouse; e para
periodicamente executar o refresh do warehouse, para que esse reflita asatualizaes sofridas pela base operacional. Alm do warehouse principal, pode
haver diversos data marts (subconjuntos especficos focados em assuntosselecionados) departamentais. Os dados contidos no warehouse e nos data marts
so armazenados e gerenciados por um ou mais servidores de warehouse, queoferecem vises multidimensionais dos dados para uma variedade de ferramentas
front-end: ferramentas de consulta, geradores de relatrios, ferramentas deanlises especficas e ferramentas de data mining. Finalmente, h umrepositrio para armazenamento e gerenciamento de dados de log e ferramentas
para monitoramento e administrao do sistema total.
11
Figura 1. Arquitetura de Data Warehousing
As informaes sobre os dados do warehouse so armazenadas no
catlogo do sistema e freqentemente armazenado e gerenciado em um banco
de dados separado chamado repositrio de metadados. O tamanho e
complexidade do catlogo em parte devido ao tamanho e complexidade do
warehouse em si e em parte porque uma grande poro de informao
administrativa deve ser mantida. Por exemplo, precisamos ser informados sobre a
fonte de cada tabela do warehouse e quando ela sofreu o ltimo refresh, alm da
descrio de seus campos.
2.6. Data Mart (DM)
um data warehouse de pequena capacidade usado para atender a uma
unidade especfica de negcios. Data Marts no so diferenciados dos DWs com
base no tamanho, mas no uso e gerenciamento. Entretanto, DMs so menores e
menos complexos do que DWs e portanto so tipicamente mais fceis de
construir e manter.
Em mdia, um DM pode ser construdo num perodo de 3 a 6 meses,
enquanto um DW leva de 2 a 3 anos para ser concludo.
Os motivos que levam ao desenvolvimento de um Data Mart podem ser:
Fontes externas
Dados operacionais
Data Marts
Data Warehouse
Servidores OLAP
Relatrios
Data Mining
Repositriode Metadados
Monitoramento e Administrao
Ferramentas
ExtraoTransformaoCargaRefresh
Anlise
12
servir como projeto piloto, atender necessidades imediatas de uma unidade,
atender a restries de custo, tempo, etc., entre outros.
13
3. Modelagem de Dados para DW
3.1. Modelo de dados multi-dimensional
A fim de facilitar anlises e visualizaes complexas, os dados em um
warehouse so tipicamente modelados num formato multi-dimensional. Por
exemplo, num data warehouse de vendas, a poca da venda, o local geogrfico, o
cliente e o produto podem ser algumas das dimenses de interesse.
Freqentemente essas dimenses so hierrquicas: a poca da venda pode ser
organizada numa hierarquia dia ms trimestre ano, e produto pode ser
organizado numa hierarquia produto tipo categoria.
A maioria das pessoas, intuitivamente, pensa no modelo como um cubo de
dados (matrizes multidimensionais), como mostrado na Figura 2, onde cada
aresta representa uma das dimenses com seus diferentes valores distribudos ao
longo da mesma. Os pontos internos ao cubo representam os valores de medida
do negcio no nosso exemplo, os valores de vendas.
Figura 2. Cubo de dados de vendas
A figura 3 mostra uma matriz bi-dimensional, apresentando os produtos
como linhas, com rendimento de venda para cada local compreendendo as
colunas. Essa matriz pode estar representando o rendimento das vendas por
Produto
Tempo
Local
14
local e por produto para um particular perodo de tempo.
LOC1 LOC2 LOC3 . . .P1P2P3P4...
Figura 3. Matriz bi-dimensional
A adio de uma dimenso tempo, produz uma matriz tri-dimensional que
pode ser representada usando o cubo de dados. A figura 4 mostra um cubo que
organiza dados de venda de produto por data e regies de venda. Cada clula
representa a venda de um produto especfico, em um perodo de tempo
especfico (ano, trimestre, ms,...) em um local especfico. Adicionando outras
dimenses, teremos um hipercubo.
Os dados podem ser consultados diretamente em qualquer combinao de
LOCAL
PRODUTO
Local (codLocal)
. . .
.
Reg3Reg2Reg1
P3
Tempo (codTempo)
t4
t3 t2
t1
P1
P2
...
Produto(codProd)
Figura 4. Cubo de dados de vendas
15
dimenses, permitindo que consultas complexas no banco de dados original
sejam realizadas de forma mais direta e com maior desempenho. Existem
ferramentas que permitem a visualizao dos dados de acordo com a escolha de
dimenses do usurio.
Num ambiente relacional os dados da matriz multi-dimensional podem ser
representados como uma relao, como ilustrado na figura 5. Nessa relao as
tuplas esto agrupadas de acordo com as fatias (slices) verticais, paralelas com
relao ao eixo do tempo. Essa relao que associa as dimenses medida de
interesse chamada tabela fato. Note na figura 5 que somente constam databela as composies produto-local-tempo que possuem valor de vendas. Cada
dimenso pode ter um conjunto de atributos associados. Por exemplo, a
dimenso Local identificada pelo atributo codlocal, que foi usado para identificar
um local na tabela Vendas. A dimenso Local pode ter os atributos adicionais
Cidade, Estado e Pas. A dimenso Produto pode conter os atributos codProd,
Descrio, Marca, Categoria, Estilo, Preo. A Categoria de um produto indica sua
natureza geral; por exemplo, um produto camisa pode pertencer categoria
roupa. O Estilo pode ser social, esporte, passeio, etc. A dimenso Tempo pode ter
os atributos Data, Semana, Ms, Trimestre, Ano, alm do identificador
codTempo.
codProd codLocal codTempo vendasP1 loc1 t1 1000P1 loc2 t1 880P1 loc3 t1 1025P2 loc1 t1 775P2 loc2 t1 1002P3 loc1 t1 888P3 loc4 t1 989P4 loc2 t1 1550P4 loc3 t1 900P1 loc1 t2 1030P1 loc2 t2 920P2 loc1 t2 1010P2 loc2 t2 700
fatia (slice) doperodo de tempo t1
fatia (slice) doperodo de tempo t2
16
P2 loc4 t2 1100P3 loc1 t2 980P3 loc4 t2 980P4 loc2 t2 1550P4 loc3 t2 950
...Figura 5. Relao Vendas (tabela fato)
As dimenses podem ser representadas como relaes:
Local (codLocal, Cidade, Estado, Pas)
Produto (codProd, Descrio, Marca, Categoria, Estilo, Preo)
Tempo( codTempo, Data, Semana, Ms, Trimestre, Ano)
Para cada dimenso, o conjunto de valores associados podem ser
estruturados em uma hierarquia. Por exemplo, cidades pertencem a estados e
estados pertencem a pases. Datas pertencem a semanas e a meses; semanas e
meses esto contidos em trimestres e trimestres esto contidos em anos. A figura
6 mostra as hierarquias para Produto, Local e Tempo do exemplo aqui
considerado.
PRODUTO
categoria
estilo
cdigo produto
TEMPO
ano
trimestre
semana ms
data
LOCAL
pas
estado
cidade
Figura 6. Possveis hierarquias para Produto, Tempo e Local
17
3.2. Consultas OLAP
Sobre o cubo de dados (data warehouse) podem ser aplicadas as
operaes tpicas de OLAP, para viabilizar a extrao eficaz de informaes do
mesmo.
As operaes suportadas pelo modelo multi-dimensional so fortemente
influenciadas por ferramentas existentes para usurio final tal como aquelas que
trabalham com planilhas eletrnicas. A meta oferecer ao usurios finais, que
no so especialistas em SQL, uma interface intuitiva e poderosa para tarefas
comuns de anlise de negcio. Cada operao sobre o conjunto de dados multi-
dimensional retorna ou uma apresentao diferente ou uma sumarizao desse
conjunto de dados. O conjunto de dados est sempre disponvel para o usurio
manipular, independente do nvel de detalhe em que ele est sendo visto.
3.2.1. Agregao
Uma operao muito comum agregar uma medida sobre uma ou mais
dimenses. Exemplos de consultas tpicas so:
Encontrar o total de vendas.
Encontrar o total de vendas para cada cidade.
Encontrar o total de vendas para cada estado.
Encontrar os cinco produtos mais vendidos.
As trs primeiras consultas podem ser expressas como consultas SQL sobre
18
as tabelas fato e dimenso, mas a ltima consulta no pode ser expressa em
SQL (embora se possa conseguir um resultado satisfatrio ordenando o total
de vendas atravs de ORDER BY).
Um outro uso de agregao sumarizar em diferentes nveis de hierarquia.
Isso conseguido atravs das operaes OLAP roll-up e drill-down queoferecem visualizaes hierrquicas dos dados.
3.2.2. Roll-up
A operao roll-up realiza um aumento no nvel de agregao dos dados,agrupando em unidades maiores ao longo da dimenso. Por exemplo, a figura 7
mostra os dados de venda usando a operao roll-up que, a partir de informaes
de venda de produtos individuais por local (por cidade), faz um agrupamento de
categorias de produtos, apresentando o total de vendas por categoria de produto
(por exemplo: categoria Roupa abrange os produtos P1 a P10, a categoria
Calado abrange os produtos P11 a P15, etc.).
So Carlos Ribeiro Preto ...Roupa 10.000 15.000 ...Calado 7.000 10.000 ...Bijuteria 30.000 20.000... ... ... ...
3.2.2. Drill-down
A operao drill-down oferece a capacidade oposta, fornecendo umaviso mais detalhada. Por exemplo, dado o total de vendas por estado e por
categoria de produto, podemos solicitar uma apresentao mais detalhada
LOCAL
CATEGORIASDE
PRODUTOS
Figura 7. A operao roll-up (venda por categoria/cidade)
19
desagregando vendas de cada estado por cidade e tambm quebrando categoria
de produtos por estilos, conforme figura 8.
S.Carlos Rib.Preto Lins Assis P. Alegre CaxiasSul
ABC
DAB
DABC...
Estilos Roupa
Estilos Calado
Estilos Bijouteria
So Paulo
...Rio Grande do Sul
20
Figura 8. A operao drill-down
3.2.4. Pivot
A mudana de uma hierarquia dimensional (orientao) para uma outra
facilmente obtida em um cubo de dados utilizando a tcnica chamada pivoting(ou rotao). A operao pivot realiza uma re-orientao do ngulo de viso dosdados. Nessa tcnica, os eixos podem ser mostrados em orientaes diferentes.
Por exemplo, pode-se fazer uma rotao no cubo de dados da figura 4 para
mostrar rendimentos de vendas regionais como linhas, os totais de rendimentos
dirios como colunas e os produtos da companhia na terceira dimenso (figura 9).
Isso equivale a ter uma tabela de venda regional para cada produto
separadamente, onde cada tabela mostra, para o produto especfico, totais de
vendas para cada local e cada perodo considerado.
Reg3
Reg2
Reg1Tempo ...
.
t3t2t1
Produto P4
P3P2
P1
...
Local
...
Figura 9. Rotao (Pivot) do cubo de dados de vendas
21
3.2.5. Comparando com consultas SQL
Algumas consultas OLAP no podem ser (ou no podem ser facilmente)
expressas em SQL. Por exemplo, das quatro consultas a seguir, as duas
primeiras podem ser expressas como consultas SQL sobre as tabelas fato e
dimenso. A terceira consulta pode ser expressa tambm, mas mais
complicada em SQL. A ltima consulta no pode ser expressa em SQL, se n
para ser um parmetro da consulta. Observe que todas as consultas a seguir
envolvem o tempo. Na verdade a dimenso Tempo muito importante em OLAP.
Consultas:
Encontre o total de vendas por ms.
Encontre o total de vendas por ms para cada cidade.
Encontre a variao de porcentagem no total de vendas mensalmente para
cada produto.
Encontre a mdia de movimento de vendas de n dias. (Para cada dia, deve ser
calculada a mdia de vendas diria sobre os n dias precedentes).
Um grande nmero de consultas OLAP, entretanto, pode ser expresso em
SQL. Tipicamente elas envolvem agrupamento e agregao, e uma nica
operao OLAP conduz a vrias consultas relacionadas. Por exemplo, a mesma
informao apresentada na tabela da figura 7 pode ser obtida atravs da seguinte
consulta:
SELECT SUM (V.vendas)
FROM Vendas V, Produto P, Local L
WHERE V.codProd=P.codProd AND V.codLocal=L.codLocal
GROUP BY P.Categoria, L.Cidade
A operao realizada na tabela da figura 7 a Roll-up, que agrupa os
dados em unidades maiores. Cada operao roll-up corresponde a uma consulta
22
SQL com GROUP BY. Em geral, dada uma medida com k dimenses associadas,
podemos fazer um roll up sobre qualquer subconjunto dessas k dimenses e
ento tem-se 2k possveis consultas SQL.
Uma extenso proposta para o SQL chamada CUBE equivalente a uma
coleo de comandos GROUP BY, com um comando GROUP BY para cada
subconjunto das k dimenses. Por exemplo, considere a consulta:
CUBE codProd, codLocal, codTempo BY SUM Vendas
Essa consulta far um roll up sobre a tabela Vendas sobre todos os oito
subconjuntos do conjunto { codProd, codLocal, codTempo}. Ela equivalente a
oito consultas da forma:
SELECT SUM (V.vendas)
FROM Vendas V
GROUP BY lista-do-agrupamento
As consultas diferem somente na lista-do-agrupamento, que algum
subconjunto do conjunto { codProd, codLocal, codTempo}.
23
4. Projeto do Data Warehouse
4.1. Esquema Estrela
Diagramas entidade-relacionamento e tcnicas de normalizao so
popularmente usadas para projetos de bases de dados operacionais. Nos
sistemas de apoio deciso, porm, devem prevalecer mtodos de projeto que
tenham como alvo a eficincia nas consultas [19].
A maioria dos data warehouses utilizam um esquema estrela para representar
o modelo multi-dimensional de dados [12]. A base dos dados consiste de uma tabela
dimenso para cada dimenso, alm de uma tabela fato, a qual contm um
relacionamento com cada uma das tabelas dimenso e um valor para a dimenso do
negcio relativo ao conjunto de dimenses referenciadas. A Figura 10 mostra o
esquema estrela para o exemplo de vendas de produto adotado no captulo 3.
VENDAS(tabela fato)
REGIO
PRODUTOTEMPO
codProdcodTempocodRegiovendasvalor-vendas
codTempoDataSemanaMs TrimestreAno
CodProdutoCategoria DescrCategoriaEstiloPreo
CodRegCidadeEstadoPas
(tabelas dimenso)(tabela dimenso)
Figura 10. Esquema estrela do exemplo dado (fig.4)
24
Uma outra maneira de representar esquema estrela fornecido na figura 11.
O volume maior dos dados est tipicamente na tabela fato, que no tem
redundncia. Usualmente ela est na Forma Normal de Boyce Codd (FNBC).
Para minimizar o tamanho da tabela fato, os identificadores das dimenses (ex.
CodLocal, CodTempo) so gerados pelo sistema.
As tabelas dimenso usualmente so no normalizadas. A razo para isso
que um banco de dados usado para OLAP esttico; assim, anomalias de
atualizao, insero e eliminao no so importantes. Alm disso, o espao de
armazenamento ganho atravs da normalizao das tabelas dimenso
desprezvel, frente ao tempo de processamento gasto para combinar a tabela fato
com as tabelas dimenso, caso estas fossem quebradas em tabelas menores
normalizadas (que podem conduzir a junes adicionais).
PRODUTO
CodRegio Cidade Estado Pas
CodTempo Data Semana Ms Trimestre Ano
TEMPO
REGIO
CodProd CodLocal CodTempo vendas valor-vendas
VENDA
Figura 11. Outra representao de esquema estrela
CodProd Categoria DescrCategoria Estilo Preo
25
4.2. Esquema Snowflack
Esquemas estrela no fornecem explicitamente suporte para hierarquias de
atributos. Um modelo refinado do esquema estrela o chamado esquema
snowflack, no qual as tabelas dimenso so organizadas em uma hierarquia
atravs de sua normalizao, como mostrado na Figura 12. Isso traz vantagens
para a manuteno das tabelas-dimenses. Entretanto, a estrutura no
normalizada das tabelas dimenso nos esquemas estrela podem ser mais
apropriados para a manipulao das dimenses.
As figuras 13 e 14 apresentam um outro exemplo de esquemas estrela e
snowflack.
CATEG-PROD
VENDA(tabela fato)
TEMPO
PRODUTO
REGIOCodProdCodRegioCodTempovendasvalor-vendas
CodRegioCidadeEstado
CodProdutoCategoriaEstiloPreo
CodTempoData SemanaMsAno
(tabelas dimenso)(tabelas dimenso)
EstadoPas
ESTADO
CategoriaDescrioCateg
Ms Trimestre
Figura 12. Esquema Snowflack
26
RENDIMENTOVENDAS(tabela fato)
VENDEDOR
DATACIDADE
PRODUTO
PEDIDO
CLIENTE
NroPedidoCodVendedorCodClienteCodProdutoChaveDataCidadeQuantidadeValorTotal...
NroPedidoDataPedido...
CodClienteNomeClienteEndereoClienteCidadeCliente...
CodVendedorNomeVendedorCidadeVendedorCota...
CodProdutoNomeProdutoDescrProdutoCategoriaDescrCategEstiloProdutoPreoUnitario...
ChaveDataDataMsAno...
CidadeEstadoPas...
Figura 13. Outro exemplo de esquema estrela
MS
ESTADO
VENDAS(tabela-fato)
VENDEDOR
DATACIDADE
PRODUTO
PEDIDO
CLIENTE
NroPrdidoCodVendedorCodClienteCodProdutoChaveDataCidadeQuantidadeValorTotal...
NroPedidoDataPedido...
CodClienteNomeClienteEndereoClienteCidadeCliente...
CodVendedorNomeVendedorCidadeVendedorCota...CodProduto
NomeProdutoDescrProdutoCategoriaPreoUnitario...
ChaveDataDataMs...
CidadeEstado...
CategoriaDescrCateg
EstadoPas
MsAno
Figura 14. Esquema Snowflack
27
4.3. Constelao de Fatos
Constelao de fatos so exemplos de estruturas mais complexas nas
quais mltiplas tabelas fato compartilham tabelas dimenso. A figura 15 mostra
uma constelao de fatos com duas tabelas fato, Resultado de Vendas e Previso
de Vendas, que compartilham a tabela dimenso Produto. Constelaes de fatos
limitam as possveis consultas para o warehouse.
Outro exemplo seria uma constelao de fatos representando despesas projetadas e
despesas reais, contendo duas estrelas que compartilham vrias dimenses.
4.3. Vises Materializadas
A fim de otimizar a anlise multi-dimensional, tornando-a viavelmente
utilizvel pelo usurio, uma das solues adotadas atualmente a pr-
computao de agregaes em alguns subconjuntos de dimenses e suas
hierarquias correspondentes. Outra soluo comumente usada a materializao
de consultas muito freqentes. Essas tabelas especiais so chamadas de vises
materializadas.
As vises materializadas geralmente consistem de junes da tabela fato com
um subconjunto de tabelas dimenso, com a sumarizao de uma ou mais medidas
de valor do negcio, agrupadas por um conjunto de atributos das tabelas dimenso.
RESULTADO.VENDAS(tabela fato)
PRODUTO
CodProdutoCodRegioCodTempoVendas
CodProdutoCategoriaDescrCategoriaEstiloPreo
(tabela dimenso)
PREVISOVENDAS(tabela fato)
CodProdutoCodRegioCodTempoFuturo ProjeoVendas
Figura 15. Uma constelao de fatos
28
A seleo das vises a materializar deve levar em conta a freqncia de
utilizao, caractersticas de carga de trabalho, custo de atualizaes
incrementais e exigncias de armazenamento.
Como um exemplo, suponha que num ambiente de vendas, como o do exemplo
aqui considerado, uma grande maioria das consultas baseada na performance de vendas
no estado de So Paulo, do trimestre mais recente. Ter uma tabela que contenha dados
sumrios sobre esses parmetros pode acelerar significativamente o processamento das
consultas. A figura 16 ilustra esse exemplo.
Vendas - Estado So Paulo
Categoria
Data01/07/99 02/07/99 ... 25/11/99
Roupa 2000 3000 ... 1000Calado 500 650 ... 220Bijuteria 300 550 ... 430
Vendas - Estado So PauloCategoria Trimestre 3
Roupa 21200Calado 5670Bijuteria 6980
Figura 16. Agregao
Consultas ad hoc realizadas pelos usurios so respondidas usando as
tabelas originais juntamente com sumrios pr-computados.
4.4. Construindo um Data Warehouse
H muitos desafios na criao e manuteno de um data warehouse.
necessrio projetar um bom esquema de banco de dados para manter uma
coleo integrada de dados copiados de diversas fontes. Por exemplo, o data
agregao
29
warehouse de uma companhia pode incluir os bancos de dados do departamento
de Estoque e de Pessoal, junto com os bancos de dados de Vendas mantidos por
escritrios em diferentes pases (ou filiais). Uma vez que os dados so criados e
mantidos por diferentes grupos, existem algumas questes que devem ser
avaliadas, tais como erros semnticos, diferenas na forma como as tabelas
foram normalizadas ou estruturadas, nomes diferentes para o mesmo atributo.,
entre outros.
Para construir um data warehouse, necessrio ter uma viso antecipada
do uso do warehouse. No h uma maneira para antecipar todas as possveis
consultas ou anlises durante a fase de projeto. Entretanto, o projeto deve
especificamente suportar consultas ad-hoc, isto , acesso aos dados com
qualquer combinao significativa de valores para os atributos na tabela
dimenso ou tabela fato.
A aquisio de dados para o warehouse envolve os seguintes passos:
extrao de dados: Os dados podem ser extrados de mltiplas fontesheterogneas. Durante essa fase pode ser necessrio selecionar dados sobre
itens especficos ou categorias de itens, ou de armazns em uma regio
especfica do pas;
formatao: Os dados devem ser formatados para ficar consistentes com owarehouse. Nomes, significados e domnios de dados vindos de fontes no
relacionadas devem ser conciliados. Por exemplo: companhias subsidirias de
uma grande corporao podem ter diferentes calendrios fiscais com os
trimestres terminando em diferentes datas, tornando difcil agregar dados
financiais por trimestre; outro exemplo a existncia de diferentes unidades
monetrias. Essas inconsistncias de formato devem ser resolvidas.
Limpeza dos dados: Os dados devem passar por uma limpeza paraminimizar erros, preencher informao ausente, quando possvel, e deixar os
elementos de dados dentro de formatos e significados padronizados e
consistentes. Limpeza dos dados um processo complexo que tem sido
identificado como o componente que demanda maior trabalho na construo
30
do data warehouse. Para dados de entrada, a limpeza deve ocorrer antes que
os dados sejam armazenados no warehouse. A limpeza de dados que requer o
reconhecimento e correo automticos de dados errneos e incompletos
uma tarefa difcil. Alguns aspectos, tais como checagem de domnio, so
facilmente codificados em rotinas de limpeza de dados, mas reconhecimento
automtico de alguns problemas de dados pode ser mais desafiador.
Por exemplo, o processo de limpeza pode corrigir CEPs invlidos ou
eliminar registros com prefixos de telefone incorretos.
A tabela da figura 17 a seguir apresenta alguns exemplos de dados que
necessitam de um tratamento:
nome de cidade errado ("Centro"), e no padronizado (So Paulo e
S.Paulo)
nome de bairro errado ("XXX") e no padronizado ("Centro" -
transformar para letras maisculas).
as datas devem seguir um mesmo formato.
valores nulos devem ter um tratamento adequado (data com valor
"000000")
eliminar dados inteis para o data warehouse: a ltima linha da tabela no
representa informao til.
CIDADE BAIRRO DATA
SO CARLOS CENTRO 10/09/99
CENTRO Centro 08/03/1999
RIO DE JANEIRO XXX 13-05-99
SO PAULO PINHEIROS 15101998
31
S. PAULO SANTANA 000000
RIBEIRO PRETO CENTRO 10/06/1998
XXXX 000000
Figura 17 - Erros durante a fase de limpeza
Os dados devem ser ajustados no modelo de dados do data warehouse. Os
dados vindos de vrias fontes devem ser instalados no modelo de dados do
warehouse. Os dados podem ter que ser convertidos de bancos de dados
relacionais, orientados a objetos ou legados (redes ou hierrquicos) para um
modelo multi-dimensional.
Os dados devem ser carregados no warehouse. Essa tarefa significativa
devido ao grande volume de dados do warehouse. So requeridas
ferramentas de monitorao para a carga, bem como mtodos para
recuperao a partir de cargas incompletas ou incorretas. Questes sobre a
atualizao dos dados tambm so levadas em conta. As seguintes questes
devem ser consideradas:
At que ponto os dados podem ser atualizados?
O warehouse pode se tornar off-line e por quanto tempo?
Quais so as interdependncias de dados?
Qual a disponibilidade de armazenamento?
Quais so os requisitos de distribuio (tais como para replicao
e particionamento)?
Qual o tempo de carga (incluindo limpeza, formatao, cpia,
transmisso, reconstruo de ndice, ...)?
32
Uma tarefa de projeto muito importante avaliar quais tabelas sumrio devem
ser materializadas para alcanar o melhor uso de memria disponvel e
responder consultas ad hoc comumente realizadas com tempo de resposta
interativo.
Quando o warehouse usa um mecanismo de reabastecimento (refreshing) de
dados incremental, pode ser necessrio purgar periodicamente os dados; por
exemplo, um warehouse que mantm dados sobre os ltimos 3 anos pode
purgar seus dados a cada ano.
4.5. Resumindo as Funcionalidades Tpicas de Data Warehouses
O objetivo dos data warehouses facilitar consultas complexas e que
envolvem muitos dados. Eles devem fornecer um suporte de consulta maior e
mais eficiente do que os oferecidos nos bancos de dados transacionais. Os
suportes do componente de acesso do data warehouse incluem:
- funcionalidades melhoradas de ferramentas que trabalham com
planilhas eletrnicas: isto , suportes conhecidos oferecidos para
planilhas eletrnicas bem como suporte de programas de
aplicao OLAP.
- Processamento de consulta eficiente
- consultas estruturadas
- consultas ad hoc
- data mining
- vises materializadas
As funcionalidades pr-programadas que so oferecidas pelos data
warehouses so:
- Roll-up: os dados so sumarizados com crescente generalizao (por
ex., de semanalmente para trimestralmente para anualmente).
- Drill-down: crescentes nveis de detalhe so revelados (operao
33
oposta de roll-up).
- Pivot (rotao): realizada tabulao cruzada.
- Slice and dice: so realizadas operaes de projeo sobre as
dimenses.
- Ordenao: os dados so ordenados atravs de um atributo.
- Seleo: os dados so disponveis por valor ou agrupados em
categorias de valores.
- atributos derivados (computados): valores derivados atravs de
operaes sobre dados armazenados.
4.6. Consideraes Finais
4.6.1. Data warehousing e Vises
Data warehouses tm sido considerados por algumas pessoas como sendo
uma extenso de funes e vises do banco de dados. Entretanto vises
fornecem somente um subconjunto das capacidades de data warehouses. Vises
e data warehouses so parecidos nos seguintes aspectos:
- ambos tm dados extrados de bancos de dados;- so orientados ao assunto .
Data warehouses so diferentes de vises nos seguintes aspectos:
- Data warehouses existem como armazenamento persistente ao invs
de ser materializado sob demanda;
- Data warehouses no so usualmente relacionais, mas sim
multidimensionais. Vises de um banco de dados relacional so
relacionais.
- Data warehouses podem ser indexados para otimizar performance.
Vises no podem ser indexadas independente dos bancos de dados
utilizados.
34
- Data warehouses caracteristicamente fornecem suporte especfico de
funcionalidade; vises no podem fornecer.
- Data warehouses fornecem grande quantidade de dados integrados e
freqentemente temporais, geralmente mais do que est contido em um
banco de dados, enquanto que vises so um extrato de um banco de
dados.
4.6.2. Dificuldades na Implementao de Data Warehouses
A construo de um warehouse de um amplo empreendimento em uma
grande organizao pode levar anos, considerando desde a fase inicial de
concepo at a implementao. Devido dificuldade e quantidade de tempo
requerido para uma tal tarefa, o desenvolvimento e emprego difundido de data
marts pode fornecer uma alternativa atrativa, especialmente para aquelas
organizaes com necessidades urgentes de OLAP, sistemas de suporte
deciso e/ou suporte de data mining.
Alguns aspectos a serem considerados so:
A administrao de um data warehouse uma tarefa intensiva, proporcional
ao tamanho e complexidade do warehouse.
O controle de qualidade dos dados e a consistncia so aspectos importantes
a considerar. Cada vez que um banco de dados fonte muda, o administrador
do data warehouse deve considerar as possveis interaes com outros
elementos do warehouse.
Projees de uso devem ser estimadas antes da construo do data
warehouse e devem ser revisadas continuamente para atender requisitos
correntes.
Administrao de data warehouse ir requerer habilidades mais amplas do
que so necessrias para administrao de banco de dados tradicional.
35
5. Servidores OLAP
Servidores que utilizam bancos de dados relacionais tradicionais no foram
concebidos para propiciar o uso inteligente de ndices e de outros recursos
necessrios para suportar vises multidimensionais de dados. Em adio aos
servidores relacionais tradicionais, h trs opes principais para a
implementao do servidor OLAP: servidores ROLAP (Relational OLAP), que
armazenam os dados em tabelas, servidores MOLAP (Multi-dimensional OLAP),
que armazenam os dados em arrays, e servidores HOLAP (Hibrid OLAP), que so
hbridos dos dois anteriores.
5.1. Servidores ROLAP
Nos servidores OLAP Relacionais (ROLAP) os dados so armazenados em
tabelas de bancos de dados relacionais ou relacionais estendidos. Eles utilizam
SGBDs relacionais para gerenciar os dados e agregaes do esquema estrela do
warehouse. Tambm suportam extenses a SQL e acesso e mtodos de
implementao especiais, tais como o OLAP midleware para a implementao
eficiente do modelo multi-dimensional e suas operaes. Dessa forma, sua
estrutura de dados implementada por tabelas relacionais, e uma clula do
espao multi-dimensional representada por uma tupla. Essa tupla carrega
alguns atributos que identificam a posio da clula no espao multi-dimensional,
alm de outros atributos que contm os valores de dados correspondentes quela
clula.
Por utilizarem bancos de dados relacionais para implementar o modelo
multi-dimensional, os servidores OLAP precisam reescrever as consultas dos
usurios para compatibiliz-las com as vises materializadas e gerar mltiplas
consultas SQL para o servidor. A principal vantagem dos servidores ROLAP est
no armazenamento de grandes conjuntos de dados, devido ao fato de se poder
36
armazenar dados esparsos de forma mais compacta em tabelas do que em
arrays.
5.2. Servidores MOLAP
Outra opo amplamente adotada so os servidores OLAP
Multidimensionais (MOLAP). Servidores MOLAP implementam as vises
multidimensionais diretamente, armazenando dados em algumas estruturas
especiais (por exemplo, arrays esparsos) e executando as operaes OLAP
diretamente sobre essas estruturas. O cubo de dados implementado atravs do
mapeamento de suas dimenses para os ndices do array, de forma que o
contedo do array formado pelos valores contidos em cada clula do cubo.
Servidores MOLAP possuem excelentes propriedades de indexao devido
ao fato de ser mais simples localizar uma clula num array do que numa tabela.
Por outro lado, quando os dados so esparsos, os servidores MOLAP perdem
performance, sendo que nesses casos algumas tcnicas de matrizes de
compresso devem ser exploradas. Para pequenos e mdios conjuntos de dados,
eles so mais eficientes em armazenamento e recuperao dos dados.
5.3. Servidores HOLAP
Alguns servidores OLAP adotam uma forma de armazenamento em dois
nveis, a fim de manipular conjuntos de dados densos e esparsos. O conjunto de
dados de alguns subcubos dimensionais que so identificados como densos so
armazenados no formato de arrays. O restante dos subcubos, que so esparsos,
so armazenados em tabelas empregando tecnologias de compresso. Isso
resulta em um mtodo de armazenamento hbrido chamado de OLAP Hbrido
(HOLAP).
37
5.4. On-Line Analytical Mining (OLAM)
Considerando o alto poder do mtodo OLAP para se realizar anlises
multidimensionais e vislumbrando as vantagens geradas pela possibilidade de
utilizar essa anlise na preparao dos dados na aplicao de Data Mining, J.
Han e sua equipe desenvolveram um mecanismo batizado de OLAM (On-Line
Analytical Mining), que propicia a aplicao de KDD num ambiente multi-
dimensional em grandes bases de dados e data warehouses .
As principais vantagens geradas por essa abordagem so:
A maioria das ferramentas de Data Mining necessitam trabalhar com dados
integrados, consistentes e limpos, que exigem um rduo trabalho de limpeza,
transformao e integrao dos dados nas fases que precedem a aplicao de
DM no processo KDD. Num data warehouse, a maior parte dessa preparao
normalmente j foi realizada, servindo esse warehouse para a aplicao tanto
de OLAP quanto de DM.
DM efetivo necessita de anlises exploratrias de dados. O usurio
frequentemente deseja navegar de forma flexvel ao longo da base de dados,
selecionar diferentes partes de dados relevantes e analisar os dados em
diferentes granularidades.
A integrao de OLAP com mltiplas funes de DM permite ao usurio
investigar diferentes tarefas de data mining de forma fcil e flexvel.
38
39
Apndice A
ESTUDO DE CASO 1 Criao de um Data Mart
Este estudo de caso descreve a criao de um data mart realizada em uma
empresa que comercializa pedras e concreto, situada no estado de Maryland,
EUA [8].
O objetivo foi auxiliar na anlise de vendas e marketing para os seus
principais clientes, que so empresas de construo e pavimentao, alm de,
eventualmente, avaliar a eficincia da rede de distribuio.
Os dados de entrada originam-se de sistemas IBM ES/9000 e AS/400.
A ferramenta utilizada para a execuo do projeto foi o Oracle Data Mart
Suite para Windows NT.
Objetivou-se fornecer aos usurios do sistema acesso ad hoc grfico s
informaes gerenciais, sem envolver grande volume de processamento a cada
acesso realizado.
A principal rea de interesse identificada foi a anlise dos lucros.
O primeiro passo foi a identificao acurada de todas as informaes que o
usurio realmente necessitava em suas consultas, definindo-se, assim, o grau de
detalhamento que o sistema deveria contemplar. O estudo dos relatrios j
existentes foi um ponto de partida.
O passo seguinte foi a compreenso do mecanismo de clculo dos lucros
da empresa, j que o antigo sistema de contas no fornecia explicitamente esses
valores, mas sim um grande nmero de campos que poderiam levar a esses
valores. O projeto das tabelas foi tal que o lucro pudesse ser pr-calculado e
armazenado na tabela fato, evitando, assim, clculos no momento da consulta.
40
Outra caracterstica a ser definida foi o perodo de tempo em que o usurio
gostaria de ter suas informaes armazenadas, j que a dimenso tempo
crucial para o esquema estrela.
Iniciou-se, ento, o projeto do banco de dados, descrito a seguir.
O esquema estrela construdo objetivando-se simplicidade e velocidade
de recuperao. Cada tabela dimenso possui uma chave primria, usualmente o
ID. A tabela fato contm uma chave composta por todas as chaves das
dimenses.
Ao invs de utilizar diretamente os identificadores das tabelas dimenso,
foram criadas chaves sintticas tanto para as chaves primrias das tabelas
dimenso, quanto para as chaves estrangeiras da tabela fato. Esse procedimento
torna mais eficientes as consultas, alm de manter uma homogeneidade na base
de dados, garantindo tambm a unicidade dos identificadores e uma maior
facilidade na manuteno do data mart.
A tabela fato da empresa foi construda a partir de tickets e faturas de
produtos (pedras) que foram comprados e transportados para um certo local.
O grau de granularidade (nvel de detalhe informacional) que o cliente
deseja obter nos relatrios tem um impacto sobre o projeto da tabela fato.
Importante: obter dos clientes o que eles necessitam ver e no o que elesquerem ver.
As tabelas dimenso criadas so mostradas a seguir.
Tabela dimenso Fbrica:
Tabela esttica com detalhes sobre todas as fbricas da empresa.
FBRICA
CdigoDescrioId-linha-produto
DIM-FBRICA
Chave-FbricaCod-FbricaDescr-FbricaRegio-Fbrica 41
Tabela dimenso Tempo:A tabela Tempo foi necessria, pois os relatrios necessitam avaliar os dados pordia, feriados, perodos fiscais, etc. Se os agrupamentos fossem somentereferentes a anos/meses a tabela Tempo poderia ser dispensada.
Tabela dimenso Item:
DIM-TEMPO
Chave-tempoId-dataDia-do-msNumero-msDescr-msSemana-do-anoDescr-diaNum-anoDia-do-anoNmero-trimestreData-venda
DIM-ITEM
Chave-itemTipo-itemCd-linha-item Descr-linha-itemClasse-itemSub-classe-itemFlag-itemDescrio-item
ITEM
CdigoTipoDescrioId-linha-itemClasse
LINHA-ITEMCdigoDescrio
42
Tabela dimenso Cliente:
Tabela dimenso Representante de Vendas :
Tabela dimenso Transportadora:
CLIENTE
CdigoNomeEndereo1Endereo 2CidadeEstadoCEPRepresent-vendaTipo
DIM-CLIENTE
Chave-clienteCod-clienteNome-clienteCod-Repres-vendaNome-repres-vendaTipo-cliente
REPRES-VENDA
CdigoNome
DIM-REPRES-VENDA
Chave-repr-vendaCodigo-repr-vendanome-repr-venda
TRANSPORTADORA
CdigoNome
DIM-TRANSPORTADORA
Chave-TransportadoraCdigoNome
43
Tabela fato Ticket -Fatura:
Tabela dimenso Regio de Entrega:
TICKET-FATURA
Nmero-faturaNmero-ticketTipo-ticketCod-FbricaCod-clienteCdigoData-envioCod-produtoQtde-enviadaPreo-produtoCusto-fixado-produto-por-unidadeCusto-variavel-produto-por-unidadeCd-transportadoraCusto-transporte-por-unidadeRegio-entregaLocal-entrega
DIM-REGIO-ENTREGA
Chave-entregaEstado-entregaPas-entregaLocal-entregaRegio-entrega
44
O negcio da empresa era rastrear e avaliar as faturas e tickets para cada
carga transportada por seus caminhes. Havia vrios tickets por fatura. Cada
ticket tinha medidas e preos tais como datas da transportadora, quantidades de
itens, custos totais, etc. Devido ao relacionamento entre tickets e faturas, decidiu-
se fundir as duas tabelas em uma tabela fato principal. Para cada fatura pode
haver vrios tickets.
Para a tabela fato, a soluo adotada foi a criao de uma nica tabela
contendo as informaes sobre os tickets e os pedidos que os contm.
Tabelas sumrio:
A fim de reduzir o tempo de processamento de recuperao de dados que
so freqentemente executadas, foram criadas tabelas sumrio para a dimenso
tempo, devido sua alta freqncia de consultas. As tabelas criadas produzem
freqentemente relatrios por ms, trimestre e ano.
45
Apndice B
ESTUDO DE CASO 2 Cubo Multidimensional e OLAP
Este estudo de caso descreve a implementao do cubo multidimensionalpara consultas OLAP realizada em uma usina de acar e lcool, situada noestado de So Paulo.
O objetivo foi auxiliar nas anlises setoriais, gerar regras de negcio,analisar riscos e produtividade e permitir a comparao e a combinao deinformaes. Algumas perguntas das quais desejava-se conhecer as respostas:
- com quais clientes praticou-se o melhor preo?- quais clientes geram maior lucratividade?- quais os mercados mais lucrativos?- qual o perfil dos clientes?- em que regies concentram-se as vendas?
Inicialmente, foram comparadas as duas alternativas: OLTP e OLAP, a fimde verificar as vantagens da soluo OLAP, justificando, assim a implementaodo projeto. Algumas das caractersticas levantadas foram:
OLTP OLAP- utilizao da base de dados operacionais;- demora na execuo de consultas e relatrios;- pouca flexibilidade;- muitos relatrios utilizados apenas uma vez;- necessidade de pessoal de informtica para desenvolvimento de templates de relatrios;- grande volume de informaes a serem processadas.
- utilizao de data marts- consultas e relatrios obtidos instantaneamente- viso multidimensional das informaes;- transparncia da origem dos dados (Ingres, texto, excel, web);- arquitetura cliente/servidor, permitindo utilizao remota;- gerao de regras de negcio.
Para o desenvolvimento do projeto, foi contratada uma empresa deconsultoria com experincia na rea.
A ferramenta utilizada para a extrao/visualizao dos dados foi a O3.
A criao do cubo foi realizada utilizando-se o aplicativo O3 Designer,seguindo-se os seguintes passos:
46
Definio das dimenses e medidas do cubo e das origens de dados:
Definio das queries:
47
Codificao das queries:
Definio dos campos das queries:
48
Definio das hierarquias dimensionais:
Definio das medidas:
49
A seguir so ilustrados alguns exemplos de consultas com visualizaogrfica.
Volume de vendas anual do produto acar para os diferentes ramos deatividade:
Drill-down no ramo Doces, enfocando o ano de 98 (vendas mensais):
50
51
Volume de vendas anual do produto acar para os diferentes destinos:
Enfoque no ano de 98 (vendas mensais):
52
Receita lquida obtida no ano de 98, com o produto acar, para o clienteVonpar:
53
Bibliografia
[1] Inmon, W.H. Building the Data Warehouse. John Wiley, 1992.
[2] Chaudhuri, S., Dayal, U. An Overview of Data Warehousing and OLAPTechnology, ACM SIGMOD Record, vol.26, 65-74, 1997.
[3] Elmasri, R., Navathe, S. Fundamentals of Databases, 3 edio, 2000.
[4] Ramakrishnan, R. Database Management Systems. McGraw-Hill, 1998.
[5] Felipe, J.C. O Processo de Extrao de Conhecimento de Bases deDados Aplicado a Bancos de Dados Multimdia Orientados a Objetos.Monografia de Exame de Qualificao de Mestrado. Programa de Ps-
Graduao em Cincia da Computao, Departamento de Computao -
UFSCar, So Carlos, Fevereiro 1999.
[6] Becker, K., Pereira, W. Tutorial de Data Warehouse, XIV SimpsioBrasileiro de Banco de Dados, outubro, 1999, Florianpolis, SC, Brasil.
[7] Oracle, Oracle Data Mart Suite.
http://www.twinsoft.de/english/produkte/dmsuite_E.htm
[8] Oracle, Data Marte Suite Design - A Case Study.
http://www.avanco.com/dmdesignstudy.htm.
[9] IBM, Data Warehousing Concepts.
http://as400.rochester.ibm.com/db2/dataware.htm , 1998.
[10] Tam, Y. J., Datacube: Its Implementation and Application in OLAPMining, Thesis submitted for the degree of Master of Science in theDepartment of Computer Science of Simon Fraser University, Canada,
september 1998.
[11] Harinarayan, V., Rajaraman, A., Ullman, J. D., Implementing Data CubesEfficiently, Proc. ACM SIGMOD Int. Conference on Management of Data,June 1996.
54
[12] Roussopoulos, N., Materialized Views and Data Warehouses, ACMSIGMOD Record, Vol. 27, No. 1, Maro 1998.
55
1. Introduo2. Conceitos Bsicos2.1. Data Warehouse2.2. Data Warehousing2.3. Aplicaes sobre o DW para tomada de deciso2.4. Caractersticas de Data Warehouses2.5. Arquitetura do Data Warehousing2.6. Data Mart (DM)
3. Modelagem de Dados para DW3.1. Modelo de dados multi-dimensional3.2. Consultas OLAP3.2.1. Agregao3.2.2. Roll-up3.2.2. Drill-down3.2.4. Pivot3.2.5. Comparando com consultas SQL
4. Projeto do Data Warehouse4.1. Esquema Estrela4.2. Esquema Snowflack4.3. Constelao de Fatos4.3. Vises Materializadas4.4. Construindo um Data Warehouse4.5. Resumindo as Funcionalidades Tpicas de Data Warehouses4.6. Consideraes Finais4.6.1. Data warehousing e Vises4.6.2. Dificuldades na Implementao de Data Warehouses
5. Servidores OLAP5.1. Servidores ROLAP5.2. Servidores MOLAP5.3. Servidores HOLAP5.4. On-Line Analytical Mining (OLAM)
Apndice AESTUDO DE CASO 1 Criao de um Data Mart
Apndice BESTUDO DE CASO 2 Cubo Multidimensional e OLAP
Bibliografia