Byzantium: Contribuições para o desenvolvimento de um sistema de replicação de bases de dados tolerante a falhas bizantinas
Contribuinte(s) |
Preguiça, Nuno |
---|---|
Data(s) |
23/02/2010
23/02/2010
2009
|
Resumo |
Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática 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. |
Identificador | |
Idioma(s) |
por |
Publicador |
FCT - UNL |
Direitos |
openAccess |
Palavras-Chave | #Replicação bizantina #Bases de dados #Snapshot isolation #Middleware |
Tipo |
masterThesis |