Professional Documents
Culture Documents
Monografia apresentada como exigncia parcial para a obteno do grau de Bacharel em Cincia da Computao pela Faculdade de Cincias Administrativas Valinhos, sob a orientao do Professor Doutor Gilberto Shigueo Nakamiti.
VALINHOS 1.999
Resumo
O ambiente de dados para suporte aos processos de gerncia e tomada de deciso fundamentalmente diferente do ambiente convencional de processamento de transaes. No corao deste ambiente est a idia do data warehouse, integrando e consolidando dados disponveis em diferentes acervos para fins de explorao e anlise, ampliando o contedo informacional destes acervos para atender s expectativas e necessidades de nvel estratgico na empresa. Esta monografia tem por objetivo apresentar o estado da arte da tecnologia de data warehouse, introduzindo os principais conceitos na rea e discutindo as diferenas deste ambiente para os ambientes e ferramentas usuais de gerenciamento e tratamento de informaes, alem de mostrar duas formas de extrao de seus dados: a OLAP e o data mining, cada uma com suas caractersticas, podendo ser usadas separadamente ou em conjunto para um melhor resultado.
Sumrio
Resumo Sumrio
Introduo Cap. I - Evoluo dos Sistemas de Apoio Deciso 1.1 Histrico 1.2 A teia de aranha 1.3 O Ambiente projetado Cap. II Caractersticas do Data Warehouse 2.1 O Ciclo de vida do desenvolvimento 2.2 - Orientado por temas 2.3 - Integrado 2.4 - Variante no tempo 2.5 - No voltil 2.6 - Granularidade 2.6.1 Nveis duais de granularidade 2.7 Particionamento de dados Cap. III Arquitetura do Data Warehouse 3.1 Arquitetura genrica do data warehouse 3.2 Outras arquiteturas 3.2.1 Arquitetura de duas camadas 3.2.2 Arquitetura de trs camadas Cap. IV Modelo de dados do Data Warehouse 4.1 - A Questo das Dimenses 4.2 - Esquemas do tipo Estrela e Floco de Neve 4.2.1 Vantagens do modelo estrela 4.2.2 - Bancos de Dados Multidimensionais 4.3 Converso do modelo E-R para o modelo do data warehouse
4.3.1 - Remoo dos dados puramente operacionais 4.3.2 - Adio de um elemento de tempo na estrutura da chave 4.3.3 - Introduo de dados derivados 4.3.4 - Transformao de Relacionamentos entre dados em artefatos dos dados 4.3.5 - Acomodao dos diferentes nveis de granularidade 4.3.6 - Unio dos dados comuns de diferentes tabelas 4.3.7 - Criao de arrays de dados 4.3.8 - Separao dos atributos de dados de acordo com sua estabilidade Cap. V Desenvolvimento do Data Warehouse 5.1 - Estratgia Evolucionria 5.2 - Aspectos de Modelagem 5.3 Tcnicas de gerenciamento da quantidade de dados operacionais pesquisados 5.4 Tcnicas para incrementar a performance 5.5 - Etapas do Desenvolvimento de um Data Warehouse 5.6 Relacional versus multidimensional 5.5.1 - Um ou mais bancos Cap. VI Povoando o Data Warehouse 6.1 Extrao 6.2 Transformao e filtros 6.3 - Derivao e Sumarizao Cap. VII Extraindo informaes do Data Warehouse 7.1 - Ferramentas OLAP 7.1.1 - MOLAP x ROLAP 7.2 - Ferramentas Data Mining 7.2.1 - O processo do Data Mining
7.2.2 A tecnologia da rvore 7.2.3 Reteno dos dados 7.2.4 Destilao de padres 7.2.4.1 Semelhana lgica 7.2.4.1.1 Regras 7.2.4.1.1.1 - Regra indutiva 7.2.4.1.1.2 Algoritmos genticos 7.2.4.1.2 rvores de deciso 7.2.4.2 Tabulao cruzada 7.2.4.2.1 - Agentes 7.2.4.2.2 Redes de confiana 7.2.4.3 Aproximaes equacionais 7.2.4.3.1 Redes neurais Concluso Bibliografia
Introduo
Hoje em dia uma organizao precisa utilizar toda informao disponvel para criar e manter vantagem competitiva. Sai na frente a organizao que consegue tomar decises corretas e rpidas. Com esta importante tarefa nas mos, profissionais tomadores de deciso tais como executivos, gerentes e analistas, exigem dos sistemas de suporte deciso (Decision Support Systems - DSS) mais recursos para anlise, front-ends que suportem consultas ad hoc, interfaces grficas apropriadas, etc. A idia de data warehouse integrar os dados internos e externos de uma organizao em uma estrutura nica permitindo uma melhor utilizao dos dados pelos analistas, gerentes e executivos. Uma vez obtida a integrao, sistemas como OLAP (On-Line Analytical Processing) e data mining fornecem mecanismos sofisticados para anlise dos dados. Estudar e conhecer a tecnologia de data warehouse pode ajudar os empresrios a descobrir novas formas de competir em uma economia globalizada, trazendo melhores produtos ou servios para o mercado, mais rpido do que os concorrentes, sem aumentar o custo do produto ou do servio. No existem ainda metodologias formais para implementao de um data warehouse, ela deve ser adaptada s caractersticas e s expectativas de cada empresa, mas o principal objetivo em todas elas o de descobrir maneiras diferentes de atuar no mercado e quais as mudanas internas que devem ocorrer para atender as novas realidades. Este trabalho tm como objetivo fazer um estudo dos principais conceitos necessrios para o desenvolvimento de um ambiente de data warehouse. No captulo I apresentada a evoluo dos sistemas de apoio deciso e o motivo do surgimento da necessidade do data warehouse. No captulo II inicia-se os conceitos sobre o data warehouse, mostrando suas caractersticas bsicas. O captulo III mostra as arquiteturas disponveis para construo de data warehouses, e no captulo IV os modelos de dados. O captulo V mostra alguns detalhes do desenvolvimento propriamente dito do data warehouse. O captulo VI mostra as tcnicas para extrair as informaes dos sistemas existentes e transforma-las adequadamente para o data warehouse. E finalmente no captulo VII so apresentadas as tcnicas para extrao e analise dos dados de um data warehouse que so: OLAP e data mining.
complexidade do desenvolvimento de novos programas; a quantidade de hardware para manter todos os arquivos mestres e a necessidade de sincronizar dados a serem atualizados. Por volta de 1970, surgiu a tecnologia DASD (direct access storage device), substituindo as fitas magnticas pelo armazenamento em disco. Com o DASD surgiu um novo tipo de software conhecido como SGBD ou sistema de gerenciamento de banco de dados, que tinha o objetivo de tornar o armazenamento e o acesso a dados no DASD mais fceis para o programador. E com o SGBD surgiu a idia de um banco de dados que foi definido como: uma nica fonte de dados para todo o processamento. Aproximadamente em 1975 surgiu o processamento de transaes online. Com o processamento de transaes online de alta performance, o computador pde ser usado para tarefas que antes no eram viveis como controlar sistemas de reservas, sistemas de caixas bancrios, sistemas de controle de produo e outros. At o incio da dcada de 1980, novas tecnologias, como os PCs e as L4Gs (linguagens de quarta gerao), comearam a aparecer. O usurio final passou a controlar diretamente os sistemas e os dados, descobrindo que era possvel utilizar os dados para outros objetivos alm de atender ao processamento de transaes online de alta performance. Foi nesse perodo tambm que se tornou vivel a construo dos MIS (management information systems), hoje conhecidos como SAD eles consistiam em processamento utilizado para direcionar decises gerenciais [INM97].
Produtividade; Localizar e analisar os dados para o relatrio Compilar os dados para o relatrio Obter recursos humanos de programao/anlise para realizar os pontos citados acima
H quatro nveis no ambiente projetado o operacional, a atmico ou data warehouse, o departamental e o individual. O nvel operacional de dados contm apenas dados primitivos e atende comunidade de processamento de transaes de alta performance. O data warehouse contm dados primitivos que no so atualizados e dados derivados. O nvel departamental de dados praticamente s contm dados derivados. E o nvel individual de dados onde o maior parte das anlises heursticas feito [INM97]. A Figura 1.2 mostra os tipos de consulta para os quais os diferentes nveis de dados podem ser usados.
Redundncia Estrutura Manuteno desejada Acesso a registros Atualizao Integridade Nmero de ndices Inteno dos ndices
No ocorre Esttica Mnima Dezenas Contnua (tempo real) Transao Poucos/simples Localizar um registro
Ocorre Varivel Constante Milhares Peridica (em batch) A cada atualizao Muitos/complexos Aperfeioar consultas
Tabela 1.1 Comparao entre Banco de Dados Operacionais e Data Warehouse. O data warehouse um banco de dados contendo dados extrados do ambiente de produo da empresa, que foram selecionados e depurados, tendo sido otimizados para processamento de consulta e no para processamento de transaes. Em geral, um data warehouse requer a consolidao de outros recursos de dados alm dos armazenados em banco de dados relacionais, incluindo informaes provenientes de planilhas eletrnicas, documentos textuais, etc. importante considerar, no entanto, que um data warehouse no contem apenas dados resumidos, podendo conter tambm dados primitivos. desejvel prover ao usurio a capacidade de aprofundar-se num determinado tpico, investigando nveis de agregao menores ou mesmo o data primitivo, permitindo tambm a gerao de novas agregaes ou correlaes com outras variveis. Alm do mais, extremamente difcil prever todos os possveis dados resumidos que sero necessrios: limitar o contedo de um data warehouse apenas a dados resumidos significa limitar os usurios apenas s consultas e anlises que eles puderem antecipar frente a seus requisitos atuais, no deixando qualquer flexibilidade para novas necessidades [CAM99].
os dados com alta probabilidade de acesso e baixo volume residem em dispositivos de armazenamento de acesso direto (DASD) e os dados que apresentam baixa probabilidade de acesso e grande volume residem em fita magntica.
2.3 - Integrado
Refere-se consistncia de nomes, das unidades das variveis, etc., no sentido de que os dados foram transformados at um estado uniforme. Por exemplo, considere-se sexo como um elemento de dado. Uma aplicao pode codificar sexo como M/F, outra como 1/0 e uma terceira como H/M. Conforme os dados so trazidos para o data warehouse, eles so convertidos para um estado uniforme, ou seja, sexo codificado apenas de uma forma. Da mesma maneira, se um elemento de dado medido em centmetros em uma aplicao, em polegadas em outra, ele ser convertido para uma representao nica ao ser colocado no data warehouse [CAM99].
simples, mas dias e meses oferecem dificuldades pelas variaes encontradas no nmero de dias em um ms ou em um ano, ou ainda no incio das semanas dentro de um ms. Alm disso, deve-se considerar que no apenas os dados tm uma caracterstica temporal, mas tambm os metadados, que incluem definies dos itens de dados, rotinas de validao, algoritmos de derivao, etc. Sem a manuteno do histrico dos metadados, as mudanas das regras de negcio que afetam os dados no data warehouse so perdidas, invalidando dados histricos [CAM99].
sistemas podem conter redundncias e diferenas, ento antes de pass-los para o data warehouse necessrio aplicar filtros sobre eles. O estudo de uma arquitetura permite compreender como o data warehouse faz para armazenar, integrar, comunicar, processar e apresentar os dados que os usurios utilizaro em suas decises. Um data warehouse pode variar sua arquitetura conforme o tipo de assunto abordado, pois as necessidades tambm variam de empresa para empresa. possvel definir uma arquitetura genrica onde praticamente todas as camadas necessrias so apresentadas, conforme a arquitetura genrica vista a seguir, ou arquiteturas que utilizam somente algumas das camadas definidas, como as arquiteturas em duas e trs camadas.
warehouse para que ele mantenha sua funcionalidade e os usurios no precisem se preocupar onde residem os dados ou a forma com que esto armazenados; Camada de gerenciamento de processos: a camada responsvel pelo gerenciamento dos processos que contribuem para manter o data warehouse atualizado e consistente. Est envolvida com o controle das vrias tarefas que devem ser realizadas para construir e manter as informaes do dicionrio de dados e do data warehouse; Camada de transporte: Esta camada gerencia o transporte de informaes pelo ambiente de rede. Inclui a coleta de mensagens e transaes e se encarrega de entreg-las em locais e tempos determinados. Tambm usada para isolar aplicaes operacionais ou informacionais, do formato real dos dados nas duas extremidades; Camada do Data Warehouse: o data warehouse propriamente dito, corresponde aos dados utilizados para obter informaes. s vezes o data warehouse pode ser simplesmente uma viso lgica ou virtual dos dados, podendo no envolver o armazenamento dos mesmos ou armazenar dados operacionais e externos para facilitar seu acesso e manuseio.
sistemas operacionais de uma empresa podem estar em uso por 15 ou 20 anos e podem ter altas taxas de redundncia. A redundncia e a falta de consistncia dos dados pode dificultar a administrao da empresa e o acesso aos dados e impede o desenvolvimento de novas aplicaes front end. Uma das maneiras de tratar com esta situao partir de um s sistema e construir uma espcie de "sistema guarda-chuva" que tenha facilidade de acesso aos dados do servidor principal.
No ambiente do data warehouse, os servidores de banco de dados e os servidores de aplicaes da segunda camada fornecem um acesso eficiente e veloz aos dados compartilhados. Os dados de um data warehouse so tipicamente estticos, por exemplo, no variam com o tempo e devem ser integrados, de natureza histrica e sumarizados ou agregados para que sejam significantes para os analistas de negcios. Como mostrado na Figura 3.3, dados operacionais e bancos de dados para o data warehouse so freqentemente armazenados em servidores fisicamente separados. Bancos de dados operacionais so otimizados para ter alto desempenho no processamento de transaes on-line, em ingls conhecido como On-line Transaction Processing (OLTP). Bancos de dados para data warehouse so otimizados para ter alto desempenho em consultas e anlises, em ingls conhecido como On-line Analytical Processing (OLAP).
O modelo de dados tem um papel fundamental para o desenvolvimento interativo do data warehouse. Quando os esforos de desenvolvimentos so baseados em um nico modelo de dados sempre que for necessrio unir estes esforos os nveis de sobreposio de trabalho e desenvolvimento desconexo sero muito baixos, pois todos os componentes do sistema estaro utilizando a mesma estrutura de dados. Existe um grande nmero de enfoques sobre modelagem de dados j desenvolvidos por vrios autores, a maioria deles pode ser usada para construir um data warehouse. Dentre estes modelos apenas o multidimensional ser apresentado neste trabalho.
Teoricamente, quaisquer dados podem ser considerados multidimensionais. Entretanto, o termo normalmente se refere a dados representando objetos ou eventos que podem ser descritos, e, portanto, classificados por dois ou mais de seus atributos. Estruturas relacionais podem ser usadas para a representao e o armazenamento de dados multidimensionais. Neste caso, as abordagens encontradas incluem desde a adoo de formas especficas de modelagem (os chamados esquemas estrela e floco de neve) at mecanismos sofisticados de indexao.
"quebrando-se" a tabela original ao longo de hierarquias existentes em seus atributos. No caso do exemplo, a dimenso produto possui uma hierarquia definida onde categoria se divide em marca e marca se divide em produtos (Figura 4.2). Da mesma forma, a dimenso tempo inclui ano que contem ms e ms que contem dia-do-mes. Cada um destes relacionamentos muitospara-1 geraria uma nova tabela em um esquema floco de neve.
Existe um conjunto de abordagens padres para tratamento de situaes comuns no mundo dos negcios. Cada uma destas tem um conjunto bem definido de alternativas que podem ento ser especificamente programadas em geradores de relatrios, ferramentas de consulta e outras interfaces do usurio. Dentre estas situaes temos: o Mudanas lentas das dimenses: ocorre quando uma determinada dimenso evolui de forma lenta e assncrona;
Produtos heterogneos: quando um negcio, tal como um banco, precisa controlar diferentes linhas de negcio juntas, dentro de um conjunto comum de atributos e fatos, mas ao mesmo tempo esta precisa descrever e medir as linhas individuais de negcio usando medidas incompatveis;
Outra vantagem o fato de um nmero cada vez maior de utilitrios administrativos e processo de software serem capazes de gerenciar e usar agregados, que so de suma importncia para a boa performance de respostas em um data warehouse [DAL99].
Modelo
Van Coupe Sedan
descrio e status so retirados, pois muito pouco provvel que estes sejam utilizados no processo de tomada de deciso. Neste momento, pode ser que se pense em manter todos os atributos, pois talvez algum destes seja necessrio para alguma deciso especfica. Entretanto, deve-se levar em conta o custo para gerenciar grandes volumes de dados [DAL99].
ento ser capturadas. A tabela de produtos no modelo do data warehouse ficaria ento como a mostrada na Figura 4.8 [DAL99].
Como exemplo, consideremos a Figura 4.10, onde temos as tabelas NOTAS e ITENS DAS NOTAS. Quando estas so colocadas no modelo do data warehouse, estas vo para uma mesma tabela. Dessa forma, a juno entre estas tabelas passa a no ser mais necessria quando uma consulta for feita. Neste caso, podemos ver que as trs condies so atendidas: as tabelas compartilham parte da chave, ID da Nota; estas duas tabelas geralmente so usadas juntas; e o padro de insero o mesmo, ou seja, sempre que uma nota inserida seus itens tambm o so [DAL99].
A Figura 4.11 mostra uma tabela no modelo corporativo com as previses de gasto mensais. Quando esta colocada no modelo do data warehouse, os dados so armazenados de forma que cada ms do ano uma ocorrncia no array [DAL99].
O escopo de um data warehouse pode ser to amplo quanto aquele que inclui todo o conjunto de informaes de uma empresa ou to restrito quanto um data warehouse pessoal de um nico gerente. Quanto maior o escopo, mais valor o data warehouse tem para a empresa e mais cara e trabalhosa sua criao e manuteno. Por isso, muitas empresas tendem a comear com um ambiente departamental e s aps obter um retorno de seus usurios expandir seu escopo. Quanto redundncia de dados, h essencialmente trs nveis de redundncia: o data warehouse virtual, o data warehouse centralizado e o data warehouse distribudo. O data warehouse virtual consiste em simplesmente prover os usurios finais com facilidades adequadas para extrao das informaes diretamente dos bancos de produo, no havendo assim redundncia, mas podendo sobrecarregar o ambiente operacional. O data warehouse central constitui-se em um nico banco de dados fsico contendo todos os dados para uma rea funcional especfica, um departamento ou uma empresa, sendo usados onde existe uma necessidade comum de informaes. Um data warehouse central normalmente contm dados oriundos de diversos bancos operacionais, devendo ser carregado e mantido em intervalos regulares. O data warehouse distribudo, como o nome indica, possui seus componentes distribudos por diferentes bancos de dados fsicos, normalmente possuindo uma grau de redundncia alto e por conseqncia, procedimentos mais complexos de carga e manuteno.
Os padres de uso de um data warehouse tambm constituem um fator importante na escolha de alternativas para o ambiente. Relatrios e consultas pr-estruturadas podem satisfazer o usurio final, e geram pouca demanda sobre o SGBD e sobre o ambiente servidor. Anlises complexas, por sua vez, tpicas de ambientes de suporte deciso, exigem mais de todo o ambiente. Ambientes dinmicos, com necessidades em constante mudana, so mais bem atendidos por uma arquitetura simples e de fcil alterao, ao invs de uma estrutura mais complexa que necessite de reconstruo a cada mudana. A freqncia da necessidade de atualizao tambm determinante: grandes volumes de dados que so atualizados em intervalos regulares favorecem uma arquitetura centralizada.
Outra alternativa selecionar um grupo de usurios, prover ferramentas adequadas, construir um prottipo do data warehouse, deixando que os usurios experimentem com pequenas amostras de dados. Somente aps a concordncia do grupo quanto aos requisitos e funcionamento, que o data warehouse ser de fato carregado com dados dos sistemas operacionais na empresa e dados externos. Data marts tambm pode ser criados como subconjunto de um data warehouse maior, em busca de autonomia, melhor desempenho e simplicidade de compreenso.
A ltima opo consiste em moldar um arquivo de imagem "anterior" e "posterior". Segundo esta opo, uma cpia do banco de dados tirada no momento da extrao e quando for realizada outra extrao, outra cpia ser tirada. As duas cpias sero comparadas serialmente entre si para que seja detectada a atividade transcorrida neste perodo e ento resgatadas s diferenas entre as duas copias. Esse mtodo pesado, complexo e demanda uma quantidade excessiva de recursos.
diminuindo assim a quantidade de E/S (entradas/sadas), tanto em termos de acesso aos dados, como em termos de acessos aos ndices para a localizao dos dados. A melhor estratgia de intercalao de tabelas deve ser defina com base nos tipos de dados e possveis consultas que podem ser realizadas. Outra tcnica importante aplicada especialmente no ambiente de data warehouse consiste na introduo intencional de dados redundantes. A Figura 5.2 mostra um exemplo no qual a introduo deliberada de dados redundantes proporciona um excelente retorno. Na parte superior da Figura 5.2 o campo descrio est normalizado e no apresenta redundncia. Dessa maneira todos os processos que precisam ver a descrio precisam acessar a tabela bsica. Na parte inferior da Figura 5.2 o campo descrio foi intencionalmente colocado nas diversas tabelas em que ele precisa ser usado. O problema da replicao de dados somente o aumento do volume do data warehouse, j que praticamente no existe a preocupao com atualizaes neste ambiente.
Figura 5.2 Introduo intencional de dados redundantes. A terceira tcnica que pode ser utilizada para aumentar a velocidade de acesso aos dados chamada de "separao de dados" que consiste em transformar uma tabela normalizada e que apresente probabilidades de acesso muito diferentes em duas tabelas separadas. Para a construo de um data warehouse pode ser usada tambm uma tcnica chamada de ndice criativo. Um ndice criativo gerado quando os dados passam do ambiente
operacional para o ambiente de data warehouse. O ndice criativo gera um perfil de dados de interesse do usurio final, como informaes sobre os produtos mais vendidos, clientes inativos e outras informaes que possam antecipar os interesses da gerencia, como esta antecipao nem sempre possvel necessrio avaliar com cautela sobre quais os dados em que ser aplicada esta tcnica. Por ltimo deve-se esclarecer que a tentativa de reproduzir a integridade referencial no data warehouse constitui uma abordagem incorreta pois os dados em um data warehouse no so atualizados e representam informaes ao longo do tempo, com isso os relacionamentos no permanecem iguais impossibilitando a criao de relacionamentos.
Recomenda-se que estas definies se faam na ordem acima. Esta metodologia segue a linha top-down, pois comea identificando os grandes processos da empresa. Como exemplo, temos os processos de uma empresa revendedora de produtos: planos de estoque, ordens de compra, inventrio, pedidos de clientes, expedio de pedidos, crditos, etc. Quando os processos estiverem identificados, cria-se uma ou mais tabelas de fatos a partir de cada um deles. Neste ponto necessrio ento decidir o a um fato individual naquela tabela (esta a granularidade da tabela). Exemplos de granularidade so: uma linha sobre um produto, um perfil de venda dirio do produto, ou um perfil de venda mensal do produto. Aps definir a granularidade da tabela de fatos, o prximo passo definir as dimenses e suas granularidades. Neste exemplo, considera-se a tabela de fatos vendas acumuladas do produto. Uma vez definida a granularidade, as dimenses e suas respectivas granularidades podem ser identificadas. Assim, as dimenses tempo, produto e vendedor so criadas, alm de outras dimenses descritivas como local-de-expedio, local-de-recebimento, modo-de-envio. A adio destas dimenses descritivas no altera o nmero de instncias na tabela de fatos. A Figura 5.3 mostra a tabela de fatos com as dimenses identificadas. Cada dimenso pode ser vista como um ponto de entrada para a tabela de fatos. A escolha das dimenses o ponto chave no projeto. O passo seguinte consiste em detalhar todos as medidas que constaro da tabela de fatos e finalmente completar as tabelas de dimenses. Neste instante, tem-se a estrutura do projeto lgico completa. A partir de ento, passa-se a trabalhar questes relativas ao projeto fsico, avaliando mudanas graduais em dimenses e discutindo-se a incluso de agregaes, minidimenses e dimenses heterogneas.
Figura 5.3 - A tabela de fatos e suas dimenses. 5.6 Relacional versus multidimensional
Bancos de dados relacionais encontram em sua flexibilidade e potencial para consultas adhoc, um de seus pontos fortes. Bancos de dados relacionais so sabidamente mais flexveis quando so usados com uma estrutura de dados normalizada. Uma tpica consulta OLAP, no entanto, "atravessa" diversas relaes e requer diversas operaes de juno para reunir estes dados. O desempenho dos sistemas de banco de dados relacionais tradicionais melhor para consultas baseadas em chaves do que consultas baseadas em contedo.
Para atender os requisitos deste tipo de transaes, fornecedores de SGBDs relacionais tm adicionado funcionalidades a seus produtos. Estas funcionalidades incluem extenses s estruturas de armazenamento e aos operadores relacionais e esquemas de indexao especializados. Estas tcnicas podem melhorar o desempenho para recuperaes por contedo atravs da pr-juno de tabelas usando ndices ou pelo uso de listas de ndices totalmente invertidas. A maioria das ferramentas de acesso a data warehouses explora a natureza multidimensional dos dados. Por isso, estruturar os dados em bancos de dados relacionais tradicionais em esquemas do tipo estrela ou floco de neve tornou-se uma abordagem bastante comum. Estes esquemas podem usar mltiplas tabelas e ponteiros para simular uma estrutura multidimensional. Tambm possvel usar algum outro mecanismo no relacional para armazenar algumas das agregaes pr-calculadas enquanto outras so obtidas dinamicamente. Esta abordagem goza dos benefcios de um mecanismo relacional, tirando vantagem do clculo prvio de algumas agregaes. Normalmente a tabela central de fatos bem grande enquanto as das demais dimenses so bem menores. Por sua vez, bancos de dados multidimensionais permitem manipular diretamente objetos multidimensionais. As dimenses so identificadas ao criar a estrutura do banco, de forma que adicionar uma nova dimenso pode ser trabalhoso. Alguns bancos multidimensionais requerem uma completa recarga do banco quando uma reestruturao ocorre. Portanto, so mais recomendados para ambientes mais estveis onde os requisitos sobre os dados no estejam em constante mudana.
A extrao, limpeza, transformao e migrao de dados dos sistemas existentes na empresa para o Data warehouse constituem tarefas crticas para o seu funcionamento efetivo e eficiente. Diversas tcnicas e abordagens tm sido propostas, algumas bastante genricas e outras especialmente voltadas para a manuteno de integridade dos dados num ambiente caracterizado pela derivao e replicao de informaes. Os produtos oferecidos no mercado procuram automatizar processos que teriam de ser feitos manualmente ou utilizando ambientes de programao de mais baixo nvel. De fato, no existe uma ferramenta nica capaz de oferecer suporte aos processos de extrao, limpeza, transformao e migrao dos dados: diferentes ferramentas especializam-se em questes especficas. O grande desafio por trs da alimentao de dados das fontes para o data warehouse no tcnico, mas gerencial. Muitos dos processos envolvidos - como mapeamento, integrao e avaliao de qualidade - ocorrem de fato durante a fase de anlise e projeto do data warehouse. Especialistas afirmam que identificar fontes, definir regras de transformao e detectar e resolver questes de qualidade e integrao consomem cerca de 80 % do tempo de projeto. Infelizmente, no fcil automatizar estas tarefas. Embora algumas ferramentas possam ajudar a detectar problemas na qualidade dos dados e gerar programas de extrao, a maioria das informaes necessria para desenvolver regras de mapeamento e transformao existe apenas na cabea dos analistas e usurios. Fatores que certamente influem na estimativa de tempo para estas tarefas so o nmero de fontes e a qualidade dos metadados mantidos sobre estas fontes. As regras de negcio associadas a cada fonte - tais como validao de domnios, regras de derivao e dependncias entre elementos de dados - so outra fonte de preocupaes. Se estas regras tiverem de ser extradas do cdigo fonte das aplicaes, o tempo para mapeamento e integrao pode dobrar [CAM99].
6.1 Extrao
As vrias alternativas para extrao permitem balancear desempenho, restries de tempo e de armazenamento. Por exemplo, se a fonte for um banco de dados on-line, pode-se submeter uma consulta diretamente ao banco para criar os arquivos de extrao. O desempenho das aplicaes ligadas s fontes pode cair consideravelmente se transaes on-line e as consultas para extrao competirem entre si. Uma soluo alternativa criar uma cpia corrente dos dados das fontes a partir da qual se far ento a extrao. Como desvantagem desta soluo, podemos citar o espao adicional de disco necessrio para armazenar a cpia. Outra alternativa examinar o ciclo de processamento de algumas transaes off-line que atuem nas fontes. Os programas que criam os arquivos de extrao para a carga do data warehouse podem ser incorporados a um ponto apropriado deste esquema de processamento [CAM99]. As rotinas de extrao devem ser capazes de isolar somente aqueles dados que foram inseridos e atualizados desde a ltima extrao, este processo conhecido como refresh. A melhor poltica de refresh deve ser avaliada pelo administrador do data warehouse, que deve levar em conta caractersticas como as necessidades dos usurios finais, trfego na rede e perodos de menor sobrecarga, tanto das origens dos dados quanto do data warehouse, devese considerar que os perodos de sobrecarga podem variar para cada origem de dados [DAL99].
Depois de identificados os conflitos de modelagem, deve-se criar as regras de mapeamento de representaes equivalentes e de converso para os padres estabelecidos pelo data warehouse [DAL99].
corporativo. Uma alternativa fazer a derivao quando o servidor de replicao distribui os dados para os data warehouses. Ou ento, derivar os dados "on-the-fly" quando o usurio submeter uma consulta ou lanar uma simulao [CAM99].
A nova tendncia dessas solues a integrao com o ambiente Web, permitindo maior agilidade em consultas estticas e dinmicas. Nesta monografia veremos de forma bsica e separadamente os conceitos das tecnologias OLAP e Data mining. A diferena bsica entre ferramentas OLAP e data mining est na maneira como a explorao dos dados abordada. Com ferramentas OLAP a explorao feita na base da verificao, isto , o analista conhece a questo, elabora uma hiptese e utiliza a ferramenta para confirm-la. Com data mining, a questo total ou parcialmente desconhecida e a ferramenta utilizada para a busca de conhecimento.
"cliente", "produto", "fornecedor" e "tempo". A clula resultante da interseo das dimenses chamada de medida e geralmente representa dados numricos tais como "unidades vendidas", "lucro" e "total de venda". Alm dos componentes dimenso e medida outro importante aspecto do modelo multi-dimensional a consolidao dos dados uma vez que para a tarefa de anlise so mais teis e significativas as agregaes (ou sumarizao) dos valores indicativas dos negcios [TEC99]. A expresso Decision Cube refere-se a um conjunto de componentes de suporte deciso, que podem ser utilizados para cruzar tabelas de um banco de dados, gerando diversas vises atravs de planilhas ou grficos. Envolve o clculo, quando da carga do data warehouse, de dados que o usurio vir a solicitar, mas que podem ser derivados de outros dados. Quando o usurio solicita os dados, estes j esto devidamente calculados, agregados em um Cubo de Decises [DAL99]. Alm da viso multi-dimensional dos dados da empresa, outras importantes caractersticas dos sistemas OLAP so [TEC99]: Anlise de tendncias. A tecnologia OLAP mais do que uma forma de visualizar a histria dos dados. Deve, tambm, ajudar os usurios a tomar decises sobre o futuro, permitindo a construo de cenrios ("e se...") a partir de suposies e frmulas aplicadas, pelos analistas, aos dados histricos disponveis; Busca automtica (reach-through) de dados mais detalhados que no esto disponveis no servidor OLAP. Detalhes no so normalmente importantes na tarefa de anlise, mas quando necessrios, o servidor OLAP deve ser capaz de busc-los; Dimensionalidade genrica; Operao trans-dimensional. Possibilidade de fazer clculos e manipulao de dados atravs diferentes dimenses; Possibilidade de ver os dados de diferentes pontos de vista (slice and dice), mediante a rotao (pivoting) do cubo e a navegao (drill-up/drill-down) entre os nveis de agregao; Conjunto de funes de anlise e clculos no triviais com os dados.
Existe tambm um conjunto de 12 regras que servem para avaliar as ferramentas OLAP conforme [BIS99]: 1. Viso conceitual multidimensional 2. Transparncia 3. Acessibilidade 4. Desempenho consistente de fornecimento de informaes
5. Arquitetura cliente/servidor 6. Dimensionalidade genrica 7. Manipulao dinmica da matriz esparsa 8. Suporte multiusurio 9. Operaes irrestritas com dimenses cruzadas 10. Manipulao intuitiva dos dados 11. Relatrios flexveis 12. Dimenses e nveis de agregao ilimitados Uma arquitetura OLAP possui trs componentes principais: um modelo de negcios para anlises interativas, implementado numa linguagem grfica que permita diversas vises e nveis de detalhes dos dados; um motor OLAP para processar consultas multidimensionais contra o dado-alvo; e um mecanismo para armazenar os dados a serem analisados. A base de dados usada define se o pacote um ROLAP, que interfaceia com um banco de dados relacional de mercado, ou um MOLAP, que se liga a um servidor OLAP, atravs de um banco de dados multidimensional e dedicado [DAL99]. 7.1.1 - MOLAP x ROLAP Multidimensional OLAP (MOLAP) uma classe de sistemas que permite a execuo de anlises sofisticadas usando como gerenciador de dados um banco de dados multidimensional. Em um banco de dados MOLAP os dados so mantidos em arranjos e indexados de maneira a prover uma tima performance no acesso a qualquer elemento. O indexamento, a antecipao da maneira como os dados sero acessados e o alto grau de agregao dos dados fazem com que sistemas MOLAP tenham uma excelente performance. Alm de serem rpidos, outra grande vantagem destes sistemas o rico e complexo conjunto de funes de anlise que oferecem. A maneira de se implementar os arranjos de dados pode variar entre fornecedores de solues MOLAP. Existem as arquiteturas hiper-cubos e multi-cubos. Na arquitetura hiper-cubo existe um nico cubo onde cada medida referenciada por todas as outras dimenses. Por exemplo, um cubo onde a medida "vendas" referenciada pelas dimenses "produto", "ano", "mes", "estado" e "cidade". Alm da dificuldade em visualizar tal "cubo" (com cinco dimenses!!!). Outros problemas desta abordagem so a maior necessidade de espao em disco e a existncia de um mecanismo para controlar a esparsidade dos dados que ocorre quando no existe uma medida na interseo das dimenses. Por exemplo, quando um produto no vendido em determinado estado. A grande vantagem a consistncia no tempo de resposta que independente do nmero de dimenses envolvidas na consulta. Na arquitetura multi-cubos uma medida referenciada por dimenses selecionadas. Em um cubo, a medida "vendas" referenciada pelas dimenses "semestre", "estado" e "produto" e em outro cubo, a medida "custo" referenciada pelas dimenses "ms" e "departamento". Esta arquitetura escalvel e utiliza menos espao em disco. A performance melhor em
cada cubo individualmente, no entanto, consultas que requerem acesso a mais de um cubo podem exigir processamentos complexos para garantir a consistncia do tempo de resposta. Sistemas ROLAP fornecem anlise multidimensional de dados armazenados em uma base de dados relacional. Atualmente existem duas maneiras de se fazer este trabalho: Fazer todo o processamento dos dados no servidor da base de dados. O servidor OLAP gera os comandos SQL em mltiplos passos e as tabelas temporrias necessrias para o processamento das consultas; Ou executar comandos SQL para recuperar os dados, mas fazer todo o processamento (incluindo joins e agregaes) no servidor OLAP.
Alm das caractersticas bsicas de sistemas OLAP, servidores ROLAP devem tambm: Utilizar metadados para descrever o modelo dos dados e para auxiliar na construo das consultas. Desta maneira um analista pode executar suas anlises utilizando seus prprios termos. Criar comandos SQL otimizados para os bancos de dados com o qual trabalha.
A principal vantagem de se adotar uma soluo ROLAP reside na utilizao de uma tecnologia estabelecida, de arquitetura aberta e padronizada como a relacional, beneficiando-se da diversidade de plataformas, escalabilidade e paralelismo de hardware (SMP e MPP) [TEC99].
markenting, estabelecimento do perfil dos consumidores, seguros, deteco de fraude, dentre outros [PIN99]. Data mining pode ser utilizado com os seguintes objetivos [TEC99]: Explanatrio: explicar algum evento ou medida observada, tal como porque a venda de sorvetes caiu no Rio de Janeiro; Confirmatrio: confirmar uma hiptese. Uma companhia de seguros , por exemplo, pode querer examinar os registros de seus clientes para determinar se famlias de duas rendas tem mais probabilidade de adquirir um plano de sade do que famlias de uma renda; Exploratrio: analisar os dados buscando relacionamentos novos e no previstos. Uma companhia de carto de crdito pode analisar seus registros histricos para determinar que fatores esto associados a pessoas que representam risco para crditos.
Quando determinados padres de comportamento, como associao de produtos durante um processo de compras, por exemplo, comeam a se repetir com freqncia, as ferramentas data mining indicam a presena de oportunidades e "insights" em relao quele pblico consumidor. O diferencial do data mining est no fato de que as descobertas de padres de consumo se do por uma lgica de algoritmos com base em uma rede neural de raciocnios. So ferramentas de descobertas matemticas feitas sobre os registros corporativos j processados contra descobertas empricas [POL99].
dados que seguem uma norma ou os habituais, ento detectamos aqueles que se desviam dos habituais dentro de um certo limiar. Existem trs tipos de atividade de data mining em um ambiente corporativo: episodic mining, strategic mining e continuous mining. Na atividade episodic mining ns buscamos dados de um fato especfico, tal como uma campanha de marketing direto. Ns podemos tentar entender este conjunto de dados ou us-lo para prognstico em uma nova campanha de marketing. Na atividade strategic mining, ns olhamos um largo conjunto de dados corporativos com a inteno de ganhar um conhecimento global das medidas especficas. Portanto, strategic mining pode responder a perguntas tais como: "De onde vem nosso lucro ?" ou "como fazer para nosso segmento de clientes e produtos se relacionarem?". Na atividade continuous mining ns tentamos entender como o mundo foi modificado em um determinado perodo de tempo e tentar compreender os fatores que influenciaram esta mudana. Neste caso, poderamos perguntar: "como obter padres de venda modificados neste ms?" ou "qual foi a fonte de mudana do consumidor no ltimo quadrimestre?". Continuous mining normalmente aparece e toma lugar uma vez que a strategic mining foi realizada e providenciou uma primeiro entendimento sobre os dados [POL99].
Enquanto na "destilao de padres" ns analisamos dados, extramos padres e deixamos os dados para trs, na reteno os dados so mantidos para posterior combinao. Quando novos dados so apresentados, eles so combinados com o conjunto de dados anterior. Um exemplo bem conhecido de uma aproximao baseada na reteno de dados o mtodo "nearest neighbor" (vizinho prximo). Neste mtodo, o conjunto de dados mantido (geralmente em memria) para a comparao com novos dados. Quando um novo registro est presente, por prognstico, a "distncia" entre ele e os registros semelhantes no conjunto de dados encontrado, e os mais parecidos (ou vizinhos prximos) so identificados. Algumas vezes, precisamos reter apenas um conjunto de "casos tpicos" - podemos selecionar, por exemplo, uma srie de 100 "padres tpicos" como base para comparaes. Isto muitas vezes denominado Case-based Reasoning (traduzindo livremente, poderia ser algo como "caso baseado no raciocnio").
Cada uma dessas abordagens tm razes histricas, levando-nos distintas origens matemticas.
7.2.4.1.1 Regras
Os relacionamentos lgicos so normalmente representados como regras. Simples regras podem expressar relaes condicionais ou de associao. Uma regra condicional um comando na forma: If Condio 1 Then Condio 2 A conexo lgica distinta a partir da lgica condicional, tanto em termos da linguagem da expresso como da estrutura de dados usadas. Anlise por Conexo (ou Anlise por Associao) [Affinity Analysis / Association Analysis] a procura por padres e condies que descrevem vrios itens, como "grupos simultneos" ou "acontecimentos simultneos" [group together / happen together] numa srie de eventos ou transaes. Uma regra de afinidade possui a seguinte forma: When Item_1 Also Item_2. Regras tm a vantagem de serem mais competentes para trabalhar com dados numricos e no-numricos de uma maneira uniforme. Enquanto trabalha com dados numricos, algumas aproximaes valem-se da quebra de campos numricos nos cdigos ou nos valores especificados. Isto pode, efetivamente, remover todas as consideraes numricas dos cdigos - resultando na perda dos padres. Regras podem tambm atuar bem em dados multidimensionais ou OLAP porque eles podem trabalhar com faixas de dados numricos e seus formatos lgicos, permitindo que seus padres possam ser mesclados ao longo de mltiplas dimenses. Regras podem ser vistas tambm como rvores de deciso, mas apesar da semelhana a nvel superficial, tm uma tcnica distinta, diferente. Isto fcil de ver quando consideramos o fato que rvores de deciso no expressam associaes ou padres baseados em atributos. A seguir, duas abordagens para a gerao de regras so colocadas: regra indutiva e algoritmos genticos. Entretanto, estas no so as nicas formas de abordagem do Data mining com regras. Algumas abordagens examinam, atravs de uma pr-computao, cada possibilidade da regra at numa srie de dados que j estavam includas (previstas). Nesses casos, somente uma nica coluna de dados pode ser usada porque o espao lgico imenso. Conseqentemente, no prtico para aplicaes em larga escala.
7.2.4.2.1 - Agentes
O termo "agente" usado algumas vezes para referir-se as tabulaes cruzadas que so graficamente mostradas numa rede e permitem algumas conjunes (por exemplo "E" ou "AND"). Neste contexto o termo agente , efetivamente, equivalente ao termo "par de valor do campo".
As aproximaes equacionais quase sempre requerem que os dados sejam todos numricos. Dados no numricos precisam ser codificados em nmeros (o contrrio do que faz a tabulao cruzada).
Concluso
A tecnologia de data warehouse mostra-se muito interessante para empresas que possuem grandes volumes de dados gerados e acumulados durante sua existncia e necessitam recuperar estes dados de uma forma que eles possam auxiliar os administradores destas empresas a tomarem decises estratgicas rapidamente e com segurana. Os processos de extrao, filtragem, carga e recuperao dos dados so bastante complexos, exigindo que pessoas altamente capacitadas faam parte do projeto para que os objetivos sejam atingidos no menor espao de tempo possvel e sem gastos de recursos desnecessrios.
Como o data warehouse no um sistema ou programa, mas sim um ambiente que necessita ser adaptado as necessidades das empresas normal que cada ambiente de data warehouse possua caractersticas prprias, inviabilizando seu uso para outros objetivos que no os descritos no incio do projeto. Para a informtica o ambiente de data warehouse mostrou ser um desafio aos processos que normalmente so utilizados para desenvolver um software. Um dos desafios conseguir modelar os dados de maneira que todas as informaes estejam disponveis de forma clara e rpida para os usurios que a esto requisitando, outro desafio disponibilizar as informaes sobre os dados (metadados), para que os usurios possam saber quais informaes esto disponveis, de onde vieram, para onde vo, etc. Tambm pode ser considerado um desafio aos profissionais de informtica a melhor maneira de extrao dos dados do data warehouse, de forma que ele realmente se torne um sistema de apoio a deciso. As duas maneiras estudadas neste trabalho foram a analise multidimensional atravs do OLAP e o data mining. A diferena bsica entre ferramentas OLAP e data mining est na maneira como a explorao dos dados abordada. Com as ferramentas OLAP a explorao feita na base da verificao, isto , o analista conhece a questo, elabora uma hiptese e utiliza a ferramenta para confirm-la. Com data mining, a questo total ou parcialmente desconhecida e a ferramenta utilizada para a busca de conhecimento. Por fim, importante destacar que este trabalho contribuiu muito para a ampliao dos conhecimentos do autor em relao aos ambientes de suporte a deciso. O que com certeza poder ser aplicado na sua futura vida profissional.
Bibliografia
[BIS99] BISPO, Carlos Alberto F. & CAZARINI, Edson Walmir. Anlises sofisticadas com o On-Line Analytical Processing. Developers Magazine, So Paulo, n.32, p.28-31, abr de 1999. [CAM99] CAMPOS, Maria Luiza & FILHO, Arnaldo V. Rocha. Data warehouse. Obtida via Internet. Ultimo acesso: 01/09/1999. http://genesis.nce.ufrj.br/dataware/tutorial/indice.html. [DAL99] DALALBA, Adriano. Um estudo sobre Data warehouse. Obtida via internet. Ultimo acesso: 01/09/1999. http://www.geocities.com/siliconvalley/port/5072/. [GRI99] DALFOVO,Oscar & GRIPA, Robson. Data warehouse: usando a tcnica de cubo de deciso. Developers Magazine, So Paulo, n.32, p.12-17, abr de 1999. [INM97] INMON, William H.. Como construir o Data warehouse. 2 ed. New York: Editora Campus, 1997, 388p. [PER99] PEREIRA,Max Roberto. Data warehouse: otimizando seu desempenho.Developers Magazine, So Paulo, n.32, p.22-26, abr de 1999.
[PIN99] PINHEIRO, Carlos Andr Reis. Data mining: obtendo vantagens com seu data warehouse. Developers Magazine, So Paulo, n.35, p.38-40, jul de 1999. [TEC99] Tecnologias Data warehouse e OLAP. Obtida via internet. Ultimo acesso: 01/09/1999. http://jacques.ic.cti.br/ic/pqps/atps/dw.htm.