Heterogeneous database replication
| dc.contributor.advisor | Alonso, Ana Luísa Parreira Nunes | |
| dc.contributor.advisor | Pereira, Orlando P. | |
| dc.contributor.author | Imperadeiro, João Ribeiro | |
| dc.date.accessioned | 2026-03-16T10:50:12Z | |
| dc.date.issued | 2025-12-10 | |
| dc.date.submitted | 2024-10 | |
| dc.description.abstract | Replication has been a common strategy for improving the dependability of database systems. However, the use of database systems in demanding environments and critical applications calls for the enforcement of stronger dependability properties, in face of generalized fault models that include software bugs and malicious behavior. Commercial database systems assume a crash-recovery model, typically favoring a primary-backup approach for performance and scalability, which is unsuitable for Byzantine fault tolerance as a faulty primary replica can simply propagate errors to the backup replicas. Meanwhile, proposals for Byzantine fault-tolerant replication protocols can mostly be found in the literature and academic tools. However, with very few exceptions, proposed replication protocols, even for Byzantine fault-tolerance, assume replicas are homogeneous and, at the same time, that faults are independent. We question this assumption, particularly considering the complexity of software related to databases, addressing it with a study of the diversity and known vulnerabilities in open-source database software. Experience with existing systems, as captured by vulnerability collections, exposes the possible impact on homogeneous replication. Our study also shows there is sufficient diversity for heterogeneous replication to be feasible, allowing the use replicas with different database engines, software stacks, and even data models. We present data that demonstrates current solutions are suboptimal and propose a novel architecture that leverages the capabilities of LLMs in code translation to enable heterogeneous Byzantine fault-tolerant replication among replicas with multiple data models. We show how LLMs can be useful with practical examples and perform an evaluation of the final system, highlighting a trade-off between fault tolerance and performance. | eng |
| dc.description.abstract | A replicação tem sido uma estratégia comum para melhorar a fiabilidade dos sistemas de bases de dados. No entanto, a utilização de sistemas de bases de dados em ambientes exigentes e aplicações críticas exige a aplicação de propriedades de fiabilidade mais fortes, face a modelos de falhas generalizados que incluem bugs de software e comportamento malicioso. Os sistemas de bases de dados comerciais assumem um modelo crash-recovery, favorecendo normalmente uma abordagem primária-backup para privilegiar desempenho e escalabilidade, o que é inadequado para a tolerância a falhas Bizantinas, uma vez que uma réplica primária defeituosa pode simplesmente propagar erros para as réplicas de backup. Enquanto isso, as propostas de protocolos de replicação tolerantes a falhas Bizantinas podem ser encontradas principalmente na literatura e em ferramentas académicas. No entanto, com muito poucas exceções, os protocolos de replicação propostos, mesmo para a tolerância a falhas Bizantinas, assumem que as réplicas são homogéneas e, ao mesmo tempo, que as falhas são independentes. Questionamos esta suposição, especialmente considerando a complexidade do software relacionado com bases de dados, abordando-a com um estudo da diversidade e das vulnerabilidades conhecidas em software de bases de dados open-source. A experiência com sistemas existentes, tal como captada pelas coleções de vulnerabilidades, expõe o possível impacto na replicação homogénea. O nosso estudo mostra também que existe diversidade suficiente para que a replicação heterogénea seja viável, permitindo a utilização réplicas com diferentes motores de bases de dados, ambientes de software, e até modelos de dados. Apresentamos dados que demonstram que as soluções atuais são subótimas e propomos uma nova arquitetura que aproveita as capacidades dos LLMs na tradução de código para permitir a replicação heterogénea tolerante a falhas Bizantinas entre réplicas com vários modelos de dados. Mostramos como os LLMs podem ser úteis com exemplos práticos e realizamos uma avaliação do sistema final, destacando um compromisso entre tolerância a falhas e desempenho. | por |
| dc.description.sponsorship | This work is co-financed by Component 5 - Capitalization and Business Innovation, integrated in the Resilience Dimension of the Recovery and Resilience Plan within the scope of the Recovery and Resilience Mechanism (MRR) of the European Union (EU), framed in the Next Generation EU, for the period 2021-2026, within project ATE, with reference 56. | |
| dc.description.sponsorship | This work is financed by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia, within project LA/P/0063/2020. DOI 10.54499/LA/P/0063/2020. | |
| dc.identifier.tid | 204222729 | |
| dc.identifier.uri | https://hdl.handle.net/1822/100412 | |
| dc.language.iso | eng | |
| dc.relation | INESC TEC - Institute for Systems and Computer Engineering, Technology and Science (INESC TEC) [LA/P/0063/2020] | |
| dc.rights | openAccess | |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | |
| dc.subject | Databases | |
| dc.subject | Replication | |
| dc.subject | Vulnerabilities | |
| dc.subject | Heterogeneous replication | |
| dc.subject | Byzantine fault tolerance | |
| dc.subject | Large language models | |
| dc.subject | Bases de dados | |
| dc.subject | Replicação | |
| dc.subject | Vulnerabilidades | |
| dc.subject | Replicação heterogénea | |
| dc.subject | Tolerância a falhas Bizantinas | |
| dc.subject | Grandes modelos de linguagem | |
| dc.subject.fos | Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática | |
| dc.title | Heterogeneous database replication | eng |
| dc.type | masterThesis | |
| dspace.entity.type | Publication | |
| oaire.awardNumber | LA/P/0063/2020 | |
| oaire.awardTitle | INESC TEC - Institute for Systems and Computer Engineering, Technology and Science (INESC TEC) [LA/P/0063/2020] | |
| oaire.awardURI | https://hdl.handle.net/1822/100394 | |
| oaire.funderIdentifier | http://doi.org/10.13039/501100001871 | |
| oaire.funderName | Fundação para a Ciência e a Tecnologia, I.P. | |
| oaire.fundingStream | Concurso para Atribuição do Estatuto e Financiamento de Laboratórios Associados (LA) | |
| relation.isProjectOfPublication | c58753f3-2fa4-4eeb-9593-e09c42202f17 | |
| relation.isProjectOfPublication.latestForDiscovery | c58753f3-2fa4-4eeb-9593-e09c42202f17 | |
| sdum.degree.grade | 18 valores | |
| sdum.uoei | Escola de Engenharia | |
| thesis.degree.grantor | Universidade do Minho | por |
| thesis.degree.name | Mestrado em Engenharia Informática |
Ficheiros
Pacote original
1 - 1 de 1
A carregar...
- Nome:
- Joao Ribeiro Imperadeiro.pdf
- Tamanho:
- 710.58 KB
- Formato:
- Adobe Portable Document Format