CLASSIFICAÇÃO BAYESIANA DE GRANDES MASSAS DE DADOS EM AMBIENTES ROLAP. Marcello Porto Alegre da Fonseca



Documentos relacionados
Módulo 4. Construindo uma solução OLAP

DATA WAREHOUSE. Introdução

Banco de Dados - Senado

ISO/IEC 12207: Gerência de Configuração

Data Warehousing. Leonardo da Silva Leandro. CIn.ufpe.br

ADM041 / EPR806 Sistemas de Informação

Chapter 3. Análise de Negócios e Visualização de Dados

TÓPICOS AVANÇADOS EM ENGENHARIA DE SOFTWARE

Data Mining: Conceitos e Técnicas

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Data Warehouse. Debora Marrach Renata Miwa Tsuruda

Interatividade aliada a Análise de Negócios

Adriano Maranhão BUSINESS INTELLIGENCE (BI),

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Universidade Tecnológica Federal do Paraná UTFPR Programa de Pós-Graduação em Computação Aplicada Disciplina de Mineração de Dados

Semântica para Sharepoint. Busca semântica utilizando ontologias

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

DATA WAREHOUSE. Rafael Ervin Hass Raphael Laércio Zago

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

Modelo de dados do Data Warehouse

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados

Data Warehouses. Alunos: Diego Antônio Cotta Silveira Filipe Augusto Rodrigues Nepomuceno Marcos Bastos Silva Roger Rezende Ribeiro Santos

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

Prof. Marcelo Machado Cunha

Complemento I - Noções Introdutórias em Data Warehouses

Módulo 4: Gerenciamento de Dados

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Engenharia de Software III

Sistema de mineração de dados para descobertas de regras e padrões em dados médicos

Manual Geral do OASIS

Sistemas de Apoio à Decisão (SAD) - Senado

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Resumo dos principais conceitos. Resumo dos principais conceitos. Business Intelligence. Business Intelligence

FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO

TOTVS BA Guia de Customização Linha Logix

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

2 Diagrama de Caso de Uso

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

A Grande Importância da Mineração de Dados nas Organizações

Noções de. Microsoft SQL Server. Microsoft SQL Server

Microsoft Access XP Módulo Um

Solitaire Interglobal

Ajuda ao SciEn-Produção O Artigo Científico da Pesquisa Experimental

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

1

Implantação. Prof. Eduardo H. S. Oliveira

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka

Como melhorar a tomada de decisão. slide 1

4 Implementação e Resultados Experimentais

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Gerenciamento de Riscos do Projeto Eventos Adversos

Persistência e Banco de Dados em Jogos Digitais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Manual do Visualizador NF e KEY BEST

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

AGILE ROLAP - UMA METODOLOGIA ÁGIL PARA IMPLEMENTAÇÃO DE AMBIENTES DE NEGÓCIOS BASEADO EM SERVIDORES OLAP.

PRIMAVERA RISK ANALYSIS

Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse

Levantamento, Análise e Gestão Requisitos. Aula 12

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

Exemplo de Aplicação do DataMinig

CHECK - LIST - ISO 9001:2000

6 Construção de Cenários

Manual SAGe Versão 1.2 (a partir da versão )

GBD PROF. ANDREZA S. AREÃO

Gerenciamento de software como ativo de automação industrial

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Arquitetura de Banco de Dados

Governança de TI. ITIL v.2&3. parte 1

Aplicação A. Aplicação B. Aplicação C. Aplicação D. Aplicação E. Aplicação F. Aplicação A REL 1 REL 2. Aplicação B REL 3.

Data Mining. Origem do Data Mining 24/05/2012. Data Mining. Prof Luiz Antonio do Nascimento

Manual de Utilização

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

COMPARAÇÃO DOS MÉTODOS DE SEGMENTAÇÃO DE IMAGENS OTSU, KMEANS E CRESCIMENTO DE REGIÕES NA SEGMENTAÇÃO DE PLACAS AUTOMOTIVAS

Instituto de Educação Tecnológica Pós-graduação Gestão e Tecnologia da Informação - Turma 25 20/03/2015. Big Data Analytics:

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Transcrição:

