Utilize este identificador para referenciar este registo: http://hdl.handle.net/10362/2660
Título: Byzantium: Contribuições para o desenvolvimento de um sistema de replicação de bases de dados tolerante a falhas bizantinas
Autor: Garcia, Rui Alexandre Bom
Orientador: Preguiça, Nuno
Palavras-chave: Replicação bizantina
Bases de dados
Snapshot isolation
Middleware
Data de Defesa: 2009
Editora: FCT - UNL
Resumo: As bases de dados são aplicações extremamente utilizadas hoje em dia, e por isso, é importante que cumpram determinados requisitos, nomeadamente, correcção, disponibilidade e desempenho. Uma aproximação para atingir estes objectivos passa por replicar o estado da base de dados em diferentes localizações, sendo necessário manter a coerência entre as diferentes réplicas. Esta aproximação tem a possibilidade de continuar a fornecer o serviço mesmo em caso de falha de uma parte dos componentes do sistema. A maioria das soluções existentes procura resolver o problema assumindo apenas o modelo de falhas fail-stop, sem considerar falhas bizantinas. As falhas bizantinas provocam o comportamento arbitrário dos componentes, normalmente associadas a erros de implementação ou situações imprevistas como falhas de hardware ou máquinas controladas por atacantes. Neste trabalho desenvolveu-se a segunda versão do Byzantium, um sistema middleware de replicação de bases de dados tolerante a falhas bizantinas com o modelo de isolamento Snapshot Isolation. Além de uma nova implementação do protótipo, esta nova versão propõe novos algoritmos que introduzem as seguintes novas funcionalidades. Primeiro, um novo mecanismo eficiente de propagação das operações de uma transacção para as várias réplicas no sistema, durante a sua execução. Este mecanismo pretende diminuir a complexidade da operação commit. Segundo, a utilização de um menor número de réplicas para executar as transacções apenas com leituras. Esta decisão permite diminuir a carga das réplicas. Terceiro, a execução imediata das operações de leitura. Esta aproximação faz com que as transacções de leitura obtenham o resultado da operação de commit localmente no cliente, sem necessidade de contactar o servidor. Os resultados obtidos na avaliação do protótipo mostram que estes algoritmos têm alguma penalização face a uma solução não tolerante a falhas com apenas um servidor para transacções de leitura e escrita. Adicionalmente, revela um desempenho superior para transacções de leitura quando comparado com uma solução simples não tolerante a falhas. Quando as mesmas optimizações introduzidas no Byzantium são usadas na execução das operações na solução não tolerante a falhas, o desempenho do protótipo implementado é ligeiramente inferior.
Descrição: Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática
URI: http://hdl.handle.net/10362/2660
Aparece nas colecções:FCT: DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Garcia_2009.pdf658,29 kBAdobe PDFVer/Abrir


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpace
Formato BibTex MendeleyEndnote Degois 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.