Mongochain : um framework para implementação de sistemas transacionais

Sistemas de Gerenciamento de Banco de Dados (SGBD) relacionais têm como característica fornecer consistência forte aos dados por meio de transações que mantêm as propriedades de Atomicidade, Consistência, Isolamento e Durabilidade (ACID). Porém, não são triviais quando executados em sistemas distrib...

Descripción completa

Detalles Bibliográficos
Autor: SOUSA, Carlos Manoel Vasconcelos
Tipo de recurso: tesis de maestría
Estado:Versión publicada
Fecha de publicación:2020
País:Brasil
Institución:Universidade Federal de Pernambuco (UFPE)
Repositorio:Repositório Institucional da UFPE
Idioma:portugués
OAI Identifier:oai:repositorio.ufpe.br:123456789/40807
Acceso en línea:https://repositorio.ufpe.br/handle/123456789/40807
Access Level:acceso abierto
Palabra clave:Banco de Dados
ACID
NoSQL
MongoDB
Descripción
Sumario:Sistemas de Gerenciamento de Banco de Dados (SGBD) relacionais têm como característica fornecer consistência forte aos dados por meio de transações que mantêm as propriedades de Atomicidade, Consistência, Isolamento e Durabilidade (ACID). Porém, não são triviais quando executados em sistemas distribuídos compostos por clusters, nos quais pode-se obter escalabilidade horizontal com a adição de mais nodes. Logo, os SGBD Não Apenas SQL (NoSQL) de agregados são usados pelos desenvolvedores para fornecer dados com maior disponibilidade. Todavia, a consistência é sacrificada ao adotar os conceitos Basicamente Disponível, Estado Leve e Consistência Eventual (BASE). Ademais, a blockchain é uma tecnologia que pode substituir o uso de ACID e BASE ao realizar transações seguras e transparentes em uma rede distribuída e descentralizada. Encontram-se no estado da arte, soluções que integram tecnologias divergentes para contemplar requisitos transacionais em diferentes domínios. Porém, não há um ambiente programável que auxilie os desenvolvedores a implementar e gerenciar sistemas transacionais com ACID, BASE e blockchain. Sendo assim, este trabalho apresenta o MongoChain, um framework proveniente da integração entre o SGBD NoSQL de agregados MongoDB com uma rede blockchain. Foi realizado um experimento para mostrar a capacidade do MongoChain em garantir a consistência dos dados ao executar transações ACID em múltiplos documentos do MongoDB e gerenciar uma rede blockchain. Além disso, para validar a capacidade de extensão do MongoChain, foram construídos dois frameworks especialistas que auxiliaram no desenvolvimento das seguintes aplicações: agendamentos em clínicas médicas e marketplace de produtos automotivos. Os resultados mostram que o MongoChain fornece os mecanismos necessários para provê dados consistentes, escaláveis, disponíveis, seguros e transparentes.