Título: | Implementing a distributed architecture on angraDB |
Autor(es): | Medeiros, Ismael Coelho |
Orientador(es): | Almeida, Rodrigo Bonifácio de |
Assunto: | Linguagem de programação (Computadores) Banco de dados Big Data Angra - DB |
Data de apresentação: | 31-Jan-2019 |
Data de publicação: | 31-Jul-2020 |
Referência: | MEDEIROS, Ismael Coelho. Implementing a distributed architecture on angraDB. 2019. 53 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) — Universidade de Brasília, Brasília, 2019. |
Resumo: | Big Data refere-se à quantidade crescente de dados consultados e processos nos mais diversos formatos (v.g., textual, imagem, vídeo) e domínios (v.g., streaming the conteúdo, serviços de blockchains). Para poder se alinhar com os desafios do Big Data, provedores de serviços conhecidos começaram a desenvolver e usar diferentes modelos de banco de dados (incluindo banco de dados, como Bigtable, orientados a documentos e a chave-valor). A implementação de um banco de dados é uma tarefa desafiadora, que permite aos alunos explorarem diferentes áreas da Ciência da Computação. Por esta razão, e com o objetivo de melhor entender e disseminar o uso da linguagem de programação Erlang, iniciamos o desenvolvimento do AngraDB, um banco de dados orientado a documentos de código aberto. Neste trabalho, contribuímos com um recurso específico e relevante que um banco de dados deve suportar: distribuição para alto desempenho e disponibilidade. Para tanto, foram investigadas (a) as técnicas que outros bancos de dados usam frequentemente para a replicação e consistência dos dados, (b) protocolos existentes para sistemas distribuídos, e (c) a arquitetura Erlang para implementação de sistemas distribuídos. Em seguida, projetamos e implementamos a arquitetura distribuída do AngraDB, validando a arquitetura através de um estudo de caso. |
Abstract: | Big Data relates to the increasing amount of data queried and processed in the most different formats (e.g., textual, image, and video) and domains (e.g., content streaming, blockchain services). To cope with Big Data challenges, well-known service providers started to develop and use different database models (including Bigtable, documentoriented, and key-value databases). Implementing a database is a challenging task, which enables students to explore different Computer Science areas. For this reason, and aiming to better understand and disseminate the use of Erlang programming language, we started the development of AngraDB, an open-source, document-oriented database. In this work, we contribute with a specific and relevant feature that a database must support: distribution for high performance and availability. To this end, we investigated (a) the techniques databases often use for data replication and consistency, (b) existing protocols for distributed systems, and (c) the Erlang architecture for implementing distributed systems. After that, we designed and implemented a distributed architecture for AngraDB, validating the architecture through a case study. |
Informações adicionais: | Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019. |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. |
Aparece na Coleção: | Ciência da Computação
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.