4 research outputs found

    Um repositório chave-valor com garantia de localidade de dados

    Get PDF
    Orientador : Prof. Dr. Carmem Satie HaraDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 09/08/2016Inclui referências : f. 67-76Resumo: Grandes volumes de dados produzidos diariamente trouxeram desafios envolvendo a definição de formas eficientes de como extraí-los, armazená-los e acessá-los. Entretanto, soluções tradicionais de bancos de dados não se mostraram eficientes diante de tais desafios, principalmente no requisito de escalabilidade. Uma possível abordagem para prover escalabilidade horizontal aos sistemas gerenciadores de banco de dados é a adoção de uma arquitetura estratificada, tendo como base um sistema de armazenamento distribuído com uma interface simples para o acesso a dados remotamente armazenados. Esta dissertação apresenta o ALOCS, um repositório distribuído de dados que adota o modelo chave-valor, mas que permite a alocação de um conjunto de pares agrupados em uma única estrutura, cuja localidade é controlada pela aplicação usuária do sistema. O controle de localidade permite que dados usualmente utilizados em conjunto possam ser alocados em um mesmo servidor, reduzindo a quantidade de comunicações entre servidores no processamento de suas consultas. Isto é essencial para prover escalabilidade e melhorar o desempenho de processamento das consultas em ambientes distribuídos. Os estudos experimentais mostram a melhoria no tempo de resposta das consultas utilizando a solução proposta.Abstract:Large volumes of data produced every day brought new challenges involving the definition of efficient ways to extract, store and access them. However, traditional database solutions are not efficient to solve these challenges, especially with respect to the scalability requirement. One approach to provide horizontal scalability to database management systems is the adoption of a layered architecture, based on a distributed storage system with a simple interface to access data remotely stored. This dissertation presents ALOCS, a distributed storage repository of data which adopts the key-value model, and which allows the allocation of a set of pairs grouped into a single structure whose location is controlled by the user application of the system. This control allows data commonly used together to be allocated on the same server, reducing the amount of communications between servers for query processing. This is essential to provide scalability and improve the processing of query execution in distributed environments. Experimental studies shows that ALOCS improves query response times by reducing the amount of remote data accesse

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

    Get PDF
    Orientadora : Profª. Drª. Carmem Satie HaraDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 14/09/2017Inclui referências : p. 48-50Resumo: 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

    On Data Placement in Distributed Systems

    No full text
    corecore