High availability architecture for cloud based databases

Detalhes bibliográficos
Autor(a) principal: Abreu, Hugo Miguel Ferreira
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