CLASSIFICAÇÃO BAYESIANA DE GRANDES MASSAS DE DADOS EM AMBIENTES ROLAP Marcello Porto Alegre da Fonseca TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR EM CIÊNCIAS EM ENGENHARIA CIVIL. Aprovada por: Prof. Nelson Francisco Favilla Ebecken, D.Sc. Prof. Alexandre Gonçalves Evsukoff, Dr. Profª. Beatriz de Souza Leite Pires de Lima, D.Sc. Profª. Marta Lima de Queiros Mattoso, D.Sc. Profª. Fernanda Araújo Baião, D.Sc. RIO DE JANEIRO, RJ BRASIL JULHO DE 2007

DA FONSECA, MARCELLO PORTO ALEGRE Classificação Bayesiana de grandes massas de dados em ambientes ROLAP [Rio de Janeiro] 2007 VI, 111 p. 29,7 cm (COPPE/UFRJ, D.Sc., Engenharia Civil, 2007) Tese - Universidade Federal do Rio de Janeiro, COPPE 1. Data Mining 2. Classificação de dados 3. Banco de dados 4. OLAP Mining I. COPPE/UFRJ II. Título (série) ii

Agradecimento Ao Prof. Nelson, pela orientação neste trabalho e pelos conselhos e incentivos dados ao longo de todo tempo. A minha família que sempre me apoiou nesses anos de trabalho. E acima de tudo a Deus por ter me dado saúde e sabedoria para realizar este trabalho. Gostaria de agradecer ao senhor Luis Gonzaga, do Portus, pelas liberações do meu trabalho para me dedicar a esta tese. iii

Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários para a obtenção do grau de Doutor em Ciências (D.Sc.) CLASSIFICAÇÃO BAYESIANA DE GRANDES MASSAS DE DADOS EM AMBIENTES ROLAP Marcello Porto Alegre da Fonseca Julho/2007 Orientador: Nelson Francisco Favilla Ebecken Programa: Engenharia Civil Este trabalho apresenta um modelo para integração de um algoritmo de Data Mining em um ambiente OLAP implementado em um banco de dados comercial. Foi implementado um algoritmo de classificação Bayesiana em um ambiente do tipo Relacional OLAP (ROLAP). Para realizar esta integração foi necessário a implementação de um modelo de metadados para dar suporte ao algoritmo, assim como uma função de classificação a ser utilizada na ferramenta de visualização OLAP. Os resultados em relação a performance e acurácia foram avaliados em relação a outra ferramenta de classificação de um banco de dados comercial. Foi feita uma abordagem em relação à classificação multiclasse, para que se possa avaliar o comportamento do classificador nesta situação. iv

Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the requirements for the degree of Doctor of Science (D.Sc.) BAYESIAN CLASSIFICATION OF VERY LARGE DATABASES ON ROLAP SYSTEMS Marcello Porto Alegre da Fonseca July/2007 Advisor: Nelson Francisco Favilla Ebecken Department: Civil Engineering This work deals with a model for Data Mining algorithm integration in an OLAP system implemented in a commercial data base. An algorithm of Bayesian classification was implemented in a Relational OLAP system (ROLAP). To execute this integration the implementation of a metadata model was necessary to support the system, as well as a function of classification to be used in the visualization OLAP tool. The results on the performance and accuracy were evaluated in relation to another tool for the classification of a database management system. An approach was made on the classification multiclasse so that can assess the performance of the classifier in this situation. v

ÍNDICE 1 Introdução... 1 2 DataWarehouse... 7 3 OLAP... 15 4 Integração de Data Mining e OLAP... 22 5 Classificação de Dados... 29 6 Implementação do Algoritmo... 37 7 Resultados... 54 8 Conclusões... 78 Referências bibliográficas... 81 Apêndice Listagens de Programas... 88 vi

