Consultas por similaridade em Big Data: alternativas e



Documentos relacionados
SUMÁRIO. Introdução... 3

BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Prof. Daniela Barreiro Claro

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

1

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

Disciplina: Introdução à Informática Profª Érica Barcelos

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

Sistemas Distribuídos

5 Mecanismo de seleção de componentes

ARQUITETURA DE UM SISTEMA SPATIO-TEXTUAL. PALAVRAS-CHAVE: banco de dados espaciais, busca spatio-textual. aplicativo.

SISTEMAS DISTRIBUÍDOS

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

Prof. Daniela Barreiro Claro

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

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

ARQUITETURA DE SOFTWARE

Feature-Driven Development

Introdução aos Computadores

MBA Analytics em Big Data

PERFORMANCE EVALUATION OF A MONGODB AND HADOOP PLATFORM FOR SCIENTIFIC DATA ANALYSIS M.Govindaraju and L. Ramakrishnan

DATA WAREHOUSE. Introdução

A importância do PDTI na implantação da Governança de TI nas Prefeituras Brasileiras

Persistência e Banco de Dados em Jogos Digitais

Universidade Federal de Pernambuco

Administração de Sistemas de Informação Gerenciais

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

Introdução a Java. Hélder Nunes

Análise de Desempenho de um SGBD para Aglomerado de Computadores

Prof. Rafael Gross.

Análise comparativa sobre bases de dados para armazenamento e consulta de dados não estruturados no formato JSON.

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2

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

Memórias Prof. Galvez Gonçalves

LINGUAGEM DE BANCO DE DADOS

EMENTAS DAS DISCIPLINAS

7.Conclusão e Trabalhos Futuros

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

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

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

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Orientação a Objetos

Fundamentos de Hardware

22/02/2009. Supply Chain Management. É a integração dos processos do negócio desde o usuário final até os fornecedores originais que

Aplicação Prática de Lua para Web

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

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

Organização e Arquitetura de Computadores I. de Computadores

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

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

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Framework de comunicação para Webservices 2P2

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

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

3 SCS: Sistema de Componentes de Software

Apresentação do Artigo

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE - UNICENTRO CURSO ESPECIALIZAÇÃO DE MÍDIAS NA EDUCAÇÃO VÂNIA RABELO DELGADO ORIENTADOR: PAULO GUILHERMETI

MÓDULO MULTIMÉDIA. Text PROFESSOR: RICARDO RODRIGUES. MAIL: URL:

Curso superior de Tecnologia em Gastronomia

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Processamento e Otimização de Consultas

IBM Managed Security Services for Agent Redeployment and Reactivation

Protocolo de comunicação para redes móveis aplicado ao trânsito

Push Technologies. Caixa Postal CEP Londrina PR Brasil.

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Dadas a base e a altura de um triangulo, determinar sua área.

Admistração de Redes de Computadores (ARC)

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

UTILIZAÇÃO DE RECURSOS LÚDICOS NO PROCESSO ENSINO- APRENDIZAGEM DA MATEMÁTICA. Palavras-chave: Recursos lúdicos; ensino-aprendizagem; matemática.

Engenharia de Software III

Adriano Maranhão BUSINESS INTELLIGENCE (BI),

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

Laboratório de Hardware

HadoopDB. Edson Ie Serviço Federal de Processamento de Dados - SERPRO

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Hadoop - HDFS. Universidade Federal de Goiás Ciência da Computação

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

O que é RAID? Tipos de RAID:

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

O e-docs foi testado e homologado pela Microsoft via certificadora internacional Verisign.

Disciplina de Banco de Dados Introdução

Backup.

Transcrição:

Consultas por similaridade em Big Data: alternativas e soluções Guilherme José Henrique 1, Daniel dos Santos Kaster 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 CEP 86057-970 Londrina PR Brasil gjhenrique@gmail.com, dskaster@uel.br Abstract. The most accepted definition of Big Data is an immense amount of datasets, wherein tradicional technologies can t process and manage within an acceptable space of time. Among these vast sets, there are the complex data (images, videos, geospatial data). These types of data are retrieved from similarity queries, being the most known the range query and the k-nearest neighbor algorithm. The tools generally utilized, as some relational databases, can handle with these kind of queries, however, they suffer from the problem of not escalate when there is a hude dataset of this type. Therefore, the use of new approaches and computational models is required to perform this kind of query. The main goal of this work is to search for new solutions to the similarity query problem in Big Data. For this, the storage of these complex data will be at a non-relational database and the implementation, in a distributed environment, of parallelization of operations over the metric access methods. Resumo. A definição mais aceita de Big Data é a de imensos conjuntos de dados, que tecnologias tradicionais não conseguem processar e gerenciar dentro de um espaço de tempo aceitável. Dentro desses vastos conjuntos, também se encontram os dados complexos (imagens, vídeos, dados geoespaciais). Esses tipos de dados são recuperados a partir de consultas por similaridade, sendo as mais conhecidas a consulta por abrangência e a consulta ao k-vizinho mais próximo. As ferramentas comumente utilizadas, como alguns bancos de dados relacionais, conseguem lidar com esse tipos de consultas, porém também sofrem do problema de não escalar quando existe um vasto conjunto de dados desse tipo. Por isso, o uso de novas abordagens e modelos computacionais é necessário para realizar esse tipo de consulta. O objetivo principal desse trabalho é procurar novas soluções para o problema da consulta por similaridade em Big Data. Para isso, o armazenamento desses dados complexos será em um banco de dados não relacional e a execução de paralelização sobre os elementos dos métodos de acesso métricos em um ambiente distribuído. 1. Introdução Atualmente, as organizações estão vivenciando uma explosão de volume de dados, que necessitam de processamento e análise. Esse aumento se deve ao mundo estar cada vez mais instrumentalizado, interconectado e inteligente. Essas características crescentes geram informações não-estruturadas e semi-estruturadas, como logs de servidores Web, e- mails, dados de mídias sociais, sensores e dispositivos inteligentes, que também devem

influenciar as decisões de negócios das organizações. Todavia, as ferramentas e processos tradicionais não conseguem mais lidar com essa demanda, se tornando uma situação difícil, pois os dados se tornaram um fator primordial para a tomada de decisões. Então, para lidar com essa crise de escalabilidade, o conceito de Big Data entrou em cena, que dá enfoque nas novas técnicas e paradigmas especializados em lidar com esses vastos conjuntos de dados. Com esse aumento, novos tipos de dados complexos, por exemplo, imagens, filmes, arquivos MP3, sequências de DNA e dados geoespaciais, também precisam ser tratados. Porém, os dados complexos geralmente não definem uma relação de ordem total entre seus elementos, sendo necessário utilizar consultas por similaridade [8]. Esse tipo de consulta retorna objetos de dados que sejam similares a um objeto de consulta de acordo com um critério de similaridade [1]. Por isso, é de vital importantância a procura de métodos alternativos para as consultas por similaridade de grandes conjuntos de dados complexos. Junto a isso, é vantajoso associar a consulta de dados complexos com técnicas e tecnologias de Big Data usadas atualmente. Todavia, as ferramentas utilizadas para manipulação desses grandes conjuntos de dados tratam, em sua maioria, de dados de tipo texto, tornando-se um desafio lidar com consultas por similaridade em dados multidimensionais e aproveitar as vantagens que essas ferramentas oferecem. A área de consultas por similaridade nos espaços métricos é vasta e muitas abordagens são interessantes de se trabalhar. Porém, inicialmente, o escopo do trabalho ficará restrito às consultas por similaridade mais básicas, que são as consultas aos k-vizinhos mais próximos e as consultas por abrangência. Também é alvo desse trabalho os vastos conjuntos de dados indexados nos métodos de acessos métricos. A proposta consiste em, ao contrário de se pesquisar por toda a estrutura da árvore, realizar o processamento paralelo a partir da quebra dos nós internos do Método de Acesso Métrico (MAM). Desse modo, a travessia da árvore pode ser dividida em tarefas simultâneas, o que diminui o tempo da computação. Além disso, os elementos indexados pelo MAM serão armazenados no banco de dados não relacional HBase. A seção 2 apresenta ao leitor os componentes e as características das soluções implementada em Big Data. Também nessa seção é apresentado os conceitos e definições das consultas por similaridade e espaços métricos. Depois disso, a seção 3 explora de forma objetiva qual o propósito do trabalho. Logo após, a seção 4 explica os passos e fases para o desenvolvimento do trabalho. Subsequentemente, a seção 5 mostra o tempo e os prazos para execução desses passos. Finalmente, na seção 6 é mostrada as contribuições e os resultados que são esperados desse trabalho. 2. Fundamentação Teórico-Metodológica e Estado da Arte Grande parte da literatura define o conceito de Big data como os três Vs (Volume, Variedade e Velocidade). O Volume compreende aos conjuntos de dados com grande volume, a Variedade corresponde aos dados que não podem se encaixar no esquema estrito que os sistemas de banco de dados tradicionais exigem e a Velocidade consiste em dados que necessitam de processamento sem demora [10]. Já as consultas por similaridade consistem em comparar todos os elementos de um

