29
MATHEUS SEREZANI NICOLOSI BALANCEAMENTO EM TABELAS HASH DISTRIBUÍDAS SENSÍVEIS À LOCALIDADE LONDRINA–PR 2016

BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

MATHEUS SEREZANI NICOLOSI

BALANCEAMENTO EM TABELAS HASH DISTRIBUÍDASSENSÍVEIS À LOCALIDADE

LONDRINA–PR

2016

Page 2: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 3: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

MATHEUS SEREZANI NICOLOSI

BALANCEAMENTO EM TABELAS HASH DISTRIBUÍDASSENSÍVEIS À LOCALIDADE

Versão Preliminar de Trabalho de Conclusãode Curso apresentado ao curso de Bachare-lado em Ciência da Computação da Univer-sidade Estadual de Londrina para obtençãodo título de Bacharel em Ciência da Compu-tação.

Orientador: Prof. Dr. Daniel dos Santos Kas-ter

LONDRINA–PR

2016

Page 4: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

Matheus Serezani NicolosiBalanceamento em tabelas hash distribuídas sensíveis à localidade/ Matheus

Serezani Nicolosi. – Londrina–PR, 2016-27 p. : il. (algumas color.) ; 30 cm.

Orientador: Prof. Dr. Daniel dos Santos Kaster

– Universidade Estadual de Londrina, 2016.

1. Consultas por similaridade. 2. Tabelas hash distribuídas. 3. Funções dehash sensíveis à localidade. I. Daniel dos Santos Kaster. II. Universidade Estadualde Londrina. III. Ciência da Computação. IV. Balanceamento em tabelas hashdistribuídas sensíveis à localidade

CDU 02:141:005.7

Este trabalho é dedicado às crianças adultas que,quando pequenas, sonharam em se tornar cientistas.

Page 5: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

AGRADECIMENTOS

Page 6: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 7: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

“Não vos amoldeis às estruturas deste mundo,mas transformai-vos pela renovação da mente,a fim de distinguir qual é a vontade de Deus:

o que é bom, o que Lhe é agradável, o que é perfeito.(Bíblia Sagrada, Romanos 12, 2)

Page 8: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 9: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

NICOLOSI, S. M.. Balanceamento em tabelas hash distribuídas sensíveis à lo-calidade. 27 p. Trabalho de Conclusão de Curso – Versão Preliminar (Bacharelado emCiência da Computação) – Universidade Estadual de Londrina, Londrina–PR, 2016.

RESUMO

Palavras-chave: Consultas por similaridade. Tabelas hash distribuídas. Funções de hashsensíveis à localidade.

Page 10: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 11: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

NICOLOSI, S. M.. Balancing in locality-sesitive distributed hash tables. 27 p.Final Project – Draft Version (Bachelor of Science in Computer Science) – State Universityof Londrina, Londrina–PR, 2016.

ABSTRACT

Keywords: Similarity search. Distributed hash tables. Locality-sensitive hash functions.

Page 12: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 13: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

LISTA DE ILUSTRAÇÕES

Page 14: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 15: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

LISTA DE TABELAS

Page 16: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 17: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

LISTA DE ABREVIATURAS E SIGLAS

CAN Content addressable network

DHT Distributed hash table

LSH Locality-sensitive hashing

MAE Método de acesso espacial

MAM Método de acesso métrico

P2P Peer-to-peer

Page 18: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 19: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 FUNDAMENTAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . 212.1 Consultas por similaridade . . . . . . . . . . . . . . . . . . . . . . 212.2 Funções de distância . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Espaços métricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4 Consultas por abrangência e consultas aos k-vizinhos mais

próximos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5 Métodos de acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.6 Hashing sensível à localidade . . . . . . . . . . . . . . . . . . . . 222.7 Tabelas hash distribuídas . . . . . . . . . . . . . . . . . . . . . . . 23

3 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Page 20: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 21: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

19

1 INTRODUÇÃO

Atualmente, o mundo está vivenciando um crescimento acelerado do volume de da-dos. As tecnologias da informação e comunicação empoderam os usuários, que se tornaramprodutores de conteúdo em vez de apenas consumidores. Esses dados são não-estruturados,heterogêneos e variáveis em sua natureza [1].

Devido a disseminação de dispositivos que facilitam a captura e criação de dadosem conjunto com sistemas que facilitam o armazenamento e compartilhamento de dados,esse aumento de dados resultou também no surgimento de dados complexos, como coorde-nadas geoespaciais, sequências de DNA e arquivos de imagem, de música e de vídeo. Comoesses tipos de dados geralmente não definem uma relação de ordem, o uso de consultaspor similaridade torna-se necessária [2].

As consultas por similaridade representam uma vasta área de pesquisa que apre-senta suas próprias oportunidades e desafios. Uma dessas oportunidades é o uso de con-sultas por similaridade em redes peer-to-peer. Mais especificamente, nas tabelas hash dis-tribuídas (DHTs). Ao usar um método de indexação hashing sensível à localidade (LSH)em combinação com uma DHT, dado o funcionamento das funções de hash sensíveis àlocalidade, que mantém dados similares próximos uns dos outros na estrutura de dados,e o funcionamento das DHTs, existe a tendência ao desbalanceamento [1]. Esse trabalhoinsere-se nesse contexto.

Page 22: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 23: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

21

2 FUNDAMENTAÇÃO

2.1 Consultas por similaridade

Uma consulta por similaridade é um tipo de consulta que recupera objetos consi-derando critérios de similaridade entre pares de objetos, tipicamente calculados por umafunção de distância. Os conceitos de funções de distância, espaços métricos, métodos deacesso e os tipos básicos de consultas por similaridade são brevemente apresentados nasseções 2.2, 2.3, 2.4 e 2.4, respectivamente.

2.2 Funções de distância

As funções de distância medem a dissimilaridade entre pares de objetos e, emseguida, retornam um valor real não negativo. As funções de distância mais famosas sãoas da família Minkowski (𝐿𝑝) e, dentre elas, destacam-se a Manhattan (𝐿1), a euclidiana(𝐿2) e a Chebyshev (𝐿∞). As funções da família Minkowski são dadas pela equação 2.1,onde 𝑛 é a dimensão do espaço e 𝑝 é um número inteiro [3].

𝐿𝑝 (𝑥1, . . . , 𝑥2) (𝑦2, . . . , 𝑦2) = 𝑝

√︁∑︀𝑛𝑖=1 |𝑥1 − 𝑦1|𝑝 (2.1)

2.3 Espaços métricos

Um espaço métrico é formalmente definido como um par M = ⟨S, 𝛿⟩, onde S é umdomínio de dados e 𝛿 é uma métrica, isto é, uma função 𝛿 : S × S → R+ que expressaa distância entre elementos de S e que satisfaz as seguintes propriedades, para quaisquer𝑠1, 𝑠2, 𝑠3 ∈ S:

1. Identidade: 𝛿 (𝑠1, 𝑠2) = 0;

2. Simetria: 𝛿 (𝑠1, 𝑠2) = 𝛿 (𝑠2, 𝑠1);

3. Não-negatividade: 0 < 𝛿 (𝑠1, 𝑠2) < ∞;

4. Desigualdade triangular: 𝛿 (𝑠1, 𝑠3) ≤ 𝛿 (𝑠1, 𝑠2) + 𝛿 (𝑠2, 𝑠3) [2].

2.4 Consultas por abrangência e consultas aos k-vizinhos maispróximos

Uma consulta por abrangência, ou range query (Rq), retorna todos os elementosdissimilares de um elemento de consulta até um limiar de dissimilaridade máximo. Con-

Page 24: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

22

sultas por abrangência são definidas por [2] como: seja S um domínio de dados, 𝑆 ⊆ Sum conjunto de elementos, 𝑠𝑞 ∈ S um elemento de consulta, 𝛿 uma função de distânciasobre o elemento de S e 𝜀 um limiar de dissimilaridade, uma consulta por abrangência édada por {𝑠𝑖 ∈ 𝑆 | 𝛿 (𝑠𝑞, 𝑠𝑖) ≤ 𝜀}.

Já as consultas aos 𝑘-vizinhos mais próximos, ou 𝑘-Nearest Neighbors queries (𝑘-NNq), retornam os 𝑘 elementos mais similares ao elemento da consulta. Consultas aos𝑘-vizinhos mais próximos é definida por [2] como: dado um domínio S, um conjunto deelementos 𝑆 ⊆ S, um elemento de consulta 𝑠𝑞 ∈ S, uma função de distância 𝛿 sobre oelemento de S e um inteiro 𝑘 ≥ 1, o resultado de uma consulta será 𝐾 = {𝑠𝑖 ∈ 𝑆 | ∀𝑠𝑗 ∈𝑆 ∖ 𝐾, |𝐾| = 𝑙, 𝛿 (𝑠𝑞, 𝑠𝑖) ≤ 𝛿 (𝑠𝑞, 𝑠𝑗)}.

2.5 Métodos de acesso

Para realizar uma consulta por similaridade em um conjunto de dados sem algumtipo de indexação, é necessário pesquisar por todo o conjunto, o que pode ser inviável. Porisso, novos métodos de acesso que dão suporte a dados complexos foram propostos: (i)os Métodos de Acesso Espaciais (MAEs), para dados multidimensionais, mas que tendema degradar com o aumento da dimensionalidade, e; (ii) os Métodos de Acesso Métricos(MAMs), para dados de alta dimensionalidade ou adimensionais (sem dimensionalidadefixa), que relacionam objetos apenas por suas relações de similaridade [4, 2].

2.6 Hashing sensível à localidade

O método de indexação locality-sensitive hashing (LSH), ou hashing sensível àlocalidade, depende de uma família de funções hash sensíveis à localidade 𝐻 para mapearobjetos de um domínio métrico 𝑆, em um espaço 𝐷-dimensional (normalmente R𝑑), paraum conjunto enumerável 𝑈 (normalmente Z) com a seguinte propriedade: a probabilidadede hashes de pontos próximos no espaço métrico colidirem é alta [5].

O LSH é definido por [5] como, dada uma família de funções 𝐻 de 𝑆 para 𝑈 , 𝐻

é chamada de (𝑟1, 𝑟2, 𝑝1, 𝑝2)-sensível para uma função de distância 𝑑 se, para quaisquerpontos 𝑞, 𝑝 ∈ 𝑆, tem-se que:

∙ se 𝑝 ∈ 𝐵 (𝑞, 𝑟1), então Pr𝐻 [ℎ (𝑞) = ℎ (𝑝)] ≥ 𝑝1;

∙ se 𝑝 /∈ 𝐵 (𝑞, 𝑟2), então Pr𝐻 [ℎ (𝑞) = ℎ (𝑝)] ≤ 𝑝2,

onde 𝐵 (𝑝, 𝑟) denota o cojunto de elementos de 𝑆 a uma distância 𝑟 de 𝑝. Para uma famíliade funções de hash sensíveis à localidade ser útil, ela precisa satisfazer as desigualdades𝑝1 > 𝑝2 e 𝑟1 < 𝑟2 [5].

Page 25: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

23

2.7 Tabelas hash distribuídas

As distributed hash tables (DHTs), ou tabelas hash distribuídas fornecem um ser-viço descentralizado de procura, ou lookup, de objetos baseado no modelo de pares chave-valor e, em geral, utilizam uma função de hash para calcular chaves de valores e têmmétodos de mapeamento e roteamento bem definidos. As DHTs tornaram-se popularesno final da década de 1990 devido, a princípio, a sistemas peer-to-peer (P2P) de com-partilhamento de músicas, como o software Napster e a rede Gnutella. Em 2001, quatropropostas foram publicadas quase simultaneamente –CAN, Chord, Pastry, e Tapestry,dando início às DHTs estruturadas [6, 7, 8].

Uma DHT estruturada precisa definir

1. como mapear chaves para nós considerando o balanceamento de carga;

2. como encaminhar lookups por uma chave para o nó apropriado e;

3. como construir tabelas de roteamento.

Em geral, o mapeamento de chaves para nós é realizado utilizando-se uma função dehash e o encaminhamento é realizado roteando-se os lookups para os nós na tabela deroteamento responsáveis por chaves próximas [8]. Redes P2P, como as DHTs, podem serusadas como ou em conjunto com estruturas de indexação de dados complexos [9].

Page 26: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 27: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

25

3 CONCLUSÃO

Page 28: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,
Page 29: BALANCEAMENTOEMTABELAS HASH DISTRIBUÍDAS … · 2017-04-24 · 22 sultas por abrangência são definidas por [2] como: sejaS um domínio de dados, ⊆S um conjunto de elementos,

27

REFERÊNCIAS

[1] VILLAÇA, R. da S. et al. Hamming dht e hcube: arquiteturas distribuídas parabusca por similaridade. Campinas, SP, 2013.

[2] KASTER, D. d. S. Tratamento de condições especiais para busca por similaridadeem bancos de dados complexos. Tese (Doutorado) — Universidade de São Paulo,2012.

[3] ZEZULA, P. et al. Similarity search: the metric space approach. [S.l.]: SpringerScience & Business Media, 2006. v. 32.

[4] JR, C. T. et al. Slim-trees: High performance metric trees minimizing overlapbetween nodes. [S.l.]: Springer, 2000.

[5] GIONIS, A. et al. Similarity search in high dimensions via hashing. In: VLDB. [S.l.:s.n.], 1999. v. 99, n. 6, p. 518–529.

[6] RATNASAMY, S. et al. A scalable content-addressable network. [S.l.]: ACM, 2001.v. 31.

[7] STOICA, I. et al. Chord: A scalable peer-to-peer lookup service for internetapplications. ACM SIGCOMM Computer Communication Review, ACM, v. 31, n. 4,p. 149–160, 2001.

[8] BALAKRISHNAN, H. et al. Looking up data in p2p systems. Communications ofthe ACM, ACM, v. 46, n. 2, p. 43–48, 2003.

[9] BONGERS, E.; POUWELSE, J. A survey of p2p multidimensional indexingstructures. arXiv preprint arXiv:1507.05501, 2015.