1. Introdução O volume de dados armazenado em bancos de dados cresce continuamente, podendo chegar na ordem de terabytes. Essas grandes massas de dados podem ser encontradas facilmente em empresas de telefonia e petróleo e em alguns projetos científicos (INHOFF, 2003), além disso a diversidade de domínio no qual os dados pertencem aumentou, podendo pertencer tanto à área comercial quanto à científica. Por outro lado a tecnologia de bancos de dados também se desenvolveu nos últimos anos, oferecendo infra-estrutura capaz de gerenciar essa grande quantidade de dados de maneira eficiente (DATE, 2003). Atualmente, os principais fornecedores de bancos de dados são Oracle, Microsoft e IBM. Além disso os sistemas gerenciadores de banco de dados(sgbd) fornecem recursos de inteligência embutidos no próprio banco de dados, tal como mineração de dados e OLAP (ORACLE, 2005). A disponibilidade de grandes massas de dados armazenadas nesses bancos de dados, torna muito interessante a busca de conhecimento e informação útil. O conhecimento descoberto pode ser aplicado na tomada de decisões, tornando-se uma das mais promissoras tecnologias da indústria da informação(han, 1998). Os Datawarehouses surgiram como uma estrutura de banco de dados específica para armazenamento de grandes massas dados e atualmente estão consolidadados como a arquitetura ideal para análise exploratória de dados. Para analisar os dados de um Datawarehouse pode-se usar as tecnologias OLAP, de mineração de dados, relatórios e consultas adhoc (KINBALL, 1998). Os Datawarehouses possuem características específicas para que os dados armazenados nele estejam em uma forma consistente e consolidada, prontos para a análise exploratória. Os Datawarehouses tem sido usados para armazenar dados de diversas áreas de conhecimento, visto sua grande utilidade para a geração de informações consistentes, e também para auxiliar no processo de tomada de decisão. 1

(LIU e YOU, 2003) usaram os dados de um Datawarehouse a aplicaram uma rede neuro-fuzzy e técnicas de visualização de dados para melhorar a análise do setor de comércio eletrônico. (CHO V., NGAI E. N. T.,2003) desenvolveram um sistema de suporte a decisão, em que técnicas de mineração de dados foram usadas em dados multidimensionais de um Datawarehouse para auxiliar a seleção de agentes na indústria de seguros. (TURNER S.,2004) mostra as vantagens de utilizar os dados de um Datawarehouse na avaliação de dados demográficos. Mineração de dados (Data Mining) faz parte do processo de descoberta de conhecimento em grandes massas de dados utilizando diferentes atividades, tais como classificação, clusterização, predição e associação, podendo-se descobrir valiosas relações nos dados (ROIGER, 2003). Devido ao processo de construção do Datawarehouse, este torna-se um precioso aliado no processo de mineração de dados (PARSAYE, 1998), visto que a mineração essencialmente precisa dos dados. Mineração de dados é por essência multidisciplinar, e envolve as areas de banco de dados, estatística, inteligência artificial, visualização de dados e computação de alto desempenho. Segundo HAN (2001) Este processo de mineração busca a descoberta de conhecimento interessante a partir de grandes massas de dados armazenados em bancos de dados, Datawarehouses ou outros repositórios de informação. Em (KARGUPTA,2004) mostra-se a vasta aplicabilidade de mineração de dados em diversas áreas de conhecimento. Por se tratar de uma área multidisciplinar a mineração de dados pode também se aproveitar de avanços em outras áreas. Em (KARGUPTA,2000) descreve a importância e as tendências de pesquisa na área de mineração de dados distribuída e paralela. O termo KDD(Knowledge Discovery in Databases) define um processo iterativo que tenta extrair automaticamente, conhecimento útil dos dados. Existem algumas variações quanto ao número de etapas no processo de KDD, apesar disso todas as variantes são muito parecidas (ROIGER, 2003). 2

No processo de KDD existe a etapa de preparação dos dados, na qual os dados são preprocessados para obter consistência, esta etapa é uma das mais importantes e é requisito fundamental para a mineração de dados. Uma arquitetura ideal para o processo de mineração de dados seria consistido de um Datawarehouse, onde os dados estariam em uma forma consistente(han, 2001). O processo de KDD é referenciado por alguns autores como mineração de dados. Entretanto a mineração é uma das etapas do processo de KDD. A figura 1.1 mostra o processo de KDD e suas etapas. Figura 1.1 Processo de KDD (HAN, 2001). Etapas do processo de KDD: 1- Identificação dos objetivos: O foco dessa etapa é o entendimento do domínio a ser alcançado para a descoberta do conhecimento. 2- Criação do conjunto de dados a ser minerado: Criar um conjunto inicial de dados para serem analisados. 3- Preprocessamento dos dados: realizar a limpeza nos dados a serem analisados. 4- Transformação dos dados: realizar as transformações necessárias nos dados, alterando ou eliminando atributos dos dados. 3

