Você está na página 1de 54

Universidade Federal de So Carlos

Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

DATA WAREHOUSE

Profa Marilde Terezinha Prado Santos

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Apostila originalmente organizada por: Profa. Marina Teresa Pires Vieira Prof. Joaquim Cezar Felipe

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

1. INTRODUO.............................................................................................................................................4 2. CONCEITOS BSICOS ..............................................................................................................................7 2.1. Data Warehouse.................................................................................................................................7 2.2. Data Warehousing..............................................................................................................................7 2.3. Aplicaes sobre o DW para tomada de deciso ..............................................................................9 2.4. Caractersticas de Data Warehouses...............................................................................................10 2.5. Arquitetura do Data Warehousing ..................................................................................................12 2.6. Data Mart (DM)...............................................................................................................................13 3. MODELAGEM DE DADOS PARA DW..................................................................................................15 3.1. Modelo de dados multi-dimensional ................................................................................................15 3.2. Consultas OLAP...............................................................................................................................18 3.2.1. Agregao......................................................................................................................................19 3.2.2. Roll-up ..........................................................................................................................................19 3.2.2. Drill-down....................................................................................................................................20 3.2.4. Pivot...............................................................................................................................................21 3.2.5. Comparando com consultas SQL..................................................................................................21 4. PROJETO DO DATA WAREHOUSE .....................................................................................................24 4.1. Esquema Estrela ..............................................................................................................................24 4.2. Esquema Snowflack..........................................................................................................................25 4.3. Constelao de Fatos.......................................................................................................................27 4.3. Vises Materializadas.......................................................................................................................27 4.4. Construindo um Data Warehouse....................................................................................................28 4.5. Resumindo as Funcionalidades Tpicas de Data Warehouses ........................................................32 4.6. Consideraes Finais.......................................................................................................................33 4.6.1. Data warehousing e Vises ....................................................................................................33 4.6.2. Dificuldades na Implementao de Data Warehouses..................................................................34 5. SERVIDORES OLAP.................................................................................................................................35 5.1. Servidores ROLAP............................................................................................................................35 5.2. Servidores MOLAP...........................................................................................................................36 5.3. Servidores HOLAP...........................................................................................................................36 5.4. On-Line Analytical Mining (OLAM)................................................................................................37 APNDICE A..................................................................................................................................................39 ESTUDO DE CASO 1 Criao de um Data Mart...............................................................................39 APNDICE B...................................................................................................................................................45 ESTUDO DE CASO 2 Cubo Multidimensional e OLAP......................................................................45 BIBLIOGRAFIA.............................................................................................................................................53

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

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 tecnologias de apoio deciso, voltadas a capacitar o usurio a realizar tomadas de deciso mais rpidas e precisas. O produto da aplicao dessas tecnologias o Data warehouse, uma base de dados temporais, no volteis e integrados, tipicamente mantida 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 que

podem 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 online (OLTP on-line transaction processing) suportadas pelas bases de dados operacionais. das aplicaes tradicionalmente

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


Aplicaes OLTP tipicamente automatizam tarefas de processamento de dados 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

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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.

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

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.

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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 normais dos 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 de tornar a anlise mais eficaz. Essa anlise pode ocorrer na forma de ambientes de apoio deciso, sistemas de informaes executivas ou anlises estatsticas 8

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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 que o 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;

10

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

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 muito

grandes requerendo investimento massivo de tempo e recursos. Data warehouses virtuais fornecem vises de bancos de dados

operacionais que so materializadas para acesso eficiente. Data marts so geralmente idealizados para um subconjunto da

organizao, tal como um departamento, e so mais especficos.

