Return to search

Um modelo para gerenciamento de transações com controle de cache em um repositório chave-valor

Orientadora : Profª. Drª. Carmem Satie Hara / Dissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 14/09/2017 / Inclui referências : p. 48-50 / Resumo: As estratégias mais comuns para alocação de dados em sistemas distribuídos são as tabelas de dispersão distribuídas (DHT) e os sistemas de diretórios distribuídos. As DHTs garantem escalabilidade, porém não dão às aplicações usuárias controle sobre a localidade dos dados. Por outro lado, os diretórios distribuídos mantêm o mapeamento entre os itens alocados e os servidores que compõem o sistema, o que garante flexibilidade de alocação, mas com escalabilidade limitada. Em um Sistema Gerenciador de Banco de Dados (SGBD), o controle sobre a localidade pode garantir a proximidade dos dados que são frequentemente acessados de forma conjunta nas consultas, com o intuito de reduzir acessos remotos que aumentam o tempo de execução. O ALOCS é um sistema desenvolvido sobre diretórios distribuídos que tem por finalidade ser utilizado como backend de armazenamento de um SGBD. Ele adota o conceito de buckets, compostos por um conjunto de pares chave-valor, como unidade de comunicação de dados entre servidores. Dessa forma, a aplicação usuária pode alocar em um mesmo bucket pares que são frequentemente utilizados em conjunto. Para minimizar ainda mais a quantidade de comunicação, o ALOCS mantém buckets previamente acessados em cache. A utilização de cache pode gerar problemas para a consistência dos dados quando vários servidores mantêm em cache buckets com dados atualizados. O objetivo desta dissertação é desenvolver uma solução para manter a consistência entre os dados atualizados em cache e o sistema de armazenamento distribuído. A solução é baseada no modelo de concorrência multiversão, com transações que garantem o isolamento por snapshot. Ele foi escolhido por sua abordagem otimista e por não bloquear transações somente de leitura. O sistema foi implementado e os experimentos mostram o impacto da alocação de dados sobre o desempenho do sistema, bem como o overhead do protocolo de controle de concorrência sobre o tempo de recuperação e escrita de dados. Os resultados demonstraram a importância do controle sobre a localidade dos dados. O uso do cache foi determinante para reduzir o tempo de execução das consultas. Palavras-chave: controle de concorrência, controle de localidade, cache. / Abstract: The most common strategies for data allocating in distributed systems are Distributed Hash Tables (DHT) and Distributed Directory Systems. DHTs guarantee scalability but do not allow control over data location to user applications. On the other hand, distributed directories store the location of data items, that is, a mapping between the stored data and servers that compose the system. This strategy guarantees flexibility of allocation but limits its scalability. In a Database Management Systems (DBMS), control over data locality can ensure the proximity of data that are frequently accessed together in queries in order to reduce the number of remote accesses that increase their execution time. ALOCS is a system developed on distributed directories to be used as a storage backend for DBMSs. It adopts the concept of buckets, composed by a set of key-value pairs, as the communication unit between servers. In this way, the user application can allocate pairs that are often used together in the same bucket. To further minimize the amount of communication, ALOCS maintains previously accessed buckets in cache. Caching can cause problems for data consistency when multiple servers cache buckets with updated data. The main objective of this dissertation is to develop a solution to maintain the consistency of the updated data in the cache and the storage system. The solution is based on a multiversion concurrency control with snapshot isolation. It has been chosen for its optimistic approach and non-blocking read-only transactions. The system was implemented and our experiments show the impact of data allocation on the system performance as well as the overhead of the concurrency control protocol on the data recovery and writing time. The results show the importance of allocation control on reducing the execution time of queries. Moreover, they show that caching is crucial to reduce the query execution time. Keywords: concurrency control, locality control, cache.

Identiferoai:union.ndltd.org:IBICT/oai:dspace.c3sl.ufpr.br:1884/53001
Date January 2017
CreatorsOliveira, Wendel Muniz de
ContributorsUniversidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática, Hara, Carmem Satie
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Format58 p. : il., application/pdf
Sourcereponame:Repositório Institucional da UFPR, instname:Universidade Federal do Paraná, instacron:UFPR
Rightsinfo:eu-repo/semantics/openAccess
RelationDisponível em formato digital

Page generated in 0.0025 seconds