5- Mineração dos dados: executar os algoritmos de mineração para encontrar o melhor modelo. 6- Interpretação e avaliação dos resultado: examinar os resultados da etapa de mineração para determiner se o que foi descoberto é útil. Pode-se voltar a etapas anteriores para refletir o processo com outros dados e ou atributos. 7- Tomada de ação: Implementação direta dos resultados do processo. OLAP (On-Line Analytical Processing) é uma tecnologia que explora os dados em um formato multidimensional, de onde se visualiza os dados em diferentes perspectivas e em diferentes níveis de agregação. A análise OLAP é interativa e guiada pelo usuário. OLAP é muito utilizado na análise exploratória dos dados de um Datawarehouse (THOMSEN, 2002). OLAP Mining ou OLAM foi o termo dado por HAN (1998) à fusão das tecnologias OLAP e de mineração de dados. OLAM integra a interatividade e flexibilidade de manipulação dos dados com os algoritmos de Data Mining, permitindo aos usuários minerar interativamente em diferentes porções de dados e em diferentes níveis de agregação, sendo assim uma poderosa ferramenta de análise de dados. Pode-se alterar as funções de Data Mining dinamicamente. A implementação e performance dessa integração são um grande desafio. 1.1 Objetivos Após as idéias sugeridas por HAN(1998), algumas implementações foram realizadas, como em TAN (1998) e HUA (1998), porém essas implementações usaram uma arquitetura MOLAP própria, e também sem alterações dinâmicas. O banco de dados SQL Server 2005 da Microsoft, realiza mineração de dados em cubos de dados, porém numa abordagem de Wizards. Nesta tese a implementação do algoritmo de classificação é feita de uma maneira em que a mineração se dará na visualização do cubo de dados, dentro da ferramenta OLAP. Sendo esta uma abordagem ainda não encontrada em ferramentas OLAP. O principal objetivo desta tese é mostrar o grande potencial de uso da integração das 4

tecnologias de mineração de dados e OLAP em bancos de dados relacionais para a descoberta de conhecimento em grandes massas de dados, propondo-se uma implementação para ser utilizada na visualização OLAP, baseada num cubo de dados ROLAP, realizando a classificação Bayesiana através de uma função de banco de dados, que é chamada on-line pela ferramenta OLAP. A execução do algoritmo, por estar numa ferramenta OLAP, deve ser feita num tempo aceitável aos padrões OLAP, que são de respostas rápidas. O classificador Bayesiano foi escolhido por possuir um algoritmo mais simples de ser implementado, mas apesar de sua simplicidade possui resultados bem satisfatórios. O algoritmo de classificação Bayesiana é implementado em um modelo de dados estrela, que é o mais usado nos Datawarehouses. A implementação é feita num banco de dados comercial para mostrar a fácil integração do algoritmo aos ambientes de produção das empresas. O ambiente ROLAP foi escolhido por ser o mais comum, e também para se utilizar linguagem SQL, que é padrão dos banco de dados. 1.2 Contribuição Neste trabalho foi implementado um classificador Bayesiano no ambiente ROLAP de um banco de dados Oracle 10G. A ferramenta usada na visualização do cubo de dados foi o Oracle Discoverer. A integração de OLAP e mineração de dados proposta na tese é relevante pela abordagem que se faz, o algoritmo é chamado durante a visualização OLAP, ou seja, enquanto se realiza a análise exploratória dos dados na ferramenta OLAP, por meio de uma função de banco de dados que executa a classificação Bayesiana. A dificuldade de realizar o algoritmo no modelo estrela se deve a necessidade de se executar o algoritmo na visualização OLAP, obtendo os resultados num tempo baixo, que é um dos requisitos das ferramentas OLAP, a velocidade nas operações. O modelo estrela apresenta diversas tabelas, aonde junções tem de ser feitas para que os dados sejam apresentados. A maioria das ferramentas de classificação, juntam os dados necessários numa única 5

tabela, e então realizam a classificação. Nesta tese não será necessário essa tabela, ou seja, não há necessidade de se ocupar mais espaço no banco de dados para realizar a classificação. A implementação faz uso de um modelo de metadados para armazenar as contabilizações necessárias ao funcionamento do algoritmo. A mineração de dados em um ambiente relacional estrela pode ser considerada um caso de mineração multirelacional. A classificação multirelacional é uma área de pesquisa muito importante por causa da popularidade dos bancos de dados relacionais, entretanto a maioria das abordagens não são escaláveis em relação ao número de relações e complexidade (YIN et al., 2003). Esta tese está organizada da seguinte maneira: os três primeiros capítulos tratam das tecnologias fundamentais para o desenvolvimento deste trabalho; em seguida é apresentado a implementação do classificador Bayesiano no ambiente OLAP. Depois mostra-se os resultados e comparações com outra ferramenta de classificação. No final são apresentadas as conclusões e trabalhos futuros. 6

