MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

NoSQL - MongoDB vs CouchDB


Veja os links a seguir

Atualizar :Achei ótima comparação de NoSQL bancos de dados.

MongoDB (3.2)
  • Escrito em:C++
  • Ponto principal:armazenamento de documentos JSON
  • Licença:AGPL (Drivers:Apache)
  • Protocolo:personalizado, binário (BSON)
  • Replicação mestre/escravo (failover automático com conjuntos de réplicas)
  • Fragmentação integrada
  • Consultas são expressões javascript
  • Executar funções javascript arbitrárias no lado do servidor
  • Tem indexação e consultas geoespaciais
  • Vários mecanismos de armazenamento com diferentes características de desempenho
  • Desempenho sobre os recursos
  • Validação do documento
  • Diário
  • Estrutura de agregação poderosa
  • Em sistemas de 32 bits, limitado a ~2,5 Gb
  • Pesquisa de texto integrada
  • GridFS para armazenar big data + metadados (não realmente um FS)
  • Conhece o data center

Melhor usado :Se você precisar de consultas dinâmicas. Se você preferir definir índices, não funções de mapeamento/redução. Se você precisa de um bom desempenho em um grande banco de dados. Se você queria o CouchDB, mas seus dados mudam muito, enchendo os discos.

Por exemplo :Para a maioria das coisas que você faria com MySQL ou PostgreSQL, mas ter colunas predefinidas realmente o impede.

CouchDB (1.2)
  • Escrito em:Erlang
  • Ponto principal:consistência do banco de dados, facilidade de uso
  • Licença:Apache
  • Protocolo:HTTP/REST
  • Replicação bidirecional (!),
  • contínuo ou ad hoc,
  • com detecção de conflito,
  • assim, replicação mestre-mestre. (!)
  • MVCC - operações de gravação não bloqueiam leituras
  • Versões anteriores de documentos estão disponíveis
  • Design somente para falhas (confiável)
  • Precisa de compactação de tempos em tempos
  • Visualizações:mapa/redução incorporado
  • Formatação de visualizações:listas e programas
  • Validação de documentos do lado do servidor possível
  • Autenticação possível
  • Atualizações em tempo real por meio de '_changes' (!)
  • Manuseio de anexos

Melhor usado :para acumular, ocasionalmente alterar dados, nos quais as consultas predefinidas devem ser executadas. Lugares onde o controle de versão é importante.

Por exemplo :CRM, sistemas CMS. A replicação mestre-mestre é um recurso especialmente interessante, permitindo implantações fáceis em vários locais.