conjunto com um elemento escolhido, selecionando-se apenas aqueles que satisfazem um determinado critério de similaridade [8]. 2.1. Arquitetura de soluções para Big Data As soluções para o Big Data têm que estar centradas nos requisitos dos três Vs e arquiteturas paralelas de processamento são necessárias para análise desses imensos conjuntos de dados. A melhor maneira de se processar o modelo de computação distribuído é escalando horizontalmente (scale out), ao contrário de se escalar verticalmente (scale in). A definição de escalar horizontalmente é adicionar mais nós para o sistema, ao contrário de escalar verticalmente, que significa adicionar mais recursos para um único nó do sistema. Além disso, há a diferença entre estratégias de tecnologia para processamento em tempo real e processamentos em lote. Para tempo real, tem se usado bancos NoSQL, que permitem alto desempenho e recuperação baseada em índice. Já para processamento em lote, muitos trabalhos têm usado a técnica MapReduce, um modelo computacional distribuído inspirado nas linguagens funcionais, em que seus dados são processados em duas fases distintas. Mais sobre esse importante modelo será discutido em 2.1.1. 2.1.1. O modelo de computação distribuído MapReduce O modelo de programação MapReduce é projetado para computar grandes volumes de dados de um modo paralelo e serve para dividir a carga de trabalho entre diversos nós do cluster. Suas etapas transformam listas de elementos de entrada em listas de elementos de saída e foram inspiradas nas linguagens funcionais. Esse modelo segue a arquitetura de comunicação mestre-escravo, em que um nó, chamado de mestre, controla vários outros nós, chamados de escravos. O processamento do MapReduce é dividido em três partes, a fases map, shuffle e sort, reduce [9]. 1. Na fase map, o nó mestre tem a função de quebrar os dados de entrada em pedaços menores e distribuí-los entre os nós escravos do cluster, a partir daí, o processamento é feito paralelamente. Quando todos os nós escravos terminam a função map, as respostas são estruturas de dados de chave-valor e são enviadas como entrada para a próxima fase. 2. Na fase shuffle e sort, a lista de entrada de todos os nós é agregada e ordenada com coordenação do nó mestre, criando uma nova lista com elementos do tipo chave-valor. Seu resultado é enviado para a entrada da fase de reducer. 3. Na fase do reduce, o nó mestre novamente divide a lista de entrada entre todos os nós escravos. Ela é iterada e a função reduce realiza algum processamento sobre os valores de cada chave. O modelo de programação MapReduce tem algumas implementações, porém a mais utilizada é a do Hadoop. 2.1.2. Hadoop - A implementação do MapReduce O framework Hadoop é utilizado para suportar uma grande carga de dados e foi inspirado nos artigos do Google File System[6] e MapReduce[5], ambos da Google, empresa que