2. Datawarehouse O Datawarehouse é um banco de dados mantido separadamente dos sistemas operacionais de uma empresa, no qual os dados estão em uma forma consolidada. O Datawarehouse quase sempre está armazenado em um banco de dados relacional, tal como Oracle ou Microsoft SQL SERVER, mas utiliza um modelo lógico de dados multidimensional como o star schema (SCALZO, 2003). A construção de um Datawarehouse pode ser vista como uma das etapas do processo de KDD. Devido a suas características de construção o Datawarehouse tornouse muito importante para a análise de dados e pode ser considerado como uma plataforma ideal para o processo de Data Mining (ROIGER, 2003). Os Datawarehouses são a base para as ferramentas OLAP, que permitem análise multidimensional dos dados em diferentes granularidades, e podem auxiliar o processo de mineração de dados na busca de conhecimento. Os Datawarehouses tem sido usados em diferentes áreas de conhecimento e sendo integrado a outras tecnologias como realizado em SAMPAIO et al. (2006), onde uma nova área de pesquisa é abordada, sendo chamada de Spatial Data Warehousing(SDW), que integra as tecnologias de Datawarehousing e Sistemas de Informações Geográficos(GIS). INMON (1996) define Um Datawarehouse é uma coleção de dados orientada a assunto, integrada, variante no tempo e não-volátil, para dar suporte ao processo de tomada de decisões. Orientado a assunto : um Datawarehouse é organizado em torno de um assunto tal como vendas ou compras. Integrado : O Datawarehouse pode ser construído a partir de diferentes fontes de dados heterogêneas, tais como bancos de dados relacionais, planilhas eletrônicas e arquivos textos. Todo um processo de limpeza e consistência de dados é realizado para que o dado seja carregado no Datawarehouse. 7

Variante no tempo : Os dados no Datawarehouse estão numa perspective histórica, ou seja, os dados estão descritos em função do tempo. Não-volátil : Os dados do Datawarehouse são apenas para leitura e raramente sofrem alterações, servindo apenas como fonte para consultas. 2.1 Arquitetura Um Datawarehouse é também visto como uma arquitetura para dar suporte ao processo de tomada de decisões. A arquitetura mais comum de um DataWarehouse é mostrada na figura 2.1. Nesta figura tem-se os sistemas transacionais ou OLTP como fonte do DataWarehouse, os dados dos sistemas OLTP passam por um processo de ETL(Extract, Transform and Load) para que sejam carregados no Datawarehouse (HAN, 2001). O Datawarehouse então serve como fonte para os servidores OLAP que podem ter sua implementação física do tipo relacional (ROLAP) ou Multidimensional (MOLAP). Os servidores OLAP por sua vez, são acessados pelas ferramentas de visualização OLAP, geradores de relatórios e ferramentas de Data Mining. Os metadados são definidos como dados sobre os dados. Possuem a informação necessária para uso e administração dos dados, além de fornecer a coesão entre as estruturas do ambiente do Datawarehouse. 8

Figura 2.1 Arquitetura de Datawarehouse - (HAN, 2001). Os metadados definem os objetos contidos no Datawarehouse e devem conter a descrição da estrutura do mesmo, tais como fatos e dimensões. Devem também conter todo o mapeamento da carga dos sistemas OLTP para o Datawarehouse, tais como fontes e algoritmos de transformação e limpeza, e também as regras de agregação dos dados (KINBALL,2004). O processo de ETL é o responsável pela carga do Datawarehouse a partir dos sistemas OLTP. É neste local que os dados tornam-se consistentes e íntegros. É formado por um conjunto de programas instáveis, que seguem a mudança constante dos sistemas OLTP. Esses programas possuem a função de ler os dados dos sistemas OLTP, padroniza-los e mapea-los no local correto do Datawarehouse (KINBALL, 2004). 9

