O documento compara bancos de dados não relacionais (NoSQL), incluindo Cassandra DB, Couch DB e MongoDB. Analisa as características de cada um, como escalabilidade, consistência e replicação. Conclui que Cassandra tem o melhor desempenho geral, MongoDB é melhor para consultas dinâmicas e índices definidos pelo usuário, e CouchDB é melhor para acumular e ocasionalmente alterar dados.
1. Comparação entre bancos de dados de
modelo não relacional
Matheus Henrique Alves
Lucas Grigolon Varela
Benny Zimmer
Silvio Regis
2. Cada um dos bancos de dados NoSQL que foram comparados tem suas
particularidades, o que faz com que seja possível utilizar cada um com uma aplicação
diferente. Para que fosse possível realizar uma comparação justa entre cada um, vamos
analisar o que cada um possui e difere do outro.
INTRODUÇÃO
3. Estes modelos de bancos de dados, não possuem tabelas que se tenham
relacionamento de cardinalidade com outras tabelas, mas sim coleções de dados com
atributos dinâmicos, onde a consulta e a inserção de resultados pode se tornar mais simples
e eficiente para um número grande de registros que podem não possuir os mesmos
atributos.
O QUE É BANCO DE DADOS NOSQL
4. A seguir são mostrados os resultados entre a comparação entre alguns dos bancos de dados
não relacionais mais populares. Apresentaremos a comparação entre o Cassandra DB,
Couch DB e o MongoDB.
COMPARAÇÃO
5. O MongoDB combina a capacidade de
escalabilidade com recursos como índices
secundários, consultas de intervalo, classificação,
agregações e índices geoespaciais.
(CHODOROW, 2013).
Mongo DB
6. É um banco de dados orientado a documento NOSQL que foca na facilidade de uso e
em ter uma arquitetura que “abraça completamente a Web”. A arquitetura do banco de
dados foi implementada com programação concorrente na linguagem Erlang, usa JSON
para armazenamento dos dados, e JavaScript como linguagem de consulta, permite o uso
de MapReduce e HTTP para utilizar API’s (FOUNDATION, 2017), mantido pela Apache
Software Foundation.
Couch DB
7. Banco de dados distribuído altamente escalável e de alto desempenho projetado para
lidar com grandes quantidades de dados em muitos servidores de commodities
(FOUNDATION, 2016), mantido pela Apache Software Foundation.
Cassandra DB
8. São característica comum aos três bancos de dados não relacionais estudados:
CARACTERÍSTICAS COMUNS
suporte a compreensão de dados consistência no armazenamento são escaláveis
atualização de condições de entrada facilitam a persistência de dados permitem replicação
suporte unicode possuem índices secundários modo de replicação: Master-Slave
permitem MapReduce suportam chaves compostas permitem sharding
permitem sharding tem arquitetura compartilhada multiplataforma
9. Os seguintes bancos NoSQL possuem:
● MongoDB e CassandraDB: modelo de integridade: BASE.
● MongoDB e CouchDB: armazenamento em sistema de arquivo de memória volátil.
● CassandraDB e CouchDB: permitem atomicidade (conceito de transação).
ALGUMAS COMPARAÇÕES DE RECURSOS
10. ● Nenhum deles tem: Integridade referencial; suporte a transações; pesquisa completa
de texto ou suporte a gráficos.
CARACTERÍSTICAS INCOMUNS
11. Se for feita uma comparação entre as funcionalidades de cada um, o Apache Cassandra
pode ser considerado o melhor, porém se você precisar de consultas dinâmicas ou se você
preferir definir os índices ao invés de mapear para reduzir funções a escolha será o
MongoDB, pois além de ter estas funções ele é um banco de dados ao qual possui um
ótimo desempenho.
Se o mais importante na aplicação é acumular dados e ocasionalmente alterar
dados, o melhor banco de dados para isso é o Apache CouchDB nos quais consultas
predefinidas devem ser executadas para ganho de desempenho.
CONCLUSÃO