Metadados para reconciliação de transações em bancos de dados autônomos

Detalhes bibliográficos
Ano de defesa: 2011
Autor(a) principal: Duarte, Gustavo Luiz
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://www.teses.usp.br/teses/disponiveis/45/45134/tde-27082012-153008/
Resumo: O uso de técnicas de replicação de dados em dispositivos móveis permite que uma aplicação móvel compartilhe dados com um servidor e possa atuar sobre tais dados durante períodos de desconexão. Embora essa característica seja fundamental em diversos domínios, a reconciliação das transações que foram aplicadas sobre a réplica móvel dos dados apresenta-se como um desafio a ser superado. O uso de bloqueios apresenta-se impraticável em determinados domínios de aplicação. Por outro lado, ao permitir a execução de operações de escrita em diversas réplicas sem uma sincronização a priori, o sistema se torna suscetível a conflitos de atualização, sendo necessário a implementação de um mecanismo de resolução de conflitos. Resolver conflitos é uma tarefa complexa e propensa a erros, em especial nos casos em que há a necessidade de intervenção humana. Diante desse cenário, foi desenvolvido um modelo para controle de transações em bancos de dados autônomos que faz uso de metadados e multiversão de banco de dados de forma a permitir a auditoria e retificação de resoluções de conflitos. Isso torna a resolução de conflitos uma operação não destrutiva, reduzindo, assim, o impacto de uma resolução de conflito incorreta. Neste trabalho é apresentado também um arcabouço para reconciliação de transações que implementa o modelo proposto. Como estudo de caso, o arcabouço desenvolvido foi utilizado para implementar a integração entre dois sistemas reais que possuem necessidades de replicação de dados e atualizações desconectadas.