O processo de ETL inclui as seguintes etapas: Extração : leitura de dados dos sistemas transacionais e/ou de fontes externas; Limpeza: encontra erros nos dados e corrige quando possível; Transformação : adequação dos dados para integração no Datawarehouse; Carga : agrega, indexa e carrega os dados no Datawarehouse. A construção de um Datawarehouse, contendo toda a preparação dos dados, pode ser vista como uma importante etapa de pré-processamento para a mineração de dados, no qual esta etapa ocupa de 70% a 80% do tempo gasto num processo de mineração de dados (HAN, 2001). Podem existir três tipos de aplicações usadas sobre um Datawarehouses: e relatórios; Processamento de informação: suporta consultas, análises estatísticas Processamento Analítico: ferramentas OLAP e suas operações; Mineração de dados: descoberta de conhecimento automatizada, encontrando padrões escondidos nos dados. Pode-se realizar classificações e predições, além de visualizações das minerações dos dados. 2.2 Diferenças entre OLTP e OLAP Os sistemas transacionais, também chamados de OLTP (On-Line Transaction Processing) servem para dar suporte as operações diárias das empresas, tais como contabilidade, estoque e outros. O Datawarehouse diferentemente é a base de um tipo de sistema chamado OLAP (On-Line Analytical Processing), esses sistemas podem apresentar dados em 10

diferentes perspectivas e formatos e atender as diversas necessidades dos usuários responsáveis por tomada de decisões (KIMBALL,2002). Os dados de um sistema OLTP são tipicamente muito detalhados e possuem características operacionais, não tendo muita utilidade em tomadas de decisão. Em um sistema OLAP, tem-se grandes quantidades de dados históricos consistentes armazenados em vários níveis de granularidade. Um sistema OLTP usa a modelagem Entidade-Relacionamento(ER) e um projeto lógico de banco de dados orientado a aplicações. Em um sistema OLAP usa-se um modelo de dados conhecido como estrela e um projeto lógico de banco de dados orientado a assunto (KINBALL, 2002). Os sistemas OLTP focam o dado atual de uma empresa, sem se preocupar com o histórico, característica dos sistemas OLAP. Os acessos nos sistemas OLTP geralmente são atômicos e de curta duração e necessitam de controles de concorrência e recuperação. Nos sistemas OLAP as operações são do tipo read-only e requerem grande quantidade de dados em uma única consulta. Para manter a boa performance dos sistemas OLTP e OLAP, o Datawarehouse deve estar separado dos sistemas OLTP, pois sua finalidade é diferente dos mesmos. As complexas consultas de um sistema OLAP podem degradar a performance de um sistema OLTP, se o mesmo estiver junto com um sistema OLTP (KINBALL, 2002). Alguns fornecedores de bancos de dados tem otimizado seus produtos para que os sistemas OLAP e OLTP possam coexistir no mesmo ambiente. É necessário avaliar a situação para verificar a queda da performance dos sistemas nessa situação ( ORACLE, 2005). 11

2.3 Modelo Multidimensional No Datawarehouse utiliza-se o modelo de dados multidimensional, sendo que o mais utilizado é o estrela (star schema), entretanto existem outros como o flocos de neve(snowflake) e o de constelação ( HAN, 2001). No modelo estrela uma grande tabela fato central contendo as medidas é rodeada por tabelas dimensões, sendo que as chaves das dimensões se conectam com a tabela fato por meio de chaves estrangeiras. Neste modelo uma tabela de dados central possui os dados das medidas, assunto que está sendo analisado, por exemplo, vendas, custos ou quantidades vendidas. Um Fato no modelo estrela possui uma tabela Fato associada no DataWarehouse. Cada tabela Fato possui as medidas numéricas e as chaves de cada dimensão associada. A tabela Fato é conectada a tabelas de referência, essas tabelas são chamadas de dimensões, por exemplo tempo, produto e região. Cada dimensão no modelo estrela possui uma tabela associada no DataWarehouse, chamada de tabela dimensão. As dimensões possuem atributos e hierarquias. Os dados das dimensões são referências para as medidas da tabela Fato (SCALZO, 2003). Logo, as medidas são indexadas pelas dimensões, ou seja, as dimensões são únicas para determinar uma medida. As dimensões podem ser hierárquicas, como exemplo a dimensão tempo que possui uma hierarquia de ano, mês e dia. Logo pode-se ter medidas vistas por dia, por mês e por ano, ou seja, os dados são vistos em diferentes perspectivas. 12