criou novos modelos de computação para se trabalhar com Big Data, devido aos imensos conjuntos de dados de seu serviço de busca. Hadoop é baseado na metodologia de que mover computação é mais barato que mover dado. Isso significa que uma computação é muito mais eficiente se executada localmente nos dados que ela armazena. Isso mininiza congestionamento de rede e aumenta a vazão do sistema. Suas aplicações lidam com dados não-estruturados e a melhor maneira de se escalar é horizontalmente. O processamento é realizado através do modelo MapReduce e é voltado para processamento em lotes [9]. O projeto Hadoop é dividido em diversos subprojetos, sendo os mais importantes: HDFS(Hadoop Distributed File System) : É um sistema de arquivos distribuído e escalável escrito em Java e é também baseado no padrão mestre-escravo. Dentro do cluster, o nó mestre, chamado de NameNode, é responsável pelo gerenciamento dos metadados do sistema de arquivos e os nós escravos, chamados de DataNodes, são responsáveis pelo armazanenamento dos dados. Esses nós se comunicam por RPC(Remote Procedure Call) e, devido ao volume de dados, o tamanho padrão do bloco é de 64MB [13]. Hadoop MapReduce : É o componente que implementa o paradigma computacional MapReduce e é baseado no modelo do Google[5]. No mesmo padrão mestre-escravo, o mestre é chamado de JobTracker e designa as tarefas para os nós escravos, chamados de TaskTrackers. Além disso, o JobTracker se comunica com o NameNode e aproveita a localidade de dados, sempre enviando tarefas para os nós que detêm os dados, o que economiza preciosa vazão de rede. A Figura 1 representa essas fases. Figura 1. Fases de processamento do Hadoop MapReduce [13]

2.1.3. O banco de dados não relacional HBase Apesar das diversas funcionalidades do framework Hadoop, ele não é ideal para leituras randômicas ou escrita de pequenos registros. O banco de dados NoSQL HBase(Hadoop Database) supre essas deficiências. Ele também é um subprojeto do Hadoop e é uma implementação fiel do BigTable, um sistema de armazenamento distribuído para escalar em imensos volumes de dados [2] que está na categoria dos bancos de dados nãorelacionais. Ele é projetado, como o Hadoop, para ser usado em um cluster de computadores e pode ser usado com dados semi-estruturados. HBase é essencialmente um mapa multidimensional ordenado e tem um esquema bastante flexível. As entidades lógicas dentro do esquema do Hbase são os seguintes [11]: Tabelas servem para agrupar tuplas; Tuplas os dados são armazenados em tuplas, que são identificadas unicamente pelo seu rowkey As rowkeys não têm um tipo de dados e são simplesmente bytes; Família de colunas - os dados de uma tupla são agrupados em famílias de coluna. e tem grande impacto na organização física de dados armazenados dentro do Hbase; Colunas colunas podem ser adicionadas e removidas dinamicamente e tem o byte como tipo de dados; Células uma combinação de rowkey, família de coluna e coluna identifica unicamente uma célula O dado armazenado dentro de uma célula é chamado de valor da célula. Valores são sempre tratados como bytes; Versões valores dentro de uma célula são versionados e tem como número de versões padrão três; Ao contrário dos bancos de dados relacionais tradicionais, que são compostos por linhas e colunas, como em um sitema de coordenadas de duas dimensões, o banco Hbase é formado por um espaço de coordenadas de quatro dimensões, em que as coordenadas são as tuplas, as famílias de colunas, as colunas e as versões das células dessa coluna [11]. A figura 2 representa essas dimensões. Figura 2. Representação das quatro dimensões do banco Hbase [11] 2.2. Consultas por similaridade Uma consulta por similaridade é definida por um objeto de consulta e critérios de similaridade, tipicamente representados como uma função de distância. A resposta para essa

