Boa noite!
Quando justifica optar pelo MongoDB ao invés de um MySQL, por exemplo? Qual o perfil do projeto em que o MongoBD se encaixa bem?
Obrigado!
Boa noite!
Quando justifica optar pelo MongoDB ao invés de um MySQL, por exemplo? Qual o perfil do projeto em que o MongoBD se encaixa bem?
Obrigado!
Oi Victor,
há muito a discutir e talvez outros alunos tbm opinam mas eu vejo dois argumentos fortes quando usar o mongodb ao invés do mysql (mais genérico qq banco relacional):
1) Falta de schema / schema é instável
Esse ponto é sobre a modelagem dos seus dados. Há aplicações onde vc não sabe quais dados vc receberá ou onde alterações no modelo de dados são frequentementes. Isso gera uma dor de cabeça nos bancos relacionais (que são muito bons se vc justamente tem um schema forte).
Como o mongo grava documentos no formato JSON (semi-structered) vc tem bastante flexibilidade no schema e não tem problema gravar documentos com mais ou menos atributos. No outro lado ,vc vai pagar essa flexibilidade na hora de pesquisar esses dados.
2) Escalabilidade extrema
A maioria dos bancos de dados nosql foram criados para aplicações que precisam lidar com muitos dados. nesses ambientes os bancos relacionais param de atender bem ou o desempenho piora muito. O mongodb já foi desenvolvido pensando na escalabilidade e disponibilidade e vem de cara com ferramentas para replicar e distribuir os seus dados. claro, o modelo orientado ao documento do mongodb facilita essa distribuição.
enfim, dando a minha opinião aqui: se vc consegue modelar os seus dados para o mundo relacional e não precisa da escalabilidade extrema, vá com mysql pois esse banco vai te deixar por um bom tempo na "zona de conforto". é uma ferramenta robusta e bem conhecida no mercado, tem amplo suporte e uma grande comunidade. Por exemplo, a Alura usa até hoje o mysql.
espero ter ajudado, Nico