High availability architecture for cloud based databases
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | https://hdl.handle.net/1822/79397 |
Resumo: | Dissertação de mestrado em Computer Science |
id |
RCAP_11536f6791f8c8ea13dfcb86f6fa0c1e |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/79397 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
High availability architecture for cloud based databasesArquitetura de elevada disponibilidade para bases de dados na cloudMiddlewareReplicaçãoLogsLogs distribuídosBases de dadosReplicação híbridaReplicação ativaReplicação passivaTolerância a faltasAlta disponibilidadeReplicationDistributed logsDatabasesHybrid replicationActive replicationPassive replicationFault toleranceHigh availabilityEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Computer ScienceCom a constante expansão de sistemas informáticos nas diferentes áreas de aplicação, a quantidade de dados que exigem persistência aumenta exponencialmente. Assim, por forma a tolerar faltas e garantir a disponibilidade de dados, devem ser implementadas técnicas de replicação. Atualmente existem várias abordagens e protocolos, tendo diferentes tipos de aplicações em vista. Existem duas grandes vertentes de protocolos de replicação, protocolos genéricos, para qualquer serviço, e protocolos específicos destinados a bases de dados. No que toca a protocolos de replicação genéricos, as principais técnicas existentes, apesar de completa mente desenvolvidas e em utilização, têm algumas limitações, nomeadamente: problemas de performance relativamente a saturação da réplica primária na replicação passiva e o determinismo necessário associado à replicação ativa. Algumas destas desvantagens são mitigadas pelos protocolos específicos de base de dados (e.g., com recurso a multi-master) mas estes protocolos não permitem efetuar uma separação entre a lógica da replicação e os respetivos dados. Abordagens mais recentes tendem a basear-se em técnicas de repli cação com fundamentos em mecanismos distribuídos de logging. Tais mecanismos propor cionam alta disponibilidade de dados e tolerância a faltas, permitindo abordagens inovado ras baseadas puramente em logs. Por forma a atenuar as limitações encontradas não só no mecanismo de replicação ativa e passiva, mas também nas suas derivações, esta dissertação apresenta uma solução de replicação híbrida baseada em middleware, o SQLware. A grande vantagem desta abor dagem baseia-se na divisão entre a camada de replicação e a camada de dados, utilizando um log distribuído altamente escalável que oferece tolerância a faltas e alta disponibilidade. O protótipo desenvolvido foi validado com recurso à execução de testes de desempenho, sendo avaliado em duas infraestruturas diferentes, nomeadamente, um servidor privado de média gama e um grupo de servidores de computação de alto desempenho. Durante a avaliação do protótipo, o standard da indústria TPC-C, tipicamente utilizado para avaliar sistemas de base de dados transacionais, foi utilizado. Os resultados obtidos demonstram que o SQLware oferece uma aumento de throughput de 150 vezes, comparativamente ao mecanismo de replicação nativo da base de dados considerada, o PostgreSQL.With the constant expansion of computational systems, the amount of data that requires durability increases exponentially. All data persistence must be replicated in order to provide high-availability and fault tolerance according to the surrogate application or use-case. Currently, there are numerous approaches and replication protocols developed supporting different use-cases. There are two prominent variations of replication protocols, generic protocols, and database specific ones. The two main techniques associated with generic replication protocols are the active and passive replication. Although generic replication techniques are fully matured and widely used, there are inherent problems associated with those protocols, namely: performance issues of the primary replica of passive replication and the determinism required by the active replication. Some of those disadvantages are mitigated by specific database replication protocols (e.g., using multi-master) but, those protocols do not allow a separation between logic and data and they can not be decoupled from the database engine. Moreover, recent strategies consider highly-scalable and fault tolerant distributed logging mechanisms, allowing for newer designs based purely on logs to power replication. To mitigate the shortcomings found in both active and passive replication mechanisms, but also in partial variations of these methods, this dissertation presents a hybrid replication middleware, SQLware. The cornerstone of the approach lies in the decoupling between the logical replication layer and the data store, together with the use of a highly scalable distributed log that provides fault-tolerance and high-availability. We validated the prototype by conducting a benchmarking campaign to evaluate the overall system’s performance under two distinct infrastructures, namely a private medium class server, and a private high performance computing cluster. Across the evaluation campaign, we considered the TPCC benchmark, a widely used benchmark in the evaluation of Online transaction processing (OLTP) database systems. Results show that SQLware was able to achieve 150 times more throughput when compared with the native replication mechanism of the underlying data store considered as baseline, PostgreSQL.This work was partially funded by FCT - Fundação para a Ciência e a Tecnologia, I.P., (Portuguese Foundation for Science and Technology) within project UID/EEA/50014/2019Pereira, JoséCoelho, Fábio André Castanheira LuísUniversidade do MinhoAbreu, Hugo Miguel Ferreira2019-11-082019-11-08T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/79397eng203018028info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:15:23Zoai:repositorium.sdum.uminho.pt:1822/79397Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:07:48.625636Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
High availability architecture for cloud based databases Arquitetura de elevada disponibilidade para bases de dados na cloud |
title |
High availability architecture for cloud based databases |
spellingShingle |
High availability architecture for cloud based databases Abreu, Hugo Miguel Ferreira Middleware Replicação Logs Logs distribuídos Bases de dados Replicação híbrida Replicação ativa Replicação passiva Tolerância a faltas Alta disponibilidade Replication Distributed logs Databases Hybrid replication Active replication Passive replication Fault tolerance High availability Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
High availability architecture for cloud based databases |
title_full |
High availability architecture for cloud based databases |
title_fullStr |
High availability architecture for cloud based databases |
title_full_unstemmed |
High availability architecture for cloud based databases |
title_sort |
High availability architecture for cloud based databases |
author |
Abreu, Hugo Miguel Ferreira |
author_facet |
Abreu, Hugo Miguel Ferreira |
author_role |
author |
dc.contributor.none.fl_str_mv |
Pereira, José Coelho, Fábio André Castanheira Luís Universidade do Minho |
dc.contributor.author.fl_str_mv |
Abreu, Hugo Miguel Ferreira |
dc.subject.por.fl_str_mv |
Middleware Replicação Logs Logs distribuídos Bases de dados Replicação híbrida Replicação ativa Replicação passiva Tolerância a faltas Alta disponibilidade Replication Distributed logs Databases Hybrid replication Active replication Passive replication Fault tolerance High availability Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
Middleware Replicação Logs Logs distribuídos Bases de dados Replicação híbrida Replicação ativa Replicação passiva Tolerância a faltas Alta disponibilidade Replication Distributed logs Databases Hybrid replication Active replication Passive replication Fault tolerance High availability Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
Dissertação de mestrado em Computer Science |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-11-08 2019-11-08T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/1822/79397 |
url |
https://hdl.handle.net/1822/79397 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
203018028 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799132498431574016 |