Replicação descentralizada em bancos de dados distribuídos usando o algoritmo Paxos
Resumo
Neste trabalho foi proposto uma forma de integrar um mecanismo de replicação usando o algoritmo Paxos a qualquer SGBD em memória principal. Esta proposta adiciona ao SGDB a confiabilidade e durabilidade de dados fornecidos pelo algoritmo Paxos, mantendo a interface de programação típica destes sistemas e preservando suas demais características. Outra consequência positiva desta integração é um robusto mecanismo de recuperação de falhas, que provê confiabilidade equiparável a SGBDs em disco. Para demonstrar a proposta construiu-se um protótipo usando o Redis e o framework Treplica, incluindo um conjunto inicial de testes de desempenho.
Referências
Ezéchiel, K. K., Ojha, S. K., and Agarwal, R. (2020). A New Eager Replication Approach Using a Non-Blocking Protocol Over a Decentralized P2P Architecture. International Journal of Distributed Systems and Technologies (IJDST), 11(2):69–100.
Gonçalves, J., Matos, M., and Rodrigues, R. (2022). SconeKV: A Scalable, Strongly Consistent Key-Value Store. IEEE Transactions on Parallel and Distributed Systems, 33(12):4164–4175.
Gribble, S., Halevy, A., Ives, Z., Rodrig, M., and Suciu, D. (2001). What can database do for peer-to-peer? In Proceedings of Web and Databases, pages 31–36.
Kamaruzzaman (2021). Top 10 databases to use in 2021. [link]. Accessed in Ago-17-2021.
Kingsbury, K. (2013). Jepsen: Redis. Accessed on 21 Jan. 2023.
Lamport, L. (1998). The part-time parliament. ACM Transactions on Computer Systems (TOCS), 16(2):133–169.
Lu, Y., Yu, X., Cao, L., and Madden, S. (2021). Epoch-based commit and replication in distributed oltp databases. Proceedings of VLDB Endowment, 14(5):743–756.
Ozsu, M. T. and Valduriez, P. (2011). Principles of distributed database systems. Springer, 3rd edition.
Pierce, E. and Alvisi, L. (2000). A recipe for atomic semantics for byzantine quorum systems. Technical report, University of Texas at Austin, Department of Computer Sciences.
Sadalage, P. and Fowler, M. (2013). NoSQL distilled: a brief guide to the emerging world of polyglot persistence. Pearson Education.
Schneider, F. B. (1990). Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Computing Surveys (CSUR), 22(4):299–319.
Souza, W. P. d. C. (2022). Desempenho e consistência de banco de dados chave-valor persistentes. Trabalho de Conclusão de Curso.
Vieira, G. M. and Buzato, L. E. (2010). Implementation of an object-oriented specification for active replication using consensus. Technical Report IC-10–26.