11

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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 fontes externas (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 informaes ausentes, quando possvel; transformao para reconciliar erros semnticos; integrao desses dados; carga dos dados no data warehouse, que consiste na materializao das vises e no seu armazenamento no warehouse; e para periodicamente executar o refresh do warehouse, para que esse reflita as atualizaes sofridas pela base operacional. Alm do warehouse principal, pode haver diversos data marts (subconjuntos especficos focados em assuntos selecionados) departamentais. Os dados contidos no warehouse e nos data marts so armazenados e gerenciados por um ou mais servidores de warehouse, que oferecem vises multidimensionais dos dados para uma variedade de ferramentas front-end: ferramentas de consulta, geradores de relatrios, ferramentas de anlises especficas e ferramentas de data mining. Finalmente, h um repositrio para armazenamento e gerenciamento de dados de log e ferramentas para monitoramento e administrao do sistema total.

12

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


Monitoramento e Administrao Repositrio de Metadados Data Warehouse Fontes externas Extrao Transformao Carga Refresh Dados operacionais Data Marts Relatrios Servidores OLAP Anlise

Data Mining

Figura 1. Arquitetura de Data Warehousing

Ferramentas

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: 13

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


servir como projeto piloto, atender necessidades imediatas de uma unidade, atender a restries de custo, tempo, etc., entre outros.

14

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

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.
Local Tempo

Produto

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

15

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


local e por produto para um particular perodo de tempo. LOCAL LOC1 P1 P2 P3 PRODUTO P4 ...
Figura 3. Matriz bi-dimensional

LOC2

LOC3

...

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. Tempo t4 (codTempo) Os dados podem ser consultados diretamente em qualquer combinao de t3 dimenses, permitindo que consultas complexas no banco de dados original t2 sejam realizadas de forma mais direta e com maior desempenho. Existem t1 ferramentas que permitem a visualizao dos dados de acordo com a escolha de Reg1 Reg2 Reg3 P1 dimenses do usurio. ... Local . Num ambiente relacional os dados da matriz multi-dimensional podem ser (codLocal) P2 Produto representados como uma relao, como ilustrado na figura 5. Nessa relao as (codProd) tuplas estoP3 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 da tabela 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 16
Figura 4. Cubo de dados de vendas

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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 P1 P1 P1 P2 P2 P3 P3 P4 P4 P1 P1 P2 P2 P2 P3 P3 P4 P4 ... codLocal loc1 loc2 loc3 loc1 loc2 loc1 loc4 loc2 loc3 loc1 loc2 loc1 loc2 loc4 loc1 loc4 loc2 loc3 codTempo t1 t1 t1 t1 t1 t1 t1 t1 t1 t2 t2 t2 t2 t2 t2 t2 t2 t2 vendas 1000 880 1025 775 1002 888 989 1550 900 1030 920 1010 700 1100 980 980 1550 950

fatia (slice) do perodo de tempo t1

fatia (slice) do perodo de tempo t2

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 17

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


6 mostra as hierarquias para Produto, Local e Tempo do exemplo aqui considerado. PRODUTO categoria estilo TEMPO ano

LOCAL pas estado ms cidade

trimestre

cdigo produto

semana

data
Figura 6. Possveis hierarquias para Produto, Tempo e Local

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 multidimensional 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.

18

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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 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 que oferecem 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.). LOCAL CATEGORIAS DE PRODUTOS So Carlos 10.000 Ribeiro Preto 15.000 ... ... 19

Roupa

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


Calado Bijuteria ... 7.000 30.000 ... 10.000 20.000 ... ... ...

Figura 7. A operao roll-up (venda por categoria/cidade)

3.2.2. Drill-down
A operao drill-down oferece a capacidade oposta, fornecendo uma viso mais detalhada. Por exemplo, dado o total de vendas por estado e por categoria de produto, podemos solicitar uma apresentao mais detalhada desagregando vendas de cada estado por cidade e tambm quebrando categoria de produtos por estilos, conforme figura 8.

So Paulo ... S.Carlos Rib.Preto A BEstilos Roupa C D Estilos A Calado B D Estilos A Bijouteria B C Lins Assis

Rio Grande do Sul P. Alegre Caxias Sul

20

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


...
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 dos dados. 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.

...
Produto P4

3.2.5. Comparando com consultas SQL P3


P2 Algumas consultas OLAP no podem ser (ou no podem ser facilmente) P1 t2 expressas em SQL. t1 Por exemplo, das quatro consultas a seguir, as duas t3 Reg1 ... primeiras podem ser expressas como consultas SQL sobre as tabelas fato e Tempo . dimenso. A terceira consulta pode ser expressa tambm, mas mais Reg2 Local complicada em SQL. A ltima consulta no pode ser expressa em SQL, se n Reg3 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.
Figura 9. Rotao (Pivot) do cubo de dados de vendas

21

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

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 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:

22

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

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. (tabela dimenso)
VENDAS (tabela fato)

(tabelas dimenso)

TEMPO Uma outra maneira de representar esquema estrela fornecido na figura 11. PRODUTO codTempo codProd codTempo Data CodProduto codRegio Semana Categoria TEMPO vendas Ms DescrCategoria O volume maior dos dados est tipicamente na tabela Trimestre no tem fato, que valor-vendas Estilo CodTempo Data Semana Ms Trimestre Ano Preo Ano redundncia. Usualmente ela est na Forma Normal de Boyce Codd (FNBC). REGIO