essa consulta retorna todos os objetos que satisfazem tais critérios [4]. Nas seções 2.2.2 serão mostradas os dois tipos de consultas por similaridade mais comuns. 2.2.1. Funções de distância Funções de distância medem a dissimilaridade entre dois objetos e, em seguida, retornam um valor real não negativo e um valor da função de distância igual a zero equivale à total similaridade [8]. As funções de distância mais famosas são da família Minkowski(L p ), entre elas de distância euclidiana(l 2 ) e a distância Manhattan(L 1 ). As funções da família Minkowski são representados por [4]: d(x 1... x 2 )(y 1... y n ) = p n i=1 x 1 y 1 p Um espaço métrico é formalmente definido como um par M = js, δj, onde S é um domínio de dados e δ é uma métrica,isto é, uma função δ : S S R que expressa a distância entre elementos de S e que satisfaz as seguintes propriedades, para quaisquer s 1, s 2, s 3 S [8]. identidade: δ(s 1, s 2 ) = 0 simetria: δ(s 1, s 2 ) = δ(s 2, s 1 ) não-negativa: 0 < δ(s 1, s 2 ) < As distâncias da fámilia Minkowski, com p 1, são métricas [8]. 2.2.2. Consultas por abrangência e consultas aos k-vizinhos mais próximos Uma consulta por abrangência retorna todos os elementos dissimilares de um elemento de consulta até uma certa distância máxima de um objeto de consulta. Formalmente, seja S um domínio de dados, S S um conjunto de elementos, s q S um elemento de consulta, δ uma função de distância sobre elementos de S e ε um limiar de dissimilaridade, uma consulta por é dada por [8]: {s i S δ(s q, s i ) ε} Já as consultas aos k-vizinhos mais próximos retornam os k elementos mais similares da consulta. Formalmente, dado um domínio S, um conjunto de elementos S S, um elemento de consulta s q ɛ S, uma função de distância δ definida sobre S e um inteiro k 1, o resultado de uma consulta será [8]: K = {s i S s j S \ K, K = l, δ(s q, s i ) δ(sq, sj)} A Figura 3 representa visualmente esses dois tipos de consultas 2.2.3. Métodos de acessos métricos Para realizar uma consulta por similaridade em um conjunto de dados sem indexação, é necessário a pesquisa por todo esse conjunto, o que, muitas vezes, se torna inviável. Para isso, foram propostos novos métodos de acesso que dão suporte aos dados complexos [8]. Os Métodos de Acessos Espacias(MAEs), como a R-tree e a kd-b-tree, indexam dados espaciais através da aplicação de propriedades geométricos. Porém, quando a dimensionalidade aumenta, os MAEs têm a tendência de degradar com o aumento da di-

Figura 3. (a) simboliza a consulta por abrangência e (b) retrata a consulta aos k-vizinhos mais próximos [12]. mensionalidade. Para dados de alta dimensionalidade, existem os Métodos de Acessos Métricos(MAMs), como a M-Tree[3] e a Slim-Tree[7], que relacionam os objetos apenas por suas relações de similaridade [8]. O trabalho em questão irá trabalhar apenas com os MAMs. 3. Objetivos O objetivo desse trabalho consiste em realizar as consultas aos k-vizinhos mais próximos e as consultas por abrangência aplicadas em algum tipo de MAM, utilizando tecnologias distribuídas que escalem em grandes conjuntos de dados, que aproveitem ao máximo a vazão de rede e de disco e que realizem as computações sobre esse MAM de modo paralelo. 4. Procedimentos metodológicos/métodos e técnicas O primeiro passo do desenvolvimento do trabalho será a instalação do Hadoop e do HBase em quatro máquinas de um cluster do departamento de computação. Os componentes do Hadoop serão o HDFS e o Hadoop MapReduce. A instalação do HBase tem como requisito o HDFS, visto que o HBase armazena seus arquivos nesse sistema de arquivos distribuído. Depois disso, será feito um estudo das características dessas ferramentas. Depois dessas ferramentas instaladas, a segunda fase consistirá na implementação de algum MAM nesse ambiente distribuído. O requisito inicial é que o paralelismo seja bem aproveitado e que os nós do MAM sejam distribuídos entre as máquinas para que as consultas sejam realizadas paralelamente. Isso diminui o tempo de processamento, já que as computações serão executadas simultaneamente. Os elementos multidimensionais indexados por esse MAM precisam residir em um depósito de dados distribuído e escalável. A tecnologia que atende a esses requisitos é o banco de dados não relacional HBase. Ele oferece um esquema flexível, o que o adequa perfeitamente para armazenamento de dados complexos e reparte, entre os nós do cluster, os conjuntos de dados de acordo com as chaves primárias, chamadas de rowkeys. Então, um bom planejamento da rowkey é obrigatório para uma paralelização satisfatória dos dados.

