Taverna /dev/All

MongoDB hoje: ainda é relevante?

image

Boa tarde pessoal, nossa primeira discussão da semana: alguns anos atrás tabalhei com MongoDB e detectei alguns problemas que, na época, relatei em meu blog neste link: https://www.itexto.com.br/devkico/?p=1621

Passado algum tempo, o PostgreSQL lançou o recurso de armazenamento JSON que, na minha opinião, atacava diretamente a própria relevância do produto. Novamente, mencionei o fato no meu blog: https://www.itexto.com.br/devkico/?p=2098

E hoje pela manhã encontrei um artigo realmente muito bom no /dev/All: “PostgreSQL como um banco de dados NoSQL” (https://devall.com.br/post/discuss/24151) da Danielle Monteiro.

É portanto um assunto que dura quase uma década. Pergunto então: como anda o MongoDB hoje? As críticas que fiz ainda são válidas? Dado o PostgreSQL, que une o melhor do relacional com a possibilidade de lidarmos com documentos, ele ainda é relevante?

Qual a experiência de vocês com ele?

uso em produção p/ salvar um stream de dados no formato de documentos, não quero tratar os dados quando recebo, só armazenar como vem.

o que faço depois são rotinas de extrair e salvar os dados de forma q consiga usar p/ minha analises.

acho q a maioria das pessoas fazem uso parecido, apesar dele ter adicionado transação p/ dar o troco no postegres q não fez nem um arranhão hehehehe

foi a solução mais rápida p/ o problema q tive, quando tiver mais tempo p/ abordar ele é capaz de mudar p/ salvar em disco apenas e tirar o mongo.

1 Curtida

O problema é quem precisa rodar o SGBD em cluster (ex.: para big data). Sei que há como rodar o PostgreSQL em cluster mas não sei se é viável, alguém já experimentou? Por outro lado o MongoDB foi construído para isso, ainda que abrindo mão do ACID.

Olá pessoal!!!

Tenho algumas considerações a fazer… Vamos lá…

1- Se a sua empresa já tem o PostgreSQL e não tem como investir em mais um SGBD, ele pode ser usado como um NoSQL e vai atender bem :slightly_smiling_face:
2- Se a sua empresa ainda não tem um SGBD, vai manipular dados semi-estruturados no formato JSON, o MongoDB e lindo! Por que permite a análise detalhada e com um desempenho melhor que o Postgress em atributos específicos do JSON…
Neste ponto é preciso estar atento a algumas características do MongoDB e que podem impactar na escolha:
- Se vai usar a versão community tenha cuidado com os termos da licença. Seu software precisará ser open source e compatível com a licençca do MongoDB (exceto aplicações internas);
- A arquitetura recomendada para utilização do MongoDB em produção, tem no mínimo 3 servidores (a replicação é automática, mas precisa de um número ímpar de servidores);
- Se vai usar a versão Enterprise, esteja atento ao preço, mas tb veja as vantagens (como o suporte oficial);
3 - Se a sua empresa tem um banco de dados PostgreSQL crítico, dividir as demandas com um MongoDB (lembrando que temos o MongoDB Atlas que é a versão na nuvem ou mesmo com o MongoDB on premise) pode ser uma boa estratégia…

Sobre usar ou não o PostgreSQL como banco de dados NoSQL:
- Use-o se sua empresa já tem o PostgreSQL e não pode investir tempo, dinheiro e equipe em mais um SGBD. Na minha opinião, dos bancos relacionais, o PostgreSQL é o que melhor faz o papel de BD NoSQL.
- Se o volume de dados é muito grande, se a sua empresa fará análises complexas em documentos JSON e pode investir em mais um SGBD use o MongoDB

Resumindo… Não acho que o MongoDB perdeu a relevância, acho que felizmente ele é uma das possibilidades que nós temos

Super obrigado, desculpem se não fui muito clara, e estejam a vontade para conversarmos sobre esse assunto tão fofo!
Dani

2 Curtidas

Danielle, na sua opinião, em uma situação hipotética, se tivesse de escolher entre o MongoDB ou o PostgreSQL para armazenar dados no formato de documentos, qual seria a melhor escolha?

(esta é uma pergunta muito fdp, por que varia demais de acordo com o contexto, mas do ponto de vista meramente relacionado à gestão de documentos, qual você indiciaria?)

A impressão que tenho é que o PostgreSQL acaba se tornando um canivete suisso, que me permite ter os dois modelos: relacional e documentos em uma mesma solução, mas não sei se ele supera o MongoDB ao lidar com este outro modelo.

(e meu conhecimento do PostgreSQL também é muito limitado pra que eu possa fazer qualquer afirmativa com segurança)

E finalmente, bem vinda Danielle, muito bom ter você aqui pra participar das nossas discussões!

@danimonteirodba excelente consultoria! Veio a calhar.

Esse ano tivemos treinamentos e demonstrações do pessoal do banco de dados MarkLogic na empresa. Eu desconhecida completamente. Se pesquisarem por aí verão que tem constado cada vez mais como uma das top soluções orientadas a documentos, e de fato as possibilidades da ferramenta são excelentes. Mas é pago…

itexto