Para minimizar o tamanho da tabela fato, os identificadores das dimenses (ex. CodRegio Cidade so gerados CodLocal, CodTempo)Estado Pas pelo sistema. As tabelas dimenso usualmente so no normalizadas. AREGIO razo para isso
CodReg que um banco de dados usado para OLAP esttico;VENDA anomalias de assim, Cidade atualizao, insero e eliminao no so importantes. Alm disso, o espao de Estado CodProd CodLocal CodTempo valor-vendas armazenamento ganho atravs da normalizao vendas tabelas dimenso das Figura 10. Esquema estrela do exemplo dado (fig.4) Pas

desprezvel, frente ao tempo de processamento gasto para combinar a tabela fato PRODUTO CodProd Categoria DescrCategoria Estilo Preo 24

Figura 11. Outra representao de esquema estrela

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


com as tabelas dimenso, caso estas fossem quebradas em tabelas menores normalizadas (que podem conduzir a junes adicionais).

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. (tabelas dimenso)
PRODUTO CodProduto Categoria Estilo Preo VENDA (tabela fato) CodProd CodRegio CodTempo vendas valor-vendas

(tabelas dimenso)
REGIO CodRegio Cidade Estado ESTADO

Estado Pas

TEMPO CodTempo Data Semana Ms Ano Ms Trimestre

CATEG-PROD Categoria DescrioCateg

Figura 12. Esquema Snowflack

As figuras 13 e 14 apresentam um outro exemplo de esquemas estrela e snowflack.

25

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

PEDIDO NroPedido DataPedido ... PRODUTO CodProduto NomeProduto DescrProduto Categoria DescrCateg EstiloProduto PreoUnitario ... PEDIDO CIDADE NroPedido Cidade DataPedido Estado ... Pas ... PRODUTO

RENDIMENTO VENDAS (tabela fato)

NroPedido CodVendedor CodCliente CodProduto ChaveData Cidade Quantidade ValorTotal ... VENDAS (tabela-fato)

VENDEDOR CodVendedor NomeVendedor CidadeVendedor Cota ... CLIENTE CodCliente NomeCliente EndereoCliente CidadeCliente ... DATA ChaveData VENDEDOR CodVendedor Data NomeVendedor Ms CidadeVendedor Ano Cota ... ...

Categoria DescrCateg

NroPrdido CodVendedor CodProduto 13. Outro exemplo de esquema estrela Figura CodCliente CLIENTE NomeProduto CodCliente CodProduto DescrProduto NomeCliente ChaveData Categoria EndereoCliente Cidade PreoUnitario CidadeCliente Quantidade ... ... ValorTotal ... CIDADE Cidade Estado ... MS Ms Ano DATA ChaveData Data Ms ...

ESTADO Estado Pas

26

Figura 14. Esquema Snowflack

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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.
RESULTADO. VENDAS (tabela fato) CodProduto CodRegio CodTempo Vendas PRODUTO PREVISO VENDAS (tabela fato)

(tabela dimenso)
CodProduto Categoria DescrCategoria Estilo Preo

CodProduto CodRegio CodTempoFuturo ProjeoVendas

Figura 15. Uma constelao de fatos

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 prcomputao 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.

27

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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 Data 01/07/99 02/07/99 ... 2000 500 300 3000 650 550 agregao ... ... ...

Categoria Roupa Calado Bijuteria

25/11/99 1000 220 430

Vendas - Estado So Paulo Categoria Trimestre 3 Roupa 21200 Calado 5670 Bijuteria 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

28

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


coleo integrada de dados copiados de diversas fontes. Por exemplo, o data 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 fontes heterogneas. Durante essa fase pode ser necessrio selecionar dados sobre itens especficos ou categorias especfica do pas; de itens, ou de armazns em uma regio

formatao: Os dados devem ser formatados para ficar consistentes com o warehouse. 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

para

minimizar 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

29

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


identificado como o componente que demanda maior trabalho na construo 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 SO CARLOS CENTRO RIO DE JANEIRO SO PAULO BAIRRO CENTRO Centro XXX PINHEIROS DATA 10/09/99 08/03/1999 13-05-99 15101998

30

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


S. PAULO RIBEIRO PRETO XXXX SANTANA CENTRO 000000 10/06/1998 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, ...)?

Uma tarefa de projeto muito importante avaliar quais tabelas sumrio devem 31

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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. 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 Os

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

oposta de roll-up).

32

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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.

33

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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.

34

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

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

35

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


armazenar dados esparsos de forma mais compacta em tabelas do que em arrays.

5.2. Servidores MOLAP


Outra opo amplamente adotada so os servidores as OLAP vises

Multidimensionais

(MOLAP).

Servidores

MOLAP

implementam

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).

36

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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 multidimensional 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.

37

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

38

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

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.

39

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


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 eles querem ver. As tabelas dimenso criadas so mostradas a seguir.

Tabela dimenso Fbrica: Tabela esttica com detalhes sobre todas as fbricas da empresa.