Dimensão 1 Tabela Fato Dimensão 2 atributos medida 1 medida 2 medida n atributos Dimensão 3 atributos Figura 2.2: Formato do modelo de dados estrela. As medidas podem ser agregadas, a partir do nível mais baixo, nos níveis hierárquicos superiores das dimensões. As medidas agregadas são definidas por funções numéricas de agregação que podem ser avaliadas para cada célula do cubo de dados. As medidas podem ser classificadas por suas funções de agregação em três grupos: distributivas, algébricas e holísticas (THONSEN, 2002). Ex.: count, min, max. Distributivas : f(c) = f( f(c1),f(c2),f(c3) ) Algébricas : f(c) = f(c1) / f(c2) Ex.: média, variância. Ex.: Rank. Holísticas : As outras funções de agregação. 13

As medidas agregadas com funções de agregação distributiva ou algébrica são simples de manipular, pois podem ser agregadas diretamente de suas sub-agregações, enquanto com funções holísticas este tratamento é muito difícil. O modelo multidimensional pode ser usado para modelar diversas áreas de conhecimento, as mais comuns usam dados comerciais e industriais (KIMBALL, 2002), entretanto outras áreas tem usado este modelo para seus problemas. Em ADOMAVICIUS et al. (2005) é apresentado um modelo multidimensional de recomendações que incorpora informações contextuais dentro de um processo de recomendação e sugere recomendações baeadas em dimensões, perfis e hierarquias. Em MOLINA et al. (2006) sugere-se um modelo multidimensional fuzzy, que usa lógica fuzzy para modelar a imprecisão dos dados. Atualmente, a maioria dos Datawarehouses são usados para OLAP, entretanto, com o crescimento do uso de Data Mining pode-se esperar que os dados dos Datawarehouses servirão como importante fonte para o processo de Data Mining (HAN, 2001). 14

3. OLAP OLAP é parte da tecnologia de Datawarehouse que habilita usuários a explorar dados do Datawarehouse interativamente. As ferramentas OLAP fornecem funcionalidades para análise interativa de dados em diferentes visões e granularidades (HAN, 2001). Desde o ínicio da tecnologia OLAP (COOD, 1993), duas diferentes abordagens podem ser usadas com a tecnologia OLAP. A primeira estende o modelo relacional para garantir os requisitos OLAP, sendo que surgiram outras propostas (KIMBALL,1998) e todas incluem extensões para operar o cubo de dados. A segunda abordagem trata sobre a implantação de uma estrutura multidimensional dos dados, e alguns autores propuseram modelos sobre a mesma (MOLINA et al,2006). Alguns trabalhos relativos a implementação OLAP foram realizados como em BURDICK et al. (2007), onde o modelo OLAP é extendido para representar a imprecisão e incerteza de dados. Acredita-se que apenas 20% de informação pode ser extraída de Datawarehouses apenas na forma dados numéricos, os outros 80% estão escondidos em dados não numéricos ou até mesmo em documentos. Uma infraestrutura é proposta para combinar processamento textual com processamento numérico OLAP (TSENG, CHOU, 2006). As ferramentas OLAP tem sido usadas para diferentes necessidades, KUMAR et al. (2007) implementa um sistema OLAP para aparelhos móveis e descreve uma metodologia para tal. Em BERNDT et al. (2006), as ferramentas OLAP são usadas para identificar padrões que indicam a presença de um agente biológico ou químico no ambiente. NADIM et al. (2005) utiliza a tecnologia OLAP para explorar os dados de um banco de dados de genes, extraíndo informação biológica significante e de maneira rápida, e servindo como suplementação a análise de cluster. FORD (2002) mostra a utilidade de OLAP em aplicações com Dashboards e indicadores de performance(kpi) e como usar a análise exploratória do OLAP. ZAIANE (1998) criou um sistema MOLAP a partir de web logs e realizou consultas 15

analíticas por meio de operações OLAP, e buscou descobrir padrões de tempo nos logs de acesso. A partir do modelo estrela pode-se, através de ferramentas OLAP, construir cubos de dados OLAP (figura 3.1), e realizar buscas nesse espaço multidimensional (figura 3.2). Os cubos de dados são visões lógicas multidimensionais dos dados com referência hierárquica. As ferramentas OLAP fornecem funcionalidades para análise interativa de dados em diferentes visões e granularidades, permitindo visualizar as hierarquias e navegar pelas dimensões (THONSEN, 2002). Figura 3.1: Cubo lógico de dados onde as arestas representam as dimensões (HAN, 2001). A essência do OLAP se dá pela eficiente computação das agregações dos diversos conjuntos de dimensões do cubo de dados. Estas agregações são referenciadas em SQL como group by ( HAN, 2001). 16

