Fraquezas com diferentes tipos de bancos de dados NoSQL

10

Aqui está minha pergunta: Quais são os pontos fracos dos diferentes tipos de bancos de dados NoSQL? Especificamente, quais são os pontos fracos das lojas de valores-chave, lojas de dados gráficos e lojas de documentos?

Foi fácil encontrar forças, mas os documentos sobre fraquezas parecem mais escassos.

Editar: em comparação entre si e com bancos de dados relacionais.

Aedilum
fonte

Respostas:

7

A maior força / fraqueza de qualquer armazenamento de dados distribuídos vem do teorema da CAP. Consulte http://blog.nahurst.com/visual-guide-to-nosql-systems para obter um rápido resumo do que isso significa na prática para um grande número de sistemas NoSQL existentes.

btilly
fonte
11
Observe que essa não é realmente uma desvantagem específica do NOSQL. O teorema do CAP se aplica igualmente a qualquer armazenamento de dados de distribuição: SQL, NOSQL, relacional ou não relacional.
Nvogel
6

Se você os estiver comparando com bancos de dados relacionais, a fraqueza óbvia é que os armazenamentos de valores-chave não são relacionais. Consequentemente, pode ser mais difícil escrever relatórios usando armazenamentos de valores-chave do que usando um banco de dados relacional, para o qual esses relatórios e extração de dados são projetados especificamente.

Robert Harvey
fonte
Tudo bem, e os outros dois? Pelo que sei, os bancos de dados de gráficos são sobre relações, por exemplo.
Aedilum
11
@Aedilum: Minha experiência é principalmente com bancos de dados relacionais, mas suspeito que os armazenamentos de valores-chave, os armazenamentos de dados gráficos e os armazenamentos de documentos resolvam problemas específicos. De um modo geral, cada um será forte no domínio do problema para o qual foi especificamente projetado e mais fraco nos outros domínios.
Robert Harvey
2

Isso é muito subjetivo, o que você acha que pode ser uma fraqueza, alguém pode pensar que é sua maior força.

Todos os bancos de dados NoSQL atualmente populares estão tratando de problemas nos quais os sistemas RDBMS existentes eram fracos e geralmente são altamente especializados em um problema específico que o autor teve e estava tentando resolver.

Portanto, qualquer ponto fraco de qualquer produto é sua incapacidade de fazer o que você precisa de maneira eficiente no tempo ou no espaço.


fonte
De fato, uma das coisas que aprendi sobre o NoSQL é que elas são feitas para resolver problemas que o RDBMS tem dificuldade em obter, como grandes quantidades de operações em prazos curtos ou relações complexas.
Aedilum
1

Começarei observando que amo bancos de dados NoSQL e estou no processo de abandonar nossos bancos de dados e aplicativos baseados em SQL onde isso faz sentido. Esse processo trouxe à tona uma grande fraqueza - a história operacional ainda não está lá. O que quero dizer com isso é:

  • O NoSQL ainda é um alvo em movimento rápido. Você precisa estar bem familiarizado com ele para saber o que mudou entre as versões. De uma perspectiva operacional, isso cria algumas dificuldades - os administradores de sistemas são usados ​​para material razoavelmente documentado com as melhores práticas. Quando as melhores práticas não foram definidas, fica um pouco assustador para elas.
  • Muito, muito poucas pessoas por aí estão familiarizadas com a operação além da comunidade de desenvolvimento. Isso torna um desafio quando você deseja entregar o produto para as operações e terminar com ele.
  • Os melhores tipos de operações tendem a ser capazes de lidar com SQL leve e, pelo menos, reconhecê-lo. Json ou o que o seu nosql fala é uma curva de aprendizado.
  • Reputação é algo complicado - a perda de dados é muito assustadora para os tipos de operações. Eles acreditam que os bancos de dados SQL sobreviverão ao holocausto nuclear. NoSQL será um pouco de um trabalho de vendas lá.

Outras coisas complicadas às vezes são os relatórios - muitas ferramentas da terra do usuário podem se conectar diretamente aos bancos de dados sql, o NoSQL ainda exige que um desenvolvedor cruze essa ponte.

Wyatt Barnett
fonte
Então, em suma ... Não existem pontos fracos reais em geral que não estejam relacionados à infância dos produtos NoSQL?
Aedilum
@ Aedilum: Essa infância é uma advertência bastante grande.
Robert Harvey
@ Robert Harvey: exatamente, a infância gera muitos problemas. @ Aedilum: como gênero, não há uma fraqueza horrível, presumindo que você esteja fazendo coisas com seu banco de dados NoSQL que façam sentido e que você tenha as habilidades necessárias para gerenciá-lo, incluindo a instalação de sua própria solução na escuridão da noite, quando a produção está diminuindo porque não há manual nem suporte pago. Faz sentido?
Wyatt Barnett