FBRICA
Cdigo Descrio Id-linha-produto

DIM-FBRICA
Chave-Fbrica Cod-Fbrica Descr-Fbrica Regio-Fbrica

40

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Tabela dimenso Tempo: A tabela Tempo foi necessria, pois os relatrios necessitam avaliar os dados por dia, feriados, perodos fiscais, etc. Se os agrupamentos fossem somente referentes a anos/meses a tabela Tempo poderia ser dispensada.

DIM-TEMPO
Chave-tempo Id-data Dia-do-ms Numero-ms Descr-ms Semana-do-ano Descr-dia Num-ano Dia-do-ano Nmero-trimestre Data-venda

Tabela dimenso Item:

ITEM
Cdigo Tipo Descrio Id-linha-item Classe

DIM-ITEM
Chave-item Tipo-item Cd-linha-item Descr-linha-item Classe-item Sub-classe-item Flag-item Descrio-item

LINHA-ITEM
Cdigo Descrio

41

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Tabela dimenso Cliente:

CLIENTE
Cdigo Nome Endereo1 Endereo 2 Cidade Estado CEP Represent-venda Tipo

DIM-CLIENTE
Chave-cliente Cod-cliente Nome-cliente Cod-Repres-venda Nome-repres-venda Tipo-cliente

Tabela dimenso Representante de Vendas :

REPRES-VENDA
Cdigo Nome

DIM-REPRES-VENDA
Chave-repr-venda Codigo-repr-venda nome-repr-venda

Tabela dimenso Transportadora:

TRANSPORTADORA
Cdigo Nome

DIM-TRANSPORTADORA
Chave-Transportadora Cdigo Nome

42

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Tabela fato Ticket -Fatura:

TICKET-FATURA
Nmero-fatura Nmero-ticket Tipo-ticket Cod-Fbrica Cod-cliente Cdigo Data-envio Cod-produto Qtde-enviada Preo-produto Custo-fixado-produto-por-unidade Custo-variavel-produto-por-unidade Cd-transportadora Custo-transporte-por-unidade Regio-entrega Local-entrega

Tabela dimenso Regio de Entrega:

DIM-REGIO-ENTREGA
Chave-entrega Estado-entrega Pas-entrega Local-entrega Regio-entrega

43

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

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, decidiuse 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.

44

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Apndice B
ESTUDO DE CASO 2 Cubo Multidimensional e OLAP

Este estudo de caso descreve a implementao do cubo multidimensional para consultas OLAP realizada em uma usina de acar e lcool, situada no estado 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 de informaes. 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 fim de verificar as vantagens da soluo OLAP, justificando, assim a implementao do projeto. Algumas das caractersticas levantadas foram: OLTP
- 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.

OLAP
- 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 de consultoria 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:

45

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Definio das dimenses e medidas do cubo e das origens de dados:

Definio das queries:

46

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Codificao das queries:

Definio dos campos das queries:

47

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Definio das hierarquias dimensionais:

Definio das medidas:

48

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


A seguir so ilustrados alguns exemplos de consultas com visualizao grfica. Volume de vendas anual do produto acar para os diferentes ramos de atividade:

Drill-down no ramo Doces, enfocando o ano de 98 (vendas mensais):

49

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

50

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Volume de vendas anual do produto acar para os diferentes destinos:

Enfoque no ano de 98 (vendas mensais):

51

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


Receita lquida obtida no ano de 98, com o produto acar, para o cliente Vonpar:

52

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao

Bibliografia
[1] Inmon, W.H. Building the Data Warehouse. John Wiley, 1992. [2] Chaudhuri, S., Dayal, U. An Overview of Data Warehousing and OLAP Technology, 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 de Dados Aplicado a Bancos de Dados Multimdia Orientados a Objetos. Monografia de Exame de Qualificao de Mestrado. Programa de PsGraduao em Cincia da Computao, Departamento de Computao UFSCar, So Carlos, Fevereiro 1999. [6] Becker, K., Pereira, W. Tutorial de Data Warehouse, XIV Simpsio Brasileiro 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 OLAP Mining, Thesis submitted for the degree of Master of Science in the Department of Computer Science of Simon Fraser University, Canada, september 1998. [11] Harinarayan, V., Rajaraman, A., Ullman, J. D., Implementing Data Cubes Efficiently, Proc. ACM SIGMOD Int. Conference on Management of Data, June 1996.

53

Universidade Federal de So Carlos Departamento de Computao Curso de Ps-Graduao Lato-Sensu em Computao


[12] Roussopoulos, N., Materialized Views and Data Warehouses, ACM SIGMOD Record, Vol. 27, No. 1, Maro 1998.

54