O MongoDB é um banco de dados orientado a documentos, foi escrito na linguagem C++, sua aplicação possui código aberto, sem esquemas e de alta performance.
Formado
com por documentos da sintaxe JSON que por sua vez sua modelagem pode ser estruturada em complexas hierarquias e continuar a ser indexáveis e fáceis de
buscar.
Para
os desenvolvedores assim como eu acostumados com os bancos de dados relacionais
se assustam ao primeiro contato com o MongoDB porque até então todo conceito
estudado e conhecido desaparecem totalmente.
Entendo
que é sempre importante conhecer novos paradigmas e abrir a mente para novos
conhecimentos, pois o banco de dados do MongoDB é bastante diferente dos bancos
de dados relacionais saindo totalmente da nossa zona de conforto.
O
modelo relacional é representado por tabelas separadas por linhas e colunas, as
relações das tabelas são feitas através de relacionamentos onde por mais que a
análise tenha sido bem feita sempre é possível inserir mais atributos.
O
MongoDB é totalmente diferente pois ele permite que qualquer tipo de dados seja
salvo no banco de dados independente pois não há regras de validações rígidas.
- Desvantagem: Nesse aspecto abordado o desenvolvedor tem que prestar atenção para base, pois todos os dados são armazenados de qualquer forma sem ter um padrão especifico.
- Vantagem: Caso haja novos atributos você pode inserir onde necessário e não como o modelo relacional onde normalmente o desenvolvedor criava uma nova coluna na tabela relacionada.