Logo em seguida, será realizada a integração entre o MAM e o HBase. Nessa etapa, será implementado um módulo de integração, que, dado um elemento de consulta, realiza a consulta por abrangência ou dos k-vizinhos mais próximos aplicadas no MAM e, encontrados os rowkeys dos elementos, recupera todas as tuplas armazenadas no HBase que satisfazem tais condições. Já, para tarefas de processamento em lote, o Hadoop é o melhor candidato. Uma dessas tarefas pode ser fornecer como entrada de dados do Hadoop um grande conjunto de elementos no espaço métrico e, com os dados já armazenados no HBase e no MAM, realizar as consultas por similaridade de forma paralela utilizando o MapReduce e o módulo de consultas implementado. Para finalizar, todas essas consultas por similaridade, usando esses novos modelos, serão testadas e comparadas com resultados de consultas por similaridades tradicionais, que são um MAM indexando tuplas de um banco de dados relacional em uma única máquina. Se houver melhores resultados, significa que o uso de um ambiente distribuído e essas novas tecnologias são válidos para as consultas por similaridade utilizando ferramentas que proporcionam alta escalabilidade e técnicas paralelas de processamento. 5. Cronograma de Execução As atividades terão o cronograma explicadas Tabela Atividades: 1. Instalação das ferramentas e estudo de suas arquiteturas; 2. Implementação e testes de um MAM, usando o sistema de arquivos distribuídos; 3. Armazenamento dos elementos multidimensionais em um banco de dados NoSQL, possivelmente o HBase; 4. Integração entre o MAM construída e os elementos armazenados no HBase; 5. Uso do Hadoop para consulta por similaridade de muitos elementos como entrada; 6. Resultados obtidos dos modelos implementados; 7. Escrita do TCC; Tabela 1. Cronograma de Execução fev mar abr mai jun jul ago set out nov Atividade 1 X X Atividade 2 X X X Atividade 3 X X Atividade 4 X Atividade 5 X Atividade 6 X Atividade 7 X X X X X 6. Contribuições e/ou Resultados esperados Com esse trabalho, espera-se executar consultas por similaridade, com base em novas alternativas e tecnologias recentes que são especializadas em processar grandes volumes de dados. Acredita-se que a pessoa, ao concluir a leitura do trabalho, conseguirá observar as utilidades e os benefícios de se implementar esse tipo de consulta em um ambiente

distribuído. Também imagina-se que o trabalho ajudará a elucidar o leitor quanto a alguns novos modelos computacionais que estão surgindo. Se as consultas por similaridade em um MAM paralelo, que indexa tuplas do HBase, obtiverem melhor desempenho que as consultas por similaridade em um MAM armazenado em uma única máquina, significa que o resultado esperado foi útil e houve vantagens em se utilizar essas novas técnicas. 7. Espaço para assinaturas Londrina, quinze de abril de dois mil e treze. Referências Aluno Orientador [1] M. C. N. Barioni. Operações de consultas por similaridade em grandes bases de dados complexos. PhD thesis, Instituto de Ciências Matemáticas e de Computação(ICMC), Universidade de São Paulo (USP), 2006. [2] Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. Bigtable: A distributed storage system for structured data. ACM Trans. Comput. Syst., 26(2):4:1 4:26, June 2008. [3] Paolo Ciaccia, Marco Patella, and Pavel Zezula. M-tree: An efficient access method for similarity search in metric spaces. In Proceedings of the 23rd International Conference on Very Large Data Bases, VLDB 97, pages 426 435, San Francisco, CA, USA, 1997. Morgan Kaufmann Publishers Inc. [4] Paolo Ciaccia, Marco Patella, and Pavel Zezula. Similarity Search:The Metric Space Approach. Springer, 2006. [5] Jeffrey Dean and Sanjay Ghemawat. Mapreduce: simplified data processing on large clusters. Commun. ACM, 51(1):107 113, January 2008. [6] Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. The google file system. SI- GOPS Oper. Syst. Rev., 37(5):29 43, October 2003. [7] Caetano Traina Jr, Fachbereich Mathematik Und Informatik, Universitt Marburg Germany, Agma Traina, and Bernhard Seeger. Slim-trees: High performance metric trees minimizing overlap between nodes, 2000. [8] Daniel dos Santos Kaster. Tratamento de condições especiais para busca por similaridade em bancos de dados complexos. PhD thesis, Instituto de Ciências Matemáticas e de Computação(ICMC), Universidade de São Paulo (USP), 2012. [9] Chuck Lam. Hadoop In Action. Manning, 2011.

[10] Sam Madden. From databases to big data. Internet Computing, IEEE, 16(3):4 6, 2012. [11] Amandeep Khurana Nicl Dimiduk. [12] Lúcio Fernandes Dutra Santos. Explorando variedade em consultas por similaridade. Master s thesis, Instituto de Ciências Matemáticas e de Computação(ICMC), Universidade de São Paulo (USP), 2012. [13] Tom White. Hadoop The Definitive Guide. O Reilly, 2012.