Protocolos tolerantes a faltas bizantinas para transações em bancos de dados

Detalhes bibliográficos
Autor(a) principal: Luiz, Aldelir Fernando
Data de Publicação: 2015
Tipo de documento: Tese
Idioma: por
Título da fonte: Repositório Institucional da UFSC
Texto Completo: https://repositorio.ufsc.br/xmlui/handle/123456789/134660
Resumo: Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015.
id UFSC_bfc589c925576894bf1da9b503898473
oai_identifier_str oai:repositorio.ufsc.br:123456789/134660
network_acronym_str UFSC
network_name_str Repositório Institucional da UFSC
repository_id_str 2373
spelling Protocolos tolerantes a faltas bizantinas para transações em bancos de dadosEngenharia de sistemasBanco de dados relacionaisSistemas operacionais distribuídos (Computadores)Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015.No âmbito de sistemas computacionais, a noção de transações constitui um dos elementos mais fundamentais para a especificação e implementação de aplicações com requisitos de confiabilidade e consistência, quanto à manipulação de dados. Ao longo dos anos, os sistemas de gerenciamento de banco de dados relacionais (SGBDR) têm sido considerados como componentes chave para o processamento de transações em sistemas computacionais; e, embora algumas alternativas aos SGBDRs tenham surgido nos últimos anos, há perspectivas de que um número significativo de sistemas computacionais permaneçam a utilizar os SGBDRs nos anos vindouros. Neste sentido, é imperioso que requisitos como confiabilidade, disponibilidade, desempenho, tolerância a faltas e consistência, sejam mantidos no SGBDR, com vista para o correto processamento de transações. Tais atributos podem ser obtidos por meio de replicação, sendo que a literatura é vasta em termos de soluções que visam a disponibilidade dos dados a despeito de faltas por parada intermitentes ou permanentes. Todavia, faltas oriundas da corrupção de dados em disco ou em memória RAM devido a efeitos físicos, ou decorrente de bugs no SGBDR, não afetam a disponibilidade dos dados, mas sim a integridade e a consistência destes. Estas faltas, que são caracterizadas como bizantinas, historicamente têm sido encontradas em SGBDRs, e elas afetam o processamento de transações comprometendo não apenas a exatidão, mas também o estado do banco de dados. A literatura dispõe de poucas soluções para lidar com faltas bizantinas em SGBDRs, onde algumas são baseadas em hipóteses difíceis de serem substanciadas na prática; ou em modelos de consistência mais relaxados, que podem causar problemas de integridade, consistência ou até mesmo corrupção de dados. Isto posto, elas não atendem plenamente todos os tipos de aplicações. Neste ensejo, esta tese versa sobre problemas relacionados ao processamento e a terminação de transações em SGBDRs e sistemas distribuídos, em ambientes com sujeição a faltas bizantinas. Para isso, esta tese apresenta duas grandes contribuições no âmbito de transações em SGBDRs. A primeira consiste num protocolo que permite o processamento e terminação de transações, a despeito de faltas bizantinas nas réplicas de bancos de dados  o primeiro da literatura a explorar a semântica de consistência mais forte de transações  , a partir de um protocolo de replicação tolerante a faltas bizantinas totalmente distribuído. A segunda investiga o problema da terminação de transações distribuídas em ambientes sujeitos a faltas bizantinas  um problema sem solução pela literatura  , que é conhecido como Validação Atômica Não-Bloqueante (NBAC) e visa assegurar uma decisão uniforme para os participantes da transação acerca da validação ou anulação das operações executadas num ambiente distribuído de banco de dados. A contribuição para este problema se baseia na investigação dos aspectos práticos necessários para resolvê-lo, onde é introduzido o conceito de Gerenciador Colaborativo de Transações em substituição ao Gerenciador de Transações, tradicionalmente empregado como agente num protocolo NBAC. A solução proposta para resolver o NBAC com faltas bizantinas baseia-se num conceito novo, que adota a tecnologia de virtualização como suporte para a especificação de uma arquitetura de sistema distribuído que permite circunscrever o problema. As soluções propostas foram comparadas de maneira analítica com soluções encontradas na literatura, bem como através de ensaios experimentais, a fim de comprovar a viabilidade das mesmas.<br>Abstract : Within computer systems, the concept of transaction is one of the most fundamental elements for the specification and implementation of applications with reliability and consistency requirements concerning handling of data. Over the years, relational database management systems (RDBMS) have been considered key components for transaction processing in computer systems; and although some alternatives to RDBMSs have emerged in recent years, there are prospects that a significant number of computer systems will continute to use RDBMSs in coming years. In this sense, the need to provide reliability, availability, performance, fault tolerance and consistency, regarding transaction processing in RDBMS is imminent. Such attributes may be obtained through database replication. The literature is extensive in terms of solutions for data availability regardless of crash faults (e.g. intermittent or permanent). However, faults arising from the disk data corruption or RAM data corruption due to physical effects, or due to bugs in the RDBMS, do not affect the availability of data, though they affect their integrity and consistency. These faults, which are known as Byzantine, have historically been found in RDBMSs, and they affect transaction processing undermining not only the accuracy but also the database state. The literature offers few solutions to deal with Byzantine faults in RDBMSs, where some are based on difficult cases to be used in practice; or more relaxed consistency models, which can cause integrity, consistency or even data corruption problems. So, they are not addressed to all types of applications. As it is, this thesis deals with problems related to transaction processing and transaction termination on RDBMS and distributed systems, in environments subject to Byzantine fault. To this end, this thesis presents two major contributions to the transaction level in RDBMSs. The first is a protocol that allows the transaction processing and transaction, despite Byzantine faults in databases replicas  the first in literature that explores the strongest consistency semantics of transactions (e.g. serializability)  , by means of a fully distributed Byzantine fault tolerant database replication protocol. The second investigates the agreement problem related to transaction termination in distributed systems, also in environments subject to Byzantine fault  an unsolved problem in the literature. The Non Blocking Atomic Commitment (NBAC), as it known, aims to ensure a uniform decision for the transaction participants about the operations performed in a distributed database environment, that is, commit or abort them. The contribution to this problem is based on the investigation of practical and necessary conditions, to solve it. So, this thesis introduces the Collaborative Transaction Manager to replace the Transaction Manager, traditionally used as an agent on a NBAC protocol. The solution proposed to solve the NBAC with Byzantine fault is based on a new concept, adopting virtualization technology as a support for the specification of a distributed system architecture which makes the problem feasible. The proposed solutions were compared analytically with solutions found in the literature as well as through experimental tests in order to prove their feasibility.Lung, Lau CheukUniversidade Federal de Santa CatarinaLuiz, Aldelir Fernando2015-09-01T04:07:56Z2015-09-01T04:07:56Z2015info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesis342 p.| il., grafs., tabs.application/pdf334062https://repositorio.ufsc.br/xmlui/handle/123456789/134660porreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccess2015-09-01T04:07:56Zoai:repositorio.ufsc.br:123456789/134660Repositório InstitucionalPUBhttp://150.162.242.35/oai/requestopendoar:23732015-09-01T04:07:56Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false
dc.title.none.fl_str_mv Protocolos tolerantes a faltas bizantinas para transações em bancos de dados
title Protocolos tolerantes a faltas bizantinas para transações em bancos de dados
spellingShingle Protocolos tolerantes a faltas bizantinas para transações em bancos de dados
Luiz, Aldelir Fernando
Engenharia de sistemas
Banco de dados relacionais
Sistemas operacionais distribuídos (Computadores)
title_short Protocolos tolerantes a faltas bizantinas para transações em bancos de dados
title_full Protocolos tolerantes a faltas bizantinas para transações em bancos de dados
title_fullStr Protocolos tolerantes a faltas bizantinas para transações em bancos de dados
title_full_unstemmed Protocolos tolerantes a faltas bizantinas para transações em bancos de dados
title_sort Protocolos tolerantes a faltas bizantinas para transações em bancos de dados
author Luiz, Aldelir Fernando
author_facet Luiz, Aldelir Fernando
author_role author
dc.contributor.none.fl_str_mv Lung, Lau Cheuk
Universidade Federal de Santa Catarina
dc.contributor.author.fl_str_mv Luiz, Aldelir Fernando
dc.subject.por.fl_str_mv Engenharia de sistemas
Banco de dados relacionais
Sistemas operacionais distribuídos (Computadores)
topic Engenharia de sistemas
Banco de dados relacionais
Sistemas operacionais distribuídos (Computadores)
description Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015.
publishDate 2015
dc.date.none.fl_str_mv 2015-09-01T04:07:56Z
2015-09-01T04:07:56Z
2015
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv 334062
https://repositorio.ufsc.br/xmlui/handle/123456789/134660
identifier_str_mv 334062
url https://repositorio.ufsc.br/xmlui/handle/123456789/134660
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 342 p.| il., grafs., tabs.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSC
instname:Universidade Federal de Santa Catarina (UFSC)
instacron:UFSC
instname_str Universidade Federal de Santa Catarina (UFSC)
instacron_str UFSC
institution UFSC
reponame_str Repositório Institucional da UFSC
collection Repositório Institucional da UFSC
repository.name.fl_str_mv Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)
repository.mail.fl_str_mv
_version_ 1808652184864161792