• Nenhum resultado encontrado

Um Método para Seleção e Materialização de Visões com Assinaturas OLAP e Reactive GRASP-PR

N/A
N/A
Protected

Academic year: 2021

Share "Um Método para Seleção e Materialização de Visões com Assinaturas OLAP e Reactive GRASP-PR"

Copied!
107
0
0

Texto

(1)

Um Método para Seleção e Materialização de Visões com Assinaturas OLAP e Reactive GRASP-PR

Por

Andresson da Silva Firmino

Dissertação de Mestrado

Universidade Federal de Pernambuco posgraduacao@cin.ufpe.br www.cin.ufpe.br/~posgraduacao

(2)

UNIVERSIDADE FEDERAL DE PERNAMBUCO

CENTRO DE INFORMÁTICA

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

ANDRESSON DA SILVA FIRMINO

Um Método para Seleção e Materialização de Visões com Assinaturas

OLAP e Reactive GRASP-PR

ESTE TRABALHO FOI APRESENTADO À PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA DA COMPUTAÇÃO.

ORIENTADOR(A): Valéria Cesário Times

(3)

Catalogação na fonte

Bibliotecária Jane Souto Maior, CRB4-571

Firmino, Andresson da Silva

Um método para seleção e materialização de visões com assinaturas OLAP e reactive GRASP-PR / Andresson da Silva Firmino. - Recife: O Autor, 2013.

Xii, 93 f.: il., fig.

Orientador: Valéria Cesário Times.

Dissertação (mestrado) - Universidade Federal de Pernambuco. CIn, Ciência da Computação, 2013.

Inclui referências e apêndice.

1. Banco de Dados. 2. Processamento multidimensional. 3. Otimização. 4. Avaliação de desempenho. I. Times, Valéria Cesário (orientador). II. Título.

(4)

Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título “Um Método para Seleção e Materialização de Visões com Assinaturas OLAP e Reactive GRASP com Path Relinking” orientada pela Profa. Valéria Cesário Times e aprovada pela Banca Examinadora formada pelos professores:

______________________________________________ Prof. Ricardo Martins de Abreu Silva

Centro de Informática / UFPE

______________________________________________ Prof. Lucídio dos Anjos Formiga Cabral

Departamento de Informática / UFPB

_______________________________________________ Profa. Valéria Cesário Times

Centro de Informática / UFPE

Visto e permitida a impressão. Recife, 24 de maio de 2013

___________________________________________________ Profa. Edna Natividade da Silva Barros

Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.

(5)

Dedico essa conquista a meus pais!

(6)

iv

Agradecimentos

A elaboração deste trabalho representa, certamente, um marco em minha vida. Por essa razão, eu me vejo na obrigação de agradecer a todos que me acompanharam e me fizeram, de alguma maneira, chegar até aqui.

Primeiramente, agradeço a Deus, pois sem Ele nada poderia fazer. Agradeço aos meus pais José Firmino e Creusa Firmino que sempre estiveram ao meu lado, me fazendo seguir em frente durante todos os momentos difíceis em minha vida. Sou grato por suas posições firmes que modelaram meu caráter, me mostraram o caminho e por todo seu imenso carinho e amor, a mim dedicados.

À minha irmã Andresa Firmino, que apesar das brigas e discussões, sempre torceu por mim, me apoiou e me acompanhou durante toda a jornada. A você Andresa, meus agradecimentos. À minha noiva Etiane Melo, uma constante fonte de alívio e motivação nos momentos exaustivos, a minha gratidão por seu amor, apoio e compreensão. Para você, um beijo de muito amor.

Aos meus amigos e irmãos de orientação Rodrigo Mateus e Carolina Torres. Obrigado pelas suas prontas e constantes disponibilidades em me ajudar, me ensinar, me aconselhar, me corrigir e compartilhar os bons momentos.

Aos meus amigos, consultores e colegas de trabalho André Machado, Rafael Lima, César Lima, Diogo Anderson, Thalles Robson. Meu obrigado pela amizade, pelo companheirismo e principalmente, pelas produtivas discussões. Em especial, ao Diogo Anderson muito obrigado pela sua colaboração no enriquecimento deste trabalho.

Sou muito grato aos professores do Centro de Informática da Universidade Federal de Pernambuco que contribuíram de alguma forma para meu crescimento. Ao Professor Fernando Fonseca, pessoa fundamental na construção da minha carreira acadêmica, minha profunda gratidão pelos seus ensinamentos, não só como docente, mas como exemplo de ser humano. Também sou grato aos Professores Thiago Siqueira (IFSP), Ricardo Ciferri (UFSCAR), Cristina Ciferri (USP), Lucídio Cabral (UFPB) e Ricardo Martins (UFPE) por seu apoio técnico e motivacional na construção deste trabalho.

Agradeço em especial à Professora Valéria Times não só pelo seu apoio, incentivo, entusiasmo e pronta disponibilidade, constantemente manifestados, mas

(7)

v

também pela confiança em mim depositada, quero manifestar a minha profunda e sincera gratidão. As suas reflexões e críticas, surgidas do seu saber, experiência e competência profissional, guiaram-me na realização deste trabalho. Deus te recompense pelo bem que fizeste a mim e a todos que tiveram a honra de ser seu orientando.

A todos, família, amigos e colegas pelos seus incentivos e conselhos o meu muitíssimo obrigado.

(8)

"Podemos escolher o que semear, mas somos obrigados a colher

aquilo que plantamos"

Provérbio chinês

(9)

vii

Resumo

A materialização de visões promove a redução do tempo de execução de consultas multidimensionais. No entanto, a materialização de uma visão possui um custo associado que quando somado ao custo de materialização de outras visões pode exceder certos limiares de custo de armazenamento de um dado ambiente. Surge então o Problema de Seleção de Visões (PSV) que consiste em selecionar as melhores visões dado um certo limiar de custo. Diversas soluções na literatura foram propostas para tentar resolver este problema. O foco das soluções propostas para o PSV são a construção de algoritmos de otimização para seleção de visões e a especificação de custos para as visões e critérios para seleção. Todavia, de acordo com o nosso conhecimento, nenhuma das propostas na literatura considera todo o ciclo de um ambiente real de análise multidimensional, que consiste na execução de consultas, seleção de visões e materialização das visões. Então, esse trabalho especifica um método de seleção e materialização de visões por meio de Assinaturas OLAP e algoritmos de otimização baseados na meta-heurística GRASP, Reactive GRASP e GRASP com Path-Relinking, visando maximizar o desempenho das consultas OLAP.

Palavras-chave: Assinaturas OLAP, Seleção de Visões Materializadas, Algoritmos de Otimização.

(10)

viii

Abstract

The materialization of views promotes the reduction of execution time of multidimensional queries. However, the materialization of a view has certain costs that when added to the costs of materializing other views, then the resulting costs can exceed the storage costs thresholds of a given environment. Thus, there is the Problem of Selecting Views (PSV), which consists in selecting the best views given a cost threshold. Several solutions have been proposed in literature to try to solve this problem. The focus of the proposed solutions for PSV is the construction of optimization algorithms for the selection of views and specification of costs for views and selection criteria. However, to the best of our knowledge, none of the proposals in the literature encompasses the entire cycle of a real environment of multidimensional analysis, which consists in the execution of queries, views selection and materialization of views. Thus, this work specifies a method of selecting and materializing views by means of OLAP signatures and optimization algorithms based on the GRASP, Reactive GRASP and GRASP with Path-Relinking meta-heuristics, aiming to maximize the performance of OLAP queries.

Keywords: OLAP Signatures, Selection of Materialized Views, Optimization Algorithms

(11)

ix

Lista de Figuras

Figura 2.1: Exemplo de esquema estrela ... 10

Figura 2.2: Exemplo de esquema floco de neve ... 10

Figura 2.3: Exemplo de cubo de dados ... 11

Figura 2.4: Exemplo dimensões e hierarquias ... 11

Figura 2.5: Exemplo de Grafo de Derivação ... 13

Figura 2.6: Modelagem Matemática do PSV ... 17

Figura 2.7: Meta-heurística GRASP ... 19

Figura 2.8: Exemplo de funcionamento do Path-Relinking ... 20

Figura 2.9: Algoritmo Colônia de Formigas ... 22

Figura 3.1 Esquema Conceitual Proposto ... 33

Figura 3.2: Algoritmo Extrator de Dado Multidimensional ... 36

Figura 3.3: Algoritmo Gerador de Vértices ... 37

