MongoDB ou SQL?

Vejo alguns cursos/artigos/vídeos usando o MongoDB e outros usando SQL.

Eu sei que depende, mas quais são os pontos fortes e fracos entre escolher o MongoDB ou SQL para um projeto Golang?

Boa tarde Euclides

Não sei sobre os pontos fortes ou fracos e vou ficar de olho no tópico para poder acompanhar as respostas do amigos que possuem mais conhecimento e podem falar melhor sobre isto.

No meu caso, optei por usar o MongoDB para poder aprender mais sobre ele.

=]

1 Like

Tudo depende da sua necessidade, como você mesmo mencionou, no geral bancos relacionais são mais usados do que os não relacionais (NoSQL) que é o utilizado pelo MongoDB.

Existem vários pontos fracos e fortes, alguns que acho mais importantes:

SQL
Vantagens: Consistência de dados, facilidade nas buscas entre relacionamentos.
Desvantagens: É mais custoso de escalar, é um pouco mais rígido a modificação das tabelas.

NoSQL
Vantagens: Melhor desempenho, pois os dados são salvos como chave e valor, mais fácil de escalar, tem um esquema das tabelas mais flexíveis.
Desvantagens: Trabalhar com relacionamentos é bem mais complicado, não possui a mesma consistência nos dados comparado a um banco SQL.

Esses são os pontos que eu acho mais importantes, mas como tudo “depende”. Se relacionamentos não são tão importantes, o NoSQL vai te atender muito bem.

1 Like

acho genuína sua pergunta, o @wiliamvj comentou alguns pontos acima

porem recomendaria olhar para outros aspectos não só pontos fortes e fracos

  1. qual problema de “negocio” você precisa resolver?
    Geralmente desenvolvemos software para resolver um problema, entendendo o problema a escolha de tecnologia ficará mais simples, com isso terá conhecimento para responder algumas perguntas:
  • volume de escrito
  • volume de leitura
  • tipos de consultas e filtros
  • relatório
  • … muitas outras
  1. conhecimento do time
    o que o time conhece, dependendo do tamanho do projeto e/ou da empresa, não será necessariamente usada a melhor tecnologia para resolver o problema e sim o que o time conhece e já colocou em produção
    como gestor prefiro usar o que o time tem conhecimento e com o passar do tempo vamos evoluindo para chegar na melhor tecnologia (se for necessário)
2 Likes