3.1 Operações OLAP As operações no cubo de dados são chamadas operações OLAP, através delas se consegue flexibilidade durante as consultas aos dados no cubo. Conseqüentemente o cubo de dados é formado por medidas numéricas para análise e um conjunto de dimensões que define a medida. As principais operações OLAP são( THONSEN, 2002): Roll-up: Ocorre diminuição do nível de detalhe da informação (Ex.: passagem de mês para ano). Drill-down: Ocorre aumento do nível de detalhe da informação (Ex.: passagem de ano para mês). Slice/Dice: Visualizar sub-cubos do cubo de dados (Ex.: ver dados do ano de 2002). Pivot: Alterar linhas por colunas na visualização de resultados. Figura 3.2: Busca tridimensional de células no cubo de dados (THOMSEN,2002). 17

Já que OLAP necessita acessar diferentes sub-cubos e suas agregações, seria interessante pré-computar todos os sub-cubos, materializando completamente o cubo. Isso é impossível na maioria das vezes, pois para tal tarefa seria necessário muito espaço de armazenamento. Se for materializado somente os sub-cubos de maior granularidades, tem-se um grande esforço computacional para agregar os dados em tempo de execução. Uma solução para isto é pré-computar alguns sub-cubos e computar outros em tempo de execução. A escolha dos sub-cubos a materializar é uma importante decisão que afeta a eficiência das operações OLAP. LIN (2004) propôs uma solução com algoritmos genéticos para melhorar a performance de busca de dados em ambientes OLAP. Em LAWRENCE (2006) o uso de algoritmos genéticos é feito para acelerar a busca de dados no espaço multidimensional. 3.2 Arquiteturas OLAP Existem dois principais tipos de implementações físicas de OLAP (ORACLE, 2005): ROLAP (Relational OLAP): Usam tabelas relacionais como estrutura básica de dados e uma célula do espaço multidimensional é uma tupla. Esta tupla contém atributos que identificam a localização da célula no espaço multidimensional e outros atributos que contém as medidas. As operações OLAP são realizadas através de SQL. MOLAP (Multidimensinal OLAP): Usam arrays multidimensinais como estruturas de dados e as operações OLAP são realizadas sobre estas estruturas. O modelo multidimensional é implantado em matrizes tendo as dimensões como os índices, e a medida como conteúdo da célula, nesta implementação apenas a medida é armazenada. As técnicas para implementação eficiente do cubo são muito diferentes para ROLAP e MOLAP. 18

Já foi demonstrado que MOLAP é mais eficiente que ROLAP, devida a sua estrutura de indexação, enquanto ROLAP possui maior escalabilidade, devido a sua implantação ser sobre a estrutura dos bancos de dados relacionais. O uso de SQL em análises OLAP podem gerar problemas de performance devido as características da análise OLAP. Para cubos de dados pequenos e médios, MOLAP é mais eficiente que ROLAP (HAN, 2001). MOLAP tem uma excelente indexação e rápida busca de células, mas pode sofrer com o problema de esparsividade dos dados, causando baixa utilização de armazenamento. Existe uma solução híbrida (HOLAP), no qual os dados base são mantidos em tabelas relacionais e as agregações estão na forma multidimensional. A figura 3.3 mostra como a multidimensionalidade dos dados são visualizadas pelas ferramentas OLAP em telas, através de uma configuração tridimensional de linhas, colunas e páginas. Através dessa combinação pode-se analisar os dados em várias dimensões numa única tela. Figura 3.3 visualização OLAP - (THOMSEN,2002). 19

3.3 Visualização OLAP Outro recurso muito útil das ferramentas OLAP é a capacidade de gerar gráficos em tempo real, de acordo com os dados que estão sendo visualizados no momento(figura 3.4). Figura 3.4 Gráficos nas ferramentas OLAP - (THOMSEN,2002). As ferramentas OLAP possuem a capacidade de mudar sua aparencia de acordo com o valor do dado, isso é muito útil para visualizar exceções como mostrado na figura 3.5, nesta figura os valores de células que satisfazem a uma determinada condição são ser realçados com cores, para que fique evidente ao usuário a exceção. 20