Figura 3.4: Exemplo de Assinatura OLAP ... 39

Figura 3.5: Cálculo do Benefício do Vértice ... 40

Figura 3.6: Algoritmo GRASP (G) ... 41

Figura 3.7: Algoritmo Reactive GRASP (RG) ... 42

Figura 3.8: Algoritmo Reactive GRASP com Path-Relinking ... 44

Figura 3.9: Algoritmo Path-Relinking ... 45

Figura 3.10: Algoritmo Fase Construtiva do GRASP ... 47

Figura 3.11: Lista Restrita dos Candidatos LRC ... 48

Figura 3.12: Algoritmo da Fase de Busca Local ... 50

Figura 3.13: Exemplo de atributos para criação de tabela de materialização ... 52

Figura 3.14: Exemplo de script de criação de tabela de materialização ... 52

Figura 3.15: Atributos utilizados para carga da tabela de materialização ... 53

Figura 3.16: Exemplo de script de carga da tabela de materialização ... 53

Figura 4.1: Resultados da Calibração... 59

Figura 4.2: Calibração do Limite de Gulosidade θ ... 60

Figura 4.3: Calibração do Limite de Gulosidade Busca Local ϑ ... 60

Figura 4.4: Calibração do Número de Tentativas de Trocas τ ... 60

Figura 4.5: Avaliação Espacial de 1.25%... 61

Figura 4.6: Avaliação Espacial de 2.5% ... 62

Figura 4.7: Avaliação Espacial de 5% ... 62

(12)

x

Figura 4.9: Avaliação Espacial de 20% ... 63

Figura 4.10: Avaliação Espacial de 40%... 63

Figura 4.11: Avaliação Espacial de 60%... 63

Figura 4.12: Diferença Percentual das Médias sobre o Algoritmo G ... 64

Figura 4.13: Ganho Percentual da Nova Busca Local ... 65

Figura 4.14: Variância por Espaço Disponível para Materialização ... 66

Figura 4.15: Resultado do TTTP ... 68

Figura 4.16: Resultado do DTTTP... 69

(13)

xi

Sumário

Introdução ... 1 1.1. Contextualização ... 2 1.2. Motivação ... 4 1.3. Objetivos ... 5 1.4. Estrutura da dissertação ... 6 Fundamentação Teórica ... 8 2.1. Introdução ... 9

2.2. Estruturas Multidimensionais de Dados ... 9

2.3. Assinaturas OLAP ... 15

2.4. O Problema de Seleção de Visões (PSV) ... 16

2.5. Algoritmos de Otimização ... 17

2.5.1. GRASP - Greedy Randomized Adaptive Search Procedure ... 18

2.5.1.1. Path-Relinking ... 19

2.5.1.2. Reactive Grasp ... 20

2.5.2. ACO - Ant Colony ... 21

2.6. Trabalhos Correlatos ... 22

2.6.1. Restrições de Seleção ... 23

2.6.2. Heurística de Seleção ... 24

2.6.3. Configuração de Seleção ... 26

2.6.4. Estrutura de Dados de Seleção... 27

2.6.5. Considerações ... 28

2.7. Conclusão ... 29

Novo Método de Seleção e Materialização de Visões OLAP ... 31

3.1. Introdução ... 32

3.2. Esquema Conceitual de Dados ... 32

3.3. Fases do Método Proposto ... 34

3.3.1. Extração de Dado Multidimensional ... 34

3.3.2. Construção das Assinaturas OLAP ... 38

3.3.3. Seleção das Visões ... 39

3.3.3.1. Critérios de Seleção ... 39

3.3.3.2. Algoritmos de Otimização Propostos ... 40

(14)

xii

3.4. Conclusão ... 54

Análise Experimental ... 55

4.1. Introdução ... 56

4.2. Configuração do Ambiente ... 56

4.3. Calibração dos Parâmetros ... 58

4.4. Avaliação dos Algoritmos ... 60

4.4.1. Espaço Disponível para Materialização ... 61

4.4.2. Tempo de Execução dos Algoritmos ... 66

4.4.3. Redução do Tempo de Execução de Consultas ... 69

4.5. Conclusão ... 71 Considerações Finais... 74 5.1. Resumo do Trabalho ... 75 5.2. Principais Contribuições... 75 5.3. Trabalhos Futuros ... 78 Referências ... 80

Apêndice A - Esquema Conceitual Ampliado ... 89

(15)

Capítulo 1

Introdução

Este capítulo discorre sobre a contextualização do domínio abordado, a motivação do estudo realizado e os objetivos do trabalho aqui documentado, além de exibir uma breve descrição da forma na qual este documento está estruturado.

(16)

1.1.

Contextualização

Em um ambiente cada vez mais dinâmico e volátil, é essencial para as empresas identificarem comportamentos e tendências sobre seu ambiente de negócio, pois necessitam tomar decisões imediatas em situações emergentes, a fim de se manterem fortes e competitivas no mercado, tendo em mente que, uma decisão tomada antes dos concorrentes pode ser decisiva na liderança do mercado.

Portanto, a necessidade de informações rápidas e confiáveis incentiva a realização de pesquisas sobre mecanismos para armazenar e manipular os dados apropriadamente, visando agilizar o processo decisório. Como resultados dessas pesquisas, têm-se os chamados Sistemas de Suporte a Decisão (SSD). SSD são ferramentas computacionais e interativas, concebidas para auxiliar os tomadores de decisão na extração de informações úteis a partir da combinação de dados, com o intuito de identificar e resolver problemas e tomar decisões. Destacam-se como tecnologias de SSD, o Data Warehouse (DW) (WREMBEL e KONCILIA, 2006) e as ferramentas OLAP (On-Line Analytical Processing) (BACHEGA, PEREIRA e POLITANO, 2006).

DW é definido como “uma coleção de dados empresariais, orientados a assuntos, integrados, mostrando a variabilidade no tempo e não voláteis” (INMON, 1996). O DW integra grande quantidade de dados de diversas fontes em uma visão única, padronizada, historizada e centralizada. Os dados do DW são organizados por esquemas (estrela ou floco de neve) que facilitam o armazenamento e processamento dos dados. Esta organização de dados permite que os usuários executem, de modo mais eficiente, relatórios, análises e consultas sobre os dados armazenado do DW. Consultas analíticas e multidimensionais (consultas OLAP) são submetidas por meio de ferramentas OLAP, que por sua vez, recuperam os dados do DW e concedem aos tomadores de decisão, uma visão dos dados sobre diferentes níveis de detalhes por meio de operações como

rollup, drilldown, pivoting e slice and dice (CHAUDHURI e DAYAL, 1997). Estas

operações são aplicadas sobre a metáfora visual de uma estrutura, denominada cubo de dados, que organiza a informação segundo várias perspectivas de análise (dimensões, hierarquias e níveis) definidas pelos analistas estratégicos e empresariais e para um determinado fato de análise (informação de interesse de negócio).

(17)

As consultas OLAP são respondidas a partir de operações de seleção, junção e agregação feitas sobre a base de dados segundo uma perspectiva de análise (visão). Estas duas últimas operações representam grandes consumidores de tempo e recursos de processamento, especialmente se aplicadas a grandes volumes de dados. No entanto, consultas OLAP devem ser respondidas em um curto intervalo de tempo, já que a qualidade das decisões, produtividade e satisfação dos tomadores de decisão dependem fortemente da velocidade com a qual estas consultas são atendidas.

Por isso, diversas soluções têm sido propostas na literatura para maximizar o desempenho do processamento de consultas analíticas. Dentre essas soluções, recentes estudos mostram a importância da agregação parcial de estruturas multidimensionais para aumento de velocidade da execução de consultas OLAP (KHAN e AZIZ, 2010). Esta área de agregação parcial tem despertado o interesse da comunidade de pesquisa, e principalmente, no que diz respeito à identificação do que deve ser parcialmente agregado, ou seja, na definição sobre quais porções de dados (i.e. visões) devem ser agregadas (i.e. materializadas).

Visões materializadas armazenam dados agregados e pré-computados para eliminar a sobrecarga associada a custosas operações de junção e agregações de dados exigidas por consultas analíticas. Assim, dado um certo limiar de custo de armazenamento, há uma necessidade de selecionar as melhores visões para serem materializadas, ou seja, visões que sejam compatíveis com os requisitos de armazenamento e forneçam o menor tempo de resposta para processar consultas OLAP. Várias soluções têm sido propostas por pesquisadores para resolver esse problema, que é conhecido na literatura como Problema Seleção de Visões (PSV). Estas soluções incluem a definição de algoritmos de otimização para a seleção de visões, especificações de custos para as visões e a escolha de critérios para seleção.

Como o PSV trata-se de um problema reconhecidamente NP-Hard (HARINARAYAN, RAJARAMAN e ULLMAN, 1996), diversos algoritmos de otimização com variados critérios de seleção foram propostos. Alguns destes critérios de seleção são obtidos a partir de um perfil de usuário OLAP, também conhecido por Assinaturas OLAP (A-OLAP). Define-se A-OLAP como sendo um conjunto de informações extraídas a partir de históricos de consultas OLAP feitas por usuários para fins específicos.

(18)

O projeto de pesquisa aqui descrito enquadra-se na abordagem estática do PSV, i.e visões são selecionadas estaticamente, materializadas e mantidas até que mudanças sejam necessárias. A abordagem estática é mais apropriada em cenários nos quais é conhecido de antemão o escopo de consultas de um usuário. Como nesta pesquisa faz-se uso do histórico de consultas OLAP de um usuário, a abordagem estática é adotada. Assim, esta pesquisa propõe um método de seleção e materialização de visões por meio de um perfil de consulta OLAP (Assinatura OLAP) e algoritmos de otimização baseados na meta-heurística GRASP, visando maximizar o desempenho destas consultas.

1.2.

Motivação

É de grande importância o tempo de reposta das consultas OLAP para a qualidade das tomadas de decisões empresariais. Este tempo de resposta pode ser influenciado por diversos fatores, principalmente pela disponibilidade dos dados, pois no momento da submissão de uma consulta, faz toda a diferença se esta consulta já possui os dados pré-agregados ou não. A necessidade de redução no tempo de resposta das consultas OLAP é atendida por meio de visões materializadas. No entanto, isto requer que haja uma decisão sobre quais visões devem ser materializadas, tornando o PSV, o alvo de vários estudos na literatura.

O ciclo de execução das consultas multidimensionais se estende desde a captação das consultas do usuário para a construção da Assinatura OLAP, até a materialização de visões. Entretanto, a maioria dos estudos sobre PSV, encontrados na literatura, não abrange todo este ciclo ou não especifica e implementa todo o ciclo de execução de consultas multidimensionais.

Diversas estruturas de dados são propostas e utilizada pelas abordagens existentes para capturar as relações entre as visões, tais como Lattice de Visões (NADEAU e TEOREY, 2002), (LIN e KUO, 2004), (KUMAR e HAIDER, 2011); DAG (Directed Acyclic Graph) ou Tree (BARIL e BELLAHSÉNE, 2003), (YOUSRI, AHMED e EL-MAKKY, 2005), (DERAKHSHAN, STANTIC, et al., 2008); Wavelet (SMITH, LI e JHINGRAN, 2004); Matrizes ou Vetores (AOUICHE, EMMANUEL JOUVE e DARMONT, 2006), (HUNG, HUANG, et al., 2007); VSCG (View Selection

(19)

computacional para a construção e manutenção dessas estruturas durante a execução dos algoritmos de otimização. Isto se deve pelo acoplamento entre a estrutura e a lógica de seleção definida pelo algoritmo de seleção de visões. Além deste custo computacional, o acoplamento prejudica a flexibilidade da seleção de visões nestas abordagens, pois como uma estrutura de dados é necessária, todo novo algoritmo de otimização que possa ser adotado na seleção de visões demanda uma customização para funcionar com a estrutura de dados utilizada na abordagem de otimização escolhida.

Além disso, até então, não se tem conhecimento sobre a utilização da meta-heurística GRASP (Greedy Randomized Adaptive Search Procedure), na construção de algoritmos de otimização para a seleção de visões. Ademais, GRASP é uma heurística híbrida que combina as características da heurística gulosa e do procedimento de busca local. Finalmente, GRASP tem se destacado como uma das heurísticas mais competitivas em termos da qualidade das soluções alcançadas (FESTA e C., 2009). Por estas razões, a metaheurística GRASP foi adotada no trabalho descrito neste documento. Foi identificada a necessidade de definição de um método para seleção e materialização de visões que diferente das outras abordagens existentes: (1) Mantenha informações sobre as consultas OLAP previamente executadas, e também armazene informações sobre o esquema do cubo de dados utilizado para processar as consultas; (2) Defina como o histórico de consultas e as informações sobre o esquema do cubo de dados são armazenados e subsequentemente usados para selecionar e materializar visões; (3) Desacople a estrutura de dados usada da lógica de seleção; e (4) Utilize como algoritmo de otimização para a seleção das visões, algoritmos baseados na meta-heurística GRASP.

1.3.

Objetivos

O objetivo principal deste trabalho é propor um método de seleção e materialização de visões por meio de Assinaturas OLAP e algoritmos de otimização baseados na meta-heurística GRASP, visando maximizar o desempenho das consultas OLAP. Para contribuir com o objetivo principal desse trabalho, os objetivos específicos são:

(1) Propor um esquema conceitual de dados para representação das assinaturas OLAP. As informações concernentes às assinaturas OLAP caracterizarão, ao longo do

(20)

tempo e para um dado usuário, as consultas submetidas pelo usuário para um cubo de dados particular. Como resultado, os elementos mais significativos do cubo de dados são também identificados e representados no esquema conceitual proposto.

(2) Propor um método de seleção e materialização de visões que abrangerá todo o ciclo de execução de uma análise multidimensional. Este método utilizará o esquema conceitual de dados, citado no item anterior, para geração de conhecimento sobre quais visões são mais benéficas e estão associadas ao escopo de consultas do usuário. Estas visões devem ser selecionadas, e o esquema conceitual de dados deve também fornecer informações para a materialização das visões selecionadas;

(3) Especificar e implementar algoritmos de otimização baseados na meta-heurística GRASP para a seleção das visões OLAP.

(4) Realização de experimentos para validação do método, como também realizar comparações entre os algoritmos de otimização propostos nesta dissertação e outros algoritmos de otimização existentes na literatura.

1.4.

Estrutura da dissertação

Esta dissertação está organizada como segue:

Capítulo 2 – Fundamentação teórica: introduz os principais conceitos envolvidos no domínio abordado. Apresenta os trabalhos relacionados ao presente trabalho na intenção de fundamentar o leitor acerca do estado da arte sobre o tema estudado.

Capítulo 3 – Método de Seleção e Materialização de Visões: este capítulo primeiramente apresenta os conceitos e as propriedades do esquema conceitual proposto para a representação das assinaturas OLAP e dos elementos do cubo de dados. Em seguida, é mostrado o método de seleção e materialização de visões proposto, que é estruturado em quatro fases. Neste capítulo, também é definido como o esquema conceitual proposto é utilizado no novo método de seleção e materialização de visões. Além disso, os algoritmos de otimização propostos são também aqui definidos.

Capítulo 4 – Análise Experimental: neste capítulo são discutidos os resultados dos testes efetuados para análise e avaliação da solução proposta para seleção e materialização de visões..

(21)

Capítulo 5 – Considerações Finais: nesse capítulo, são apresentadas as principais contribuições do trabalho desenvolvido além de indicar os caminhos para as próximas pesquisas do domínio abordado.

(22)

Capítulo 2

Fundamentação Teórica

Este capítulo destina-se a apresentar a fundamentação teórica relacionada à proposta apresentada nesta dissertação. Conceitos básicos acerca de Estruturas Multidimensionais de Dados, Assinaturas OLAP, Problema de Seleção de Visões (PSV), Algoritmos de Otimização são listados e é exibida uma análise sobre o estado da arte relativo ao desenvolvimento de soluções para o PSV.

(23)

2.1.

Introdução

Este capítulo discorre sobre os conceitos relacionados com o trabalho descrito neste documento. Além disso, ele objetiva apresentar o estado da arte sobre o desenvolvimento de soluções para o PSV.

Este capítulo está organizado como segue. Na Seção 2.2, são apresentadas, juntamente com seus conceitos, características sobre estruturas multidimensionais de dados. A Seção 2.3 discute sobre a importância do uso de assinaturas em ambientes OLAP que motiva a elaboração do esquema conceitual para armazenamento de assinaturas OLAP, que é proposto nesta dissertação. Já os conceitos relacionados com o PSV são apresentados na Seção 2.4. Enquanto a Seção 2.5 aborda e descreve sobre algoritmos de otimização, a Seção 2.6 apresenta uma discussão sobre o estado da arte acerca do desenvolvimento de soluções para o PSV. Por fim, algumas conclusões estão dispostas na Seção 2.7.

2.2.

Estruturas Multidimensionais de Dados

As estruturas multidimensionais de dados são o componente central dos sistemas OLAP. São elas que organizam os dados oriundos do DW em várias perspectivas de análise (dimensão, hierarquia, níveis), definidas pelos analistas estratégicos sobre um determinado fato de análise. Dois esquemas principais são adotados para a organização dos dados no DW: o esquema estrela e o floco-de-neve. O primeiro consiste geralmente no arranjo de dois tipos de tabelas (fatos e dimensão) em um banco de dados relacional (arquitetura ROLAP), de modo que uma tabela de fatos com uma chave composta é associada a várias tabelas de dimensão, cada uma com uma chave primária. Uma tabela de fatos é a tabela que contém as chaves estrangeiras das tabelas de dimensão e os atributos de medida que representam as métricas de interesse do negócio. Os valores das medidas são obtidos por meio de operações de agregação com base na chave composta da tabela de fatos. Já as tabelas de dimensões são tabelas que armazenam, por meio de colunas, as descrições textuais (atributos) das dimensões do negócio. No esquema estrela, ilustrado pela Figura 2.1, está representado o armazenamento de dados, em tabelas, relacionando o fato da venda com as dimensões Produto, Cliente e Tempo.

(24)

Figura 2.1: Exemplo de esquema estrela

O esquema floco-de-neve é uma extensão do esquema estrela e sua principal característica é a normalização das dimensões. Na Figura 2.2, as dimensões cliente e produto estão normalizadas, respectivamente, em relação às informações sobre cidade e categoria. Apesar deste esquema possuir a vantagem de manutenção e menor espaço físico das tabelas de dimensões, o esquema estrela é preferível ao floco-de-neve por sua estrutura não normalizada que é mais eficiente por requerer menos operações de junções.

Figura 2.2: Exemplo de esquema floco de neve

Conceitualmente, as estruturas multidimensionais permitem que ferramentas OLAP manipulem os dados como se estes pertencessem a um cubo de dados, exemplificado na Figura 2.3. A metáfora visual usada para visualização dos dados multidimensionais consiste em um cubo de dados. Uma estrutura multidimensional com três dimensões (cubo) é de fácil compreensão, porém a visualização de uma estrutura multidimensional com mais de três dimensões (chamado de hipercubo ou multicubo) se torna mais difícil. Assim, a designação simplista de cubo de dados é mais usual, mesmo quando denota uma estrutura multidimensional com mais de três dimensões, devido,

(25)

simplesmente, à sua empatia visual. Cada célula do cubo representa um fato. Um fato é descrito por uma série de medidas (valores numéricos localizados dentro da célula), cujos valores são caracterizados por uma combinação de coordenadas (membros das dimensões). Por exemplo, como mostrado na Figura 2.3, a célula correspondente à combinação do produto P3 com o cliente C3 e tempo T1 representa o fato mensurado como 81.

Figura 2.3: Exemplo de cubo de dados

Figura 2.4: Exemplo dimensões e hierarquias

A dimensão é um conceito essencial, pois cada dimensão do cubo representa um tema de interesse no qual as medidas de desempenho de uma dada atividade de negócio estão inseridas. As dimensões possuem dois propósitos principais: a seleção de dados e o agrupamento em um dado nível. Por exemplo, o usuário pode analisar apenas os dados das dimensões desejadas (e.g. as dimensões Produto e Tempo sendo usadas na

(26)

seleção dos dados) ou pode agrupar informações por níveis (e.g. mostra-se o valor agregado pelo nível ano, mês ou dia da dimensão temporal).

Uma dimensão está organizada sob a forma de uma ou mais hierarquias. Uma hierarquia é uma estrutura em árvore que organiza os membros de uma dimensão em um ou mais níveis. Cada nível representa um nível de detalhe de interesse que permite a visualização dos fatos em uma dada perspectiva de análise ou em um nível de detalhamento. Para cada par dimensão/nível, tem-se um conjunto de instâncias que são membros da dimensão. Para exemplificar, a Figura 2.4 exibe três dimensões cada qual com suas respectivas hierarquias. A dimensão tempo tem os níveis: Ano, Mês, Dia. Para o par tempo/mês pode-se ter as instâncias: Abril, Maio, Junho, que são membros da dimensão temporal.

O esquema multidimensional representa a relação entre os dados e as estruturas multidimensionais, ou seja, especifica a localização dos dados que comporão as dimensões, os níveis e os membros. Um aspecto importante ao se definir o esquema multidimensional é saber quais tipos de análises (perspectivas) sobre os dados são relevantes a fim de que estas perspectivas atendam às necessidades de análise do negócio. As perspectivas (visões sobre os dados) são associadas diretamente às combinações existentes entre os níveis das dimensões. Por exemplo, a visão que permite obter os fatos por cidade do cliente, por produto e por mês, consiste na combinação de três níveis de cada dimensão e é representada por “Cidade x Produto x Mês” ou (CiPM). Outro exemplo de visão consiste na omissão de uma das dimensões para obter os fatos por produto e por ano, representado por “Produto x Ano” ou (-PM), no qual o símbolo - denota a ausência da dimensão Cliente.

Uma visão possui um grau de granularidade sobre dados, que corresponde ao nível de detalhe da visão. A granularidade é maior (ou mais grossa) se o nível de combinação dos valores das dimensões é mais alto, por exemplo, “Cidade x Tipo x Mês (CiTM)”, ou menor (ou mais fina), por exemplo “Cliente x Produto x Dia (CPD)”, se o nível de combinação dos valores das dimensões é mais baixo. Uma granularidade mais grossa corresponde a um menor nível de detalhes e consequentemente, implica em um menor volume de dados, já uma granularidade mais fina corresponde a um maior nível de detalhes e logo, gera um maior volume de dados.

Existe um relacionamento de dependência entre visões, no qual uma visão de granularidade mais grossa pode ser obtida por uma visão de granularidade mais fina,

(27)

simplesmente agregando os valores ao longo da hierarquia. Por exemplo, a visão (CiTM) pode ser obtida a partir da visão (CPD), agregando-se os valores de todos os clientes por cidade; se os valores de todos os produtos por tipo; e agregando-se os valores de todos os dias por mês.

Figura 2.5: Exemplo de Grafo de Derivação

A estrutura de dados que contém as visões e os relacionamentos de dependências entre elas é denominada lattice de visões ou grafo de derivação (HARINARAYAN, RAJARAMAN e ULLMAN, 1996). Um grafo de derivação G é um par (V, A) de conjuntos disjuntos de vértices V e arcos A. V(G) representa as visões, enquanto A(G) representa um conjunto de relações de dependência entre estas visões. A Figura 2.5 ilustra um exemplo de grafo de derivação, de acordo com as dimensões e os níveis da Figura 2.4, mas considerando apenas os dois níveis de maior e menor posição hierárquica por dimensão.

O lattice de visões representa o conjunto de todas as agregações possíveis (cálculo de todos os agrupamentos possíveis) obtidas a partir de um dado esquema dimensional. Por sua vez, uma visão corresponde à agregação de um conjunto de dados para uma determinada combinação de níveis de detalhes.

O resultado de uma consulta analítica não precisa, essencialmente, do cálculo e armazenamento (total ou parcial) das agregações do lattice de visões. Os dados das tabelas definidas no esquema dimensional (tabela de fatos e tabela de dimensões), que denotam um maior nível de detalhe, podem ser utilizados, acessando para isso, o DW. Entretanto, as operações de leitura e agregação sobre estes dados podem consumir muito tempo, já que uma grande quantidade de registros pode ser envolvida nas operações, mesmo se índices forem usados. Por isso, os dados da consulta analítica

(28)

podem ser previamente calculados e armazenados, para que o resultado da consulta seja obtido mais rapidamente. Estes dados pré-computados representam visões materializadas.

A diferença entre uma visão e uma visão materializada é que a visão representa uma abstração sobre quais dados e sobre como eles devem ser agregados, enquanto uma visão materializada consiste na concretização da abstração, ou seja, significa que os dados correspondentes à visão se encontram calculados e materializados. Uma consulta (q1) do tipo: exibir o valor total das vendas para cada cliente e respectivo produto

comprado pode ser respondida pela materialização da visão (CP-) exibida na Figura 2.5.

Outra consulta (q2), exibir o valor das vendas por cliente pode ser respondida pela materialização da visão (C--). Mas se a visão (C--) não estivesse materializada a consulta q2 poderia se respondida pela materialização da visão (CP-), pois uma operação de agregação por cliente na visão materializada (CP-) poderia ser realizada. Mesmo com o custo associado à operação de agregação sobre (CP-) para responder a consulta q2, o tempo de processamento é menor do que por meio das tabelas do DW, pois em (CP-) os dados estão sumarizados, ou seja, em menor quantidade.

Uma consulta pode ser respondida a partir do acesso a diferentes visões materializadas, pois a partir de uma visão pode-se obter (derivar) outra visão. O caminho de obtenção de uma visão a partir de uma existente é representado pelo grafo de derivação ilustrado na Figura 2.5. É possível solucionar a consulta (q2) por meio de (CP-) ao invés de usar (C--), porque existe uma aresta direcionada de (CP-) à (C--) no grafo de derivação, ou seja, é possível derivar (C--) a partir de (CP-). Assim, conhecendo as visões materializadas e os seus relacionamentos e custos, é simples identificar a visão que pode ser utilizada para responder uma dada consulta.

Em síntese, diz-se que a materialização das visões é condição de desempenho num sistema de processamento analítico. Todavia, a materialização tem um preço: o espaço de armazenamento, o tempo de cálculo e de materialização, e o tempo de atualização, já que as alterações das tabelas do DW deverão ser refletidas em todas e quaisquer visões materializadas. Desta forma, existe um problema de pesquisa em aberto que consiste em identificar quais visões deve-se materializar. Este tópico de pesquisa será mais detalhado na Seção 2.4.

(29)

2.3.

Assinaturas OLAP

Perfil de usuário, resumidamente, é uma coleção de dados que armazena a descrição das características de um determinado usuário. Um perfil corresponde à assinatura de um dado indivíduo, pois um perfil consiste na representação digital e explícita da identidade de uma dada pessoa (ALFONSECA e RODRÍGUEZ, 2003). Assinaturas são utilizadas para identificar ou representar indivíduos. Exemplos de sistemas computacionais que fazem uso destas assinaturas são: redes sociais (Orkut,

MySpace, Facebook, LinkedIn); sistemas operacionais (Microsoft Windows Profile);

setores comerciais para estratégias de marketing sobre clientes; e setores financeiros para concessão de créditos e prevenção de fraudes (EDGE e SAMPAIO, 2009) e (HILDEBRANDT e GUTWIRTH, 2008). Existem diversas metodologias para a geração de perfis de usuário e seu processo de aplicação inclui a definição e a manutenção de assinaturas como uma forma prática de caracterizar ao longo do tempo, o comportamento de um dado indivíduo, num dado ramo de atividade.

Um usuário OLAP realiza uma série de consultas analíticas com o intuito de responder a um estudo que tem em mente, por exemplo, um analista que deseja perceber a evolução das vendas de carros em várias lojas espalhadas pelo país. Para chegar a esse resultado o usuário pode começar com consultas parciais, por exemplo, “Quais as lojas

mais rentáveis do último trimestre?”. Em seguida ele pode querer saber: “Quais os carros mais vendidos nessas lojas?” e continua submetendo consultas até obter o que

lhe interessa. As consultas OLAP realizadas são o indicativo do que realmente é relevante para o usuário em um dado momento. A distribuição da frequência de repetição de cada consulta efetuada corresponde a um histórico de execução de consultas do usuário e tê-lo em consideração na hora da decisão sobre a escolha de qual visão deve ser materializada é muito importante, pois a escolha é feita de acordo com o que realmente é importante para o usuário. Assim, assinaturas OLAP (A-OLAP) são um conjunto de informações extraídas a partir do registro histórico de consultas OLAP feitas por usuários para fins específicos. A-OLAP são utilizadas para melhorar o desempenho do processamento de consultas, como atestam alguns trabalhos (SAPIA, 1999), (PARK, KIM e LEE, 2003), (GUPTA, 1997) , (SOUTYRINA e FOTOUHI, 1997),(BARALIS, PARABOSCHI e TENIENTE, 1997), (HORNG, CHANG, et al., 1999) , (LIN e KUO, 2004), (DE ALBUQUERQUE LOUREIRO, 2006), (KALNIS, MAMOULIS e PAPADIAS, 2002) e(KUMAR e HAIDER, 2011).

(30)

2.4.

O Problema de Seleção de Visões (PSV)

Estudos mostram a magnitude do ganho em tempo de execução de consultas multidimensionais que são solucionadas por meio da agregação parcial do cubo de dados (KHAN e AZIZ, 2010). Como visto na Seção 2.2, a materialização de determinadas visões aumenta o desempenho total ou parcial de algumas consultas. Porém, a agregação total do cubo de dados, ou seja, a materialização de todas as visões para ganho de desempenho não é factível. Em casos reais, é impossível a agregação total. A materialização de cada visão tem um preço associado: espaço de armazenamento, tempo de cálculo de materialização e tempo de atualização. Além disso, o número de visões possíveis é dado pela fórmula , na qual é o número de níveis por hierarquia da dimensão e é o número de dimensões existentes no cubo. A computação desta fórmula resulta em uma explosão combinatória. Por se tratar de um produtório, o número de visões possíveis para um dado esquema multidimensional exibe uma grande combinação de valores possíveis. No exemplo da Figura 2.5, no qual existem dois níveis por dimensão, têm-se visões. Mas se tivermos cinco dimensões, cada uma com quatro níveis, têm-se visões possíveis.

Em meio à impossibilidade da materialização total dos dados, é importante definir quais visões devem ser materializadas e como selecioná-las. Está indagação deu origem a um problema de maior relevância em sistemas OLAP, conhecido na literatura como Problema de Seleção de Visões (PSV) (KHAN e AZIZ, 2010). O PSV é um problema reconhecido como NP-Hard (HARINARAYAN, RAJARAMAN e ULLMAN, 1996) e de natureza combinatória, já que o espaço de busca da solução do problema é constituído a partir de combinações entre visões que serão e não serão materializadas. Se o número de visões possíveis é muito grande, o número de suas possíveis combinações é muito maior. Por exemplo, com 1024 visões possíveis têm-se

soluções possíveis. A procura da solução por meio de pesquisa

exaustiva no espaço de soluções implicaria em um número igual de iterações. Mesmo que cada iteração tenha a duração de apenas, o processo teria a duração de anos.

Em resumo, o PSV é um problema de otimização combinatória, no qual se tem um conjunto V de visões possíveis do cubo C. É essencial encontrar o subconjunto que maximize o benefício (ou minimize o custo) total das consultas realizadas

(31)

sobre C. A modelagem matemática do PSV é exibida na Figura 2.6, a qual corresponde a formulação do Problema da Mochila (Knapsack Problem). Seja o conjunto das visões a serem escolhidas para materialização. Denota-se como a variável de decisão que indica com valor igual a 1 se a visão foi escolhida para ser materializada e 0 caso contrário. Seja o beneficio da materialização da visão e o espaço físico necessário para o armazenamento da visão . O problema consiste em encontrar um subconjunto de de modo a obter o maior valor de benefício considerando como restrição um valor C, que representa o espaço de armazenamento disponível para a materialização das visões selecionadas.

Figura 2.6: Modelagem Matemática do PSV

2.5.

Algoritmos de Otimização

Problemas de otimização surgem em quase todas as áreas, desde a área de desenvolvimento científico até áreas de aplicação industrial. Eles emergem quando a tarefa é encontrar a melhor dentre muitas soluções possíveis para um dado problema, desde que exista uma noção clara de como avaliar a qualidade da solução. Contrariamente a outros problemas de otimização, os problemas de caráter combinatório têm um número finito de soluções candidatas. Assim, uma forma óbvia de resolução seria a enumeração de todas as soluções candidatas, comparando-as. Infelizmente, para a maioria destes problemas, esta abordagem não é praticável, já que o número de soluções possíveis é simplesmente exponencial. Este é o caso do PSV.

Esta é a razão pela qual pesquisadores têm concentrado esforços na utilização de heurísticas para solucionar problemas de complexidade exponencial (HYLOCK e CURRIM, 2013), (KUMAR e HAIDER, 2011), (KHAN e AZIZ, 2010). Uma heurística consiste em uma técnica inspirada em processos intuitivos que procura uma boa solução a um custo computacional aceitável, sem, no entanto, estar capacitada a garantir a obtenção

(32)

da solução ótima, bem como garantir quão próximo está a solução obtida da solução ótima. O desafio é produzir, em tempo reduzido, soluções tão próximas quanto possível da solução ótima. Muitos esforços têm sido feitos nesta direção e heurísticas muito eficientes e flexíveis foram desenvolvidas para diversos problemas. As meta-heurísticas, que são heurísticas de propósito geral, podem ser facilmente adaptadas para resolução de diversos problemas. Dentre os procedimentos enquadrados como meta-heurísticas que surgiram ao longo das últimas décadas, destacam-se: Algoritmos Genéticos, GRASP, Colônia de Formigas, Redes Neurais, Recozimento Simulado (Simulated Annealing) e Religamento de Caminho (Path-Relinkg) (GENDREAU e POTVIN, 2010). Nas seções seguintes, heurísticas, que foram adotadas nos experimentos reportados neste documento são explicadas detalhadamente.

2.5.1. GRASP - Greedy Randomized Adaptive Search Procedure

As meta-heurísticas são uma das alternativas mais promissoras para a solução aproximada de problemas de elevado nível de complexidade computacional. Dentre as meta-heurísticas existentes, GRASP (Greedy Randomized Adaptive Search Procedure), proposto por (FEO e RESENDE, 1995), tem se destacado como uma das mais competitivas em termos da qualidade das soluções alcançadas (FESTA e C., 2009). A meta-heurística GRASP é um processo iterativo, no qual cada iteração consiste, resumidamente, em repetir dois passos até que certo critério de parada seja atingido, como ilustra a Figura 2.7. O primeiro passo, a fase construtiva, consiste em gerar uma solução inicial de boa qualidade por meio de uma heurística gulosa aleatorizada. O segundo passo, a fase de busca local, consiste em melhorar a solução inicial por meio de uma busca local e atualizar a melhor solução encontrada até então.

Muitas técnicas podem ser acopladas ao GRASP no intuito de aperfeiçoar a heurística GRASP. Nas próximas seções, duas dessas técnicas Path-Relinking (PR) e

Reactive GRASP são descritas.

GRASP (

)

Entrada: uma lista de vértices (

), Saída: melhor solução encontrada

1 melhorSolucao 

;

2 ENQUANTO critério de parada não for satisfeito FAÇA 3 solucao FaseConstrução(

'

(33)

4 solucao FaseBuscaLocal(

'

, solucao); 5 AtualizarSolucao(solucao, melhorSolucao); 6 RETORNE melhorSolucao;

Figura 2.7: Meta-heurística GRASP

2.5.1.1. Path-Relinking

O Path-Relinking (PR) (RESENDE e RIBEIRO, 2005) consiste em uma estratégia de busca de soluções que explora o caminho de conexão entre duas soluções: uma chamada de solução origem e outra chamada de solução alvo. Partindo de uma solução origem, faz-se nela movimentos de adição e/ou remoção de elementos, de modo que a cada movimento realizado, i.e a cada passo, a solução origem se torne cada vez mais semelhante à solução alvo. Todo o caminho de conexão é percorrido quando a solução origem se torna idêntica à solução alvo. O objetivo desta técnica consiste em encontrar, durante a realização dos passos, uma solução que seja melhor do que as soluções extremas deste caminho.

Uma forma de realizar o PR é por meio de passos do tipo forward, no qual a solução de melhor valor dentre as duas soluções é atribuída como solução alvo, ou seja, o passo consiste em fazer um movimento, tendo como solução origem, a solução de menor valor e tendo como solução alvo, a solução de maior valor. A outra forma é por meio de passo do tipo backward, no qual a solução de menor valor dentre as duas soluções é atribuída como solução alvo, ou seja, o passo consiste em realizar um movimento, tendo como solução origem, a solução de maior valor e tendo como solução alvo, a solução de menor valor. Outra forma de proceder é por meio de passos do tipo

mixed, no qual os dois passos (forward e backward) são utilizados intercaladamente.

Quando há uma grande concentração de soluções muito boas próximas à solução origem no caminho explorado pelo Path-Relinking, explorar apenas frações do caminho pode produzir soluções quase tão boas quantas aquelas encontradas por explorar o caminho de conexão inteiro. Desta forma, também existe a versão Truncated do PR, na qual não é percorrido todo o caminho de conexão entre as duas soluções iniciais. Em vez de explorar o caminho inteiro, o Truncated PR só explora uma parte do caminho existente entre duas soluções e, consequentemente, leva uma fração menor do tempo para ser executado. O Truncated PR pode ser aplicado nos tipos forward, backward ou

mixed. Isto produz mais três variantes do PR: forward truncated, backward truncated e mixed truncated.

(34)

Para ilustrar o funcionamento do Path-Relinking é exibido na Figura 2.8 duas soluções: uma solução origem e uma solução alvo. Seis passos foram necessários para realizar o religamento entre a solução origem e a solução alvo. Para a realização do primeiro passo (P1), um leque com seis opções de movimento foi gerado para se chegar à solução alvo. Então, as seis opções foram analisadas e o terceiro movimento foi selecionado como o melhor movimento. No segundo passo (P2), cinco opções de movimento foram geradas e foi selecionado o quarto movimento. Em seguida, no terceiro passo (P3), quatro opções de movimento foram geradas e o segundo movimento foi selecionado. No último passo (P6), a solução alvo foi atingida e cinco soluções foram produzidas durante o religamento: S1, S2, S3, S4, S5. A melhor dentre as cinco soluções é retornada pelo Path-Reliking.

Figura 2.8: Exemplo de funcionamento do Path-Relinking

2.5.1.2. Reactive Grasp

Os algoritmos baseados na meta-heurística GRASP recebem, além dos dados de entrada peculiares ao problema sendo otimizado, os valores dos parâmetros de configuração do algoritmo. Estes valores regulam a execução eficiente do algoritmo segundo os dados de entrada do problema. Desta forma, para cada conjunto de dado de entrada distinto, é necessária a realização da calibração destes parâmetros. Visando eliminar o custo associado à calibração dos parâmetros, são propostos em (FEO e RESENDE, 1995), (RIOS-MERCADO e FERNANDEZ, 2009), (BOUDIA, LOULY e PRINS, 2007), (KAMKE, ARROYO e DOS SANTOS, 2009), (DENG e BARD, 2011), versões reativas do GRAP (Reactive GRASP). Estas versões propõem mecanismos de auto-configuração dos parâmetros de entrada que regulam os procedimentos do algoritmo ao longo da execução. No contexto do PSV, a versão reativa melhora o dinamismo do método proposto neste documento, pois não é necessária, internamente,

(35)

uma etapa para a escolha dos melhores valores para os parâmetros de configuração do algoritmo de seleção. Além disso, a atribuição destes valores pelo usuário OLAP pode não ser satisfatório, pois necessitaria do seu entendimento sobre os parâmetros e requereria a realização de testes experimentais para escolha dos melhores valores. Por isso, este trabalho propõe um novo algoritmo de seleção de visões baseados na versão reativa da meta-heurística GRASP.

2.5.2. ACO - Ant Colony

A meta-heurística de otimização por Colônia de Formigas, ou simplesmente Colônia de Formigas (Ant Colony Optimization Metaheuristic - ACO), tem sido aplicada em problemas de otimização (DORIGO e BLUM, 2005) e no domínio do PSV (SONG e GAO, 2010). Esta meta-heurística emula o comportamento de um conjunto de formigas que cooperam entre si para solucionar um problema de otimização. A cooperação entre as formigas se dá por meio do feromônio depositado por cada formiga ao se deslocar no espaço de busca, permitindo que o rastreamento desta substância possa ser usado como informação por outras formigas. Além das atividades das formigas, a meta-heurística inclui o procedimento de evaporação da trilha de feromônio. A evaporação de feromônio é o processo pelo qual o feromônio depositado pelas formigas decresce ao longo do tempo. Isto é necessário para evitar uma convergência prematura do algoritmo em uma região subótima.

Na Figura 2.9, uma implementação da meta-heurística Colônia de Formigas aplicada ao PSV é exibida. Nesta implementação, o algoritmo recebe como parâmetros de entrada: a lista de visões candidatas à materialização (Ψ), o espaço disponível para materialização das visões (δ), a taxa de evaporação do feromônio (ρ), o número de formigas que saem de um caminho inicial (π) e a quantidade total de feromônio depositado ao longo do caminho (Q). Este último valor é igual ao número total de visões encontradas em (Ψ). representa um movimento (trecho) do local i ao local j. Um local i ou j representa uma solução no espaço de soluções do problema. é a quantidade de feromônio depositada por todas as formigas no trecho (i, j).

Inicialmente a quantidade total de feromônio em cada trecho (i,j) possui o mesmo valor, e é igual a 1. A melhor solução até então encontrada é vazia, ou seja, inicialmente tem-se que nenhuma visão foi adicionada. Na linha 5, para obtenção de uma rota (solução), uma visão v é escolhida como ponto inicial da rota, ou seja, v é a

(36)

primeira visão adicionada à solução. Em seguida, cada trecho (i,j) que compõe a rota é criado pela adição de uma visão de índice j à solução, tendo no trecho anterior adicionado a visão de índice i. Obtida a rota s pela formiga k, na linha 7, é feita a comparação entre a melhor solução corrente (melhor_solucao) e a solução s. Caso o benefício de s seja maior que o de melhor_solucao, então melhor_solucao passa a armazenar a solução presente em s. Além disso, na linha 8, é atribuído o feromônio depositado pela formiga k em todos os trechos percorridos por ela. Antes que o ciclo da linha 4 se repita, ou seja, antes que uma nova rota seja traçada pela próxima formiga, na linha 10, é executada a evaporação do feromônio. Por fim, quando o critério de parada é atingido, a melhor solução até então encontrada é retornada.

2 5 8 9 10

Figura 2.9: Algoritmo Colônia de Formigas

2.6.

Trabalhos Correlatos

Diversas abordagens têm sido propostas para o problema de seleção de visões (PSV) (HYLOCK e CURRIM, 2013), (KHAN e AZIZ, 2010). Nelas são utilizados,

(37)

como critério de seleção, o custo de processamento das consultas e/ou o custo de manutenção das visões. Estes critérios envolvem a combinação de fatores associados à visão, tais como: espaço físico, frequência de utilização, frequência de atualização, custo de manutenção, planos de execução de consultas e utilização de índices nas tabelas de materialização.

Outras abordagens, em menor quantidade, são encontradas na literatura para outros domínios do PSV, que utilizam como fontes de dados, bases de dados não convencionais tais como: banco de dados XML (TANG, YU, et al., 2009); banco de dados espaciais (LI, WANG e LIU, 2006), (YU, ATLURI e ADAM, 2006), (YU, ATLURI e ADAM, 2005); e banco de dados distribuído no qual as visões se encontram dispersas em diferentes servidores (BAUER e LEHNER, 2003),(KARDE e THAKARE, 2010), (DE ALBUQUERQUE LOUREIRO, 2006).

Para uma análise sistêmica das abordagens encontradas na literatura, para seleção e materialização de visões OLAP, os trabalhos foram agrupados em quatro classes de análise segundo: (1) as restrições de seleção, Seção 2.6.1; (2) a heurística de seleção, Seção 2.6.2; (3) a configuração de seleção, Seção 2.6.3; e (4) a estrutura de dados de seleção, Seção 2.6.4. Por fim, na Seção 2.6.5, são feitas as considerações sobres estas quatro classes de análise relacionando-as à abordagem proposta neste documento.

2.6.1. Restrições de Seleção

As abordagens estão agrupadas segundo as restrições adotadas por elas para limitar o número de visões a serem materializadas.

Espaço Físico de Materialização: critério de seleção presente na maioria das abordagens. A quantidade de visões a serem materializadas é limitada ao espaço físico disponível para materialização das visões selecionadas.

Custo de Manutenção da Visões: o conjunto de visões escolhido para materialização não pode ter o seu custo de manutenção de visões maior que um valor de custo de manutenção de visões especificado (ASHADEVI e BALASUBRAMANIAN, 2009),(GUPTA e MUMICK, 1999), (HUNG, HUANG, et al., 2007) (TALEBIAN e KAREEM, 2010), (TALEBIAN e KAREEM, 2009), (YU, YAO, et al., 2003), (YUHANG, QI e WEI, 2010). Este custo de manutenção de visões pode ser mensurado em termos do tempo de atualização ou do número de atualizações realizadas.

(38)

Número de Visões: um número k de visões é informado. O conjunto de visões selecionado para materialização deve possuir cardinalidade menor ou igual ao número k (DHOTE e ALI, 2007), (KALNIS, MAMOULIS e PAPADIAS, 2002), (VIJAY KUMAR e GHOSHAL, 2009), (KUMAR e HAIDER, 2010), (KUMAR e HAIDER, 2011), (KUMAR, HAIDER e KUMAR, 2011a), (KUMAR, HAIDER e KUMAR, 2010a).

Sem Restrição: não utiliza restrições sobre a quantidade de visões a serem materializadas. Este critério de seleção está presente na maioria dos trabalhos. O objetivo é tentar encontrar um conjunto de visões de custo mínimo (CHIRKOVA, LI e LI, 2006), (DERAKHSHAN, H., et al., 2006), (DERAKHSHAN, STANTIC, et al., 2008), (YANG, KARLAPALEM e LI, 1997), (YANG, KARLAPALEM e LI, 1997), (ZHANG, YAO e YANG, 2001), (ZHANG, YAO e YANG, 1999).

2.6.2. Heurística de Seleção

As abordagens também podem ser classificadas segundo a heurística de otimização adotada nos algoritmos de seleção de visões, como mostrado a seguir.

Heurística Gulosa: técnica que sempre escolhe o que parece ser a melhor solução no momento, fazendo uma escolha ótima local, na esperança de que esta escolha obtenha a solução ótima global (AOUICHE, EMMANUEL JOUVE e DARMONT, 2006), (CHAN, LI e FENG, 1999), (GUPTA, 1997), (GUPTA, HARINARAYAN, et al., 1997), (HARINARAYAN, RAJARAMAN e ULLMAN, 1996), (VIJAY KUMAR e GHOSHAL, 2009), (KUMAR e HAIDER, 2010), (KUMAR e HAIDER, 2011), (KUMAR, HAIDER e KUMAR, 2011a), (KUMAR, HAIDER e KUMAR, 2010a), (LI e FENG, 2001), (NADEAU e TEOREY, 2002), (SHUKLA, DESHPANDE e NAUGHTON, 1998), (UCHIYAMA, RUNAPONGSA e TEOREY, 1999). É uma técnica de fácil implementação que produz resultados rápidos e eficientes. Contudo, ela possui uma clara desvantagem: a produção de um número muito limitado de soluções, ou seja, dada uma entrada, a solução gerada sempre é a mesma. Isto se deve ao fato de as decisões gulosas tomadas, em passos iniciais do processo construtivo da solução, restringirem fortemente as possibilidades em fases posteriores, muitas vezes determinando movimentos muito pobres nas fases finais do processo de construção, o que, usualmente, leva a soluções subótimas (máximos e mínimos locais).

(39)

Heurística de Busca Aleatória: técnica que consiste em percorrer o espaço de soluções de modo a encontrar boas soluções por meio de movimentos (pseudo) aleatórios (DERAKHSHAN, H., et al., 2006),(DERAKHSHAN, STANTIC, et al., 2008), (KALNIS, MAMOULIS e PAPADIAS, 2002),(PHUBOON-OB e AUEPANWIRIYAKUL, 2007). Nesta classe, encontra-se uma subclasse de técnicas bioinspiradas. São técnicas baseadas no comportamento de populações para solucionar problemas, tais como: Colônia de Formigas (SONG e GAO, 2010); Enxame de

Partículas (DE ALBUQUERQUE LOUREIRO, 2006), (SUN e WANG, 2009); Salto de Rãs (LI, QIAN, et al., 2010). As suas principais vantagens são conseguir evitar

máximos e mínimos locais e gerar um número elevado de soluções. Todavia, ela possui a desvantagem de que dependendo do grau de aleatoriedade no movimento de busca, as soluções podem ser muito dispersas e distantes da solução ótima.

Heurísticas Evolucionárias: técnica inspirada na evolução biológica de indivíduos. O objetivo é evoluir soluções de modo a encontrar soluções ótimas ou subótimas (HORNG, CHANG, et al., 1999), (LAWRENCE, 2006), (LEE e HAMMER, 2001), (TALEBIAN e KAREEM, 2010), (TALEBIAN e KAREEM, 2009), (YU, YAO,

et al., 2003), (ZHANG, YAO e YANG, 2001), (ZHANG, YAO e YANG, 1999). Ela

possui a vantagem de apresentar soluções bem melhores que as outras heurísticas. Suas principais desvantagens são a dificuldade de codificação do problema e a exigência de um maior custo computacional que as demais heurísticas.

Heurísticas Híbridas: utiliza a combinação de técnicas citadas acima. O objetivo desta heurística é explorar boas propriedades de diferentes técnicas de modo a resolver os problemas de modo mais eficiente. Em geral, as abordagens híbridas apresentam melhores resultados do que as heurísticas puras. Como exemplo, tem-se as seguintes abordagens: guloso mais genético (LIN e KUO, 2004), (LIN e KUO, 2000), (WANG e ZHANG, 2005); Busca Aleatória com Heurística Clonal (YUHANG, QI e WEI, 2010); Genético e Busca Aleatória (ZHOU, XU, et al., 2008), (ZHANG, SUN e WANG, 2009) .

Heurísticas Específicas: são abordagens que não se encontram em qualquer das quatro classes citadas anteriormente. Estas heurísticas foram concebidas para atender a modelos específicos do problema de seleção de visões (AFONIN, 2008), (AFRATI, DAMIGOS e GERGATSOULIS, 2009), (AFRATI, CHIRKOVA, et al., 2007), (ASHADEVI e BALASUBRAMANIAN, 2009),(BARIL e BELLAHSÉNE, 2003),

(40)

(CHIRKOVA, LI e LI, 2006), (DHOTE e ALI, 2007), (DOBBIE e LING, 2000), (GOU, YU e LU, 2006), (GOU, YU, et al., 2003), (GUPTA e MUMICK, 1999), (HUNG, HUANG, et al., 2007), (LIANG, WANG e ORLOWSKA, 2001), (LIGOUDISTIANOS, SELLIS, et al., 1999), (LIN, YANG, et al., 2007), (LUEBCKE, GEIST e BUBKE, 2008), (SERNA-ENCINAS e HOYO-MONTANO, 2007), (SMITH, LI e JHINGRAN, 2004), (SOUTYRINA e FOTOUHI, 1997), (THEODORATOS, 2000), (THEODORATOS e SELLIS, 1999), (THEODORATOS e BOUZEGHOUB, 2000), (VALLURI, VADAPALLI e KARLAPALEM, 2002), (YANG, KARLAPALEM e LI, 1997), (YANG, KARLAPALEM e LI, 1997), (YOUSRI, AHMED e EL-MAKKY, 2005), (ZHOU, GE, et al., 2009), (ZHOU, WU e GE, 2008). Em algumas dessas abordagens têm-se a garantia de obter soluções ótimas, mas para isso, o número de visões deve ser pequeno para viabilizar a construção da solução, o que torna a sua aplicação inviável, em casos reais, nos quais o número de visões é elevado.

2.6.3. Configuração de Seleção

As abordagens encontradas também podem ser agrupadas segundo a configuração de seleção: estática, dinâmica e híbrida. A abordagem estática é aquela nas quais as visões são selecionadas estaticamente, materializadas e mantidas até uma futura necessidade de modificação da janela de materialização. Esta abordagem representa a maior parte das abordagens encontradas, devido a sua simplicidade em relação à abordagem dinâmica e por se adequar melhor aos cenários no quais se conhece previamente o escopo de consultas realizadas pelo usuário. Já para cenários nos quais as consultas efetuadas mudam constantemente, ou que por algum motivo não é factível especificar um escopo de consultas, a abordagem dinâmica é adequada. Na abordagem dinâmica, a visões são selecionadas durante a execução de consultas, promovendo a inclusão e a remoção dinâmica de visões no conjunto de visões atualmente materializadas (GONG e ZHAO, 2008), (HOSE, KLAN e SATTLER, 2009),(LAWRENCE e RAU-CHAPLIN, 2006), (PHAN e LI, 2008), (RAMACHANDRAN, SHAH e RAGHAVAN, 2005), (XU, THEODORATOS, et al., 2007), (YIN, YU e LIN, 2007),(ZHOU, LARSON, et al., 2007), (ZHOU, GE, et al., 2009a). A abordagem hibrida mescla os dois princípios. A idéia é dividir as visões entre um conjunto estático e um conjunto dinâmico e realizar a permuta entre esses dois conjuntos durante a execução das consultas (SHAH, RAMACHANDRAN e RAMACHANDRAN, 2006).

(41)

2.6.4. Estrutura de Dados de Seleção

Outro agrupamento das abordagens encontradas consiste na definição da estrutura de dados utilizada por elas para capturar as relações entre as visões:

Lattice de Visões: (BARALIS, PARABOSCHI e TENIENTE, 1997), (HARINARAYAN, RAJARAMAN e ULLMAN, 1996), (JAMIL e MODICA, 2001), (VIJAY KUMAR e GHOSHAL, 2009),(KUMAR e HAIDER, 2010),(KUMAR e HAIDER, 2011),(KUMAR, HAIDER e KUMAR, 2011a), (KUMAR, HAIDER e KUMAR, 2010a), (LIN e KUO, 2004),(LIN e KUO, 2000), (NADEAU e TEOREY, 2002), (SHUKLA, DESHPANDE e NAUGHTON, 1998), (TALEBIAN e KAREEM, 2010), (TALEBIAN e KAREEM, 2009), (YUHANG, QI e WEI, 2010)

DAG (Directed Acyclic Graph) ou Árvores: (BARIL e BELLAHSÉNE, 2003), (DERAKHSHAN, H., et al., 2006), (DERAKHSHAN, STANTIC, et al., 2008), (DHOTE e ALI, 2007), (GOU, YU e LU, 2006), (GOU, YU, et al., 2003), (GUPTA, 1997), (HORNG, CHANG, et al., 1999), (LEE e HAMMER, 2001), (LI, QIAN, et al., 2010), (LIANG, WANG e ORLOWSKA, 2001), (LIGOUDISTIANOS, SELLIS, et al., 1999), (PHUBOON-OB e AUEPANWIRIYAKUL, 2007), (SUN e WANG, 2009), (THEODORATOS, 2000), (THEODORATOS e SELLIS, 1999), (Valluri, et al., 2002), (YANG, KARLAPALEM e LI, 1997), (YANG, KARLAPALEM e LI, 1997), (YOUSRI, AHMED e EL-MAKKY, 2005), (ZHANG, YAO e YANG, 2001), (ZHANG, YAO e YANG, 1999), (ZHANG, SUN e WANG, 2009)

Query Graph Model: (LUEBCKE, GEIST e BUBKE, 2008) Wavelet: (SMITH, LI e JHINGRAN, 2004)

Matrizes ou Vetores: (AOUICHE, EMMANUEL JOUVE e DARMONT, 2006), (EZEIFE, 1997), (HUNG, HUANG, et al., 2007), (KALNIS, MAMOULIS e PAPADIAS, 2002).

VSCG (View Selection Cost Graph): (ZHOU, WU e GE, 2008), (ZHOU, XU, et al., 2008)

Nestas abordagens, devido a utilização de uma estrutura de dados específica para capturar as relações entre as visões e devido a esta estrutura ser utilizada pelos algoritmos de otimização para selecionar as visões, tem-se um custo computacional para a construção e manutenção dessas estruturas durante a execução dos algoritmos de otimização. Além disso, isto gera um grau de acoplamento entre a estrutura de dados

Referências

Documentos relacionados

Falamos so- bre os métodos dos elipsóides, embora este método seja muito ineficiente na resolução prática de problemas de prograrnaç-ã.o linear, ele tem um val()r

Contudo, não é possível imaginar que essas formas de pensar e agir, tanto a orientada à Sustentabilidade quanto a tradicional cartesiana, se fomentariam nos indivíduos

v) por conseguinte, desenvolveu-se uma aproximação semi-paramétrica decompondo o problema de estimação em três partes: (1) a transformação das vazões anuais em cada lo-

Silva e Márquez Romero, no prelo), seleccionei apenas os contextos com datas provenientes de amostras recolhidas no interior de fossos (dado que frequentemente não há garantia

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

2016: SEMINÁRIO EM ANTA GORDA: INÍCIO DO PLEITO PARA CÂMARA SETORIAL E PROGRAMA Seminário e reuniões na SEAPI para construção.. do

◦ Os filtros FIR implementados através de estruturas não recursivas têm menor propagação de erros. ◦ Ruído de quantificação inerente a

Desta maneira, observando a figura 2A e 2C para os genótipos 6 e 8, nota-se que os valores de captura da energia luminosa (TRo/RC) são maiores que o de absorção (ABS/RC) e