Detalhes do Documento

Serviço de coordenação para bases de dados replicadas

Autor(es): Posse, Rui Jorge Raposo

Data: 2011

Identificador Persistente: http://hdl.handle.net/10451/8314

Origem: Repositório da Universidade de Lisboa

Assunto(s): Serviço de coordenação; Tolerância a faltas; Zookeeper; Depspace; Eleição de líder; Teses de mestrado - 2011


Descrição

Tese de mestrado em Engenharia Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2011

Existem duas arquitecturas básicas para a replicação de bases de dados. Na arquitectura chamada shared-storage as réplicas partilham um sistema de armazenamento, pelo que é necessário algum tipo de coordenação entre as réplicas para o acesso aos dados armazenados. Na outra arquitectura, chamada shared-nothing, cada réplica acede apenas ao seu armazenamento particular (que até pode ser um disco local), pelo que a necessidade de coordenação é menor. O projecto ReD (Resilient Databases) propõe uma nova arquitectura híbrida para as bases de dados replicadas. Todas as réplicas têm uma cópia local da base de dados e apenas uma escreve no sistema de armazenamento partilhado, ou seja, apenas uma réplica é considerada escritora. Para conseguir tal facto, mesmo na presença de falhas e de novas réplicas, esta arquitectura contém uma camada de coordenação. Neste projecto fazemos uma análise de vários serviços de coordenação existentes e procuramos uma comparaçãoo entre eles para uma melhor compreensão das opções disponíveis, com o objectivo de escolher qual o mais indicado para ser usado na implementação da camada de coordenação da arquitectura do ReD. Após esse estudo, desenvolvemos e concretizámos um algoritmo de eleição de líder que utiliza o serviço de coordenação ZooKeeper para a implementação dessa camada de coordenação. Na segunda fase do projecto, apresentamos uma proposta tolerante a faltas bizantinas para essa mesma camada. Neste caso, foi também desenvolvido e concretizado um algoritmo de eleição de líder, mas utilizando o serviço de coordenação DepSpace. No entanto, devido a algumas limitações deste serviço, foi necessário o desenvolvimento de uma nova versão com funcionalidades que permitissem essa concretização. Com o estudo dos serviços de coordenação e com as implementações destes algoritmos, mostramos que é possível reduzir o esforço no desenvolvimento de sistemas distribuídos complexos, pois os programadores podem concentrar-se no desenvolvimento do serviço em si.

There are two basic database replication architectures. Sharing a storage system between servers is called shared-storage architecture and it needs some sort of coordination so servers can access the storage. With the shared-nothing architecture, servers can only access their private storage (like a local hard disk), which means that it needs less coordination between them. ReD (Resilient Databases) project proposes a new hybrid database replication architecture. In this new architecture all servers have a local database copy, but only one writes in the shared storage and this is accomplished with a coordination layer. In this project we analyse and compare some existing coordination services in order to understand which is best to use in that coordination layer implementation. After the study, we implemented the layer by developing a leader election algorithm using ZooKeeper as the coordination service. In the second phase of this project we propose a byzantine fault tolerant approach for the same layer. Following first phase procedure, a leader election algorithm was developed and implemented, but in this case using DepSpace as the coordination service. However, due to some limitations in this service, we developed a new version with features that allowed this implementation. The study of coordination services and implementations of these algorithms, show that it is possible to reduce effort on the development of complex distributed systems, because programmers can concentrate on the development of the service itself.

Tipo de Documento Dissertação de mestrado
Idioma Português
Orientador(es) Bessani, Alysson Neves, 1978-
Contribuidor(es) Repositório da Universidade de Lisboa
facebook logo  linkedin logo  twitter logo 
mendeley logo

Documentos Relacionados