Executando verificação de segurança...
3

Basicamente é isto. Vou destacar:

Dados relacionais existem naturalmente na maioria dos domínios

Consistência importa

Muito mais domínios precisa de consistência

SQL melhorou

Sempre falo isso.

O que ficou de bom do NoSQL

Ou seja, não é o MongoDB

Adicionando meus 2 cents

(vou mandar mais 2 cents para o Oletros)

Vamos acertar um pouco a terminologia. Primeiro, apesar das pessoas usarem muito o termo NoSQL, isso não é um modelo de banco de dados. É uma guarda-chuva para vários modelos, o que por si só é estranho e pior ainda que alguns usam SQL. Mas mesmo não usando, n~çao ter SQL não é a característica que marca esses modelos, é a ausência de relacionamento, pelo menos no uso normal. Algo que mais ou menos eles têm em comum, e as pessoas não costuam falar sobre, é a ausência de consistência.

Então o NoSQL é muito usado onde não deve, e muitas vezes porque a pessoa não quer aprender SQL, o que é um erro de escolha, apesar de nem sempre fazer diferente. Boa parte da adoção de NoSQL é tão pouco importante que tanto faz se usar um banco de dados que usa SQL, possui relacionamento e não tem consistência (eventualmente pode dar um problema, mas passa batido, afinal para a maioria das pessoas basta funcionar, não ser o certo).

Em muitos casos poderia mudar o termo NoSQL para Documentos, porque é isso que está sendo comparado, e a esmagadora maioria da adoção errada é nesse modelo, em geral os outros modelos até costuma ser necessário. E isso se deve à divulgação muito bem feita sobre o MongoDB, o banco de ados que domina esse modelo. Noa parte dos casos onde pode usar MongoDb até o SQLite pode ser usado como banco de dados. Curiosamente o MongoDB existe para ser o oposto, é para ter uma necessidade que praticamente não tem casos. Alguns dos maiores sites do mundo usam bancos de dados relacionais como fonte primária ou até exclusiva.

MongoDB ainda tem muita utilidade em domínios específicos, em geral como satélite de um sistema maior, e em muitos casos que a adoção é marginal, mesmo não sendo o ideal não faz tanta diferença usar PostgreSQL, MariaDb, SQL Server, Oracle e até mesmo o SQLite dão conta do recado.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).

Carregando publicação patrocinada...
3
1

Boa adição sobre terminologia. 'NoSQL' sempre foi nome ruim porque agrupa coisas muito diferentes: documento, chave-valor, grafo, coluna. O que têm em comum de fato é ausência de relações e consistência, não ausência de SQL.

O ponto sobre MongoDB é cirúrgico. A adoção massiva foi em grande parte marketing bem feito na era do scale-everything, quando a maioria dos projetos nunca chegaria perto de precisar disso. E quem adotou para escapar do SQL continua sem saber SQL e agora tem queries esquisitas em cima de documentos aninhados.

Para domínios específicos faz sentido, concordo. Mas como banco principal de sistema com dados relacionais é escolha errada na maioria dos casos. O PostgreSQL resolve e ainda tem suporte a JSONB para os casos onde você realmente precisa de flexibilidade de schema.