O que você mais gosta CouchDB?
Prós do CouchDB são:-
CouchDB permite a replicação de si mesmo facilmente, o que leva ao compartilhamento de dados entre diferentes dispositivos.
CouchDB permite uma estrutura de dados flexível, o que significa que qualquer tipo de dado pode ser armazenado junto.
CouchDB usa API HTTP para comunicação fácil entre banco de dados.
ReduceMap permite otimizar a combinação de dados.
Gerenciamento de banco de dados orientado a documentos! Isso por si só já vale a pena: ser capaz de descrever seu registro em um documento JSON e, em seguida, indexá-lo é ENORME.
Você pode armazenar o MESMO documento em várias instâncias de banco de dados, e devido ao mecanismo do CouchDB, isso não é um problema.
RÁPIDO: Acessar JSON é programaticamente fácil de analisar, e portanto facilita a escolha.
Pode replicar e sincronizar com navegadores da web via PouchDB. Isso permite manter uma cópia sincronizada do seu banco de dados no lado do cliente, o que oferece acesso a dados muito mais rápido do que as solicitações HTTP contínuas permitiriam, e possibilita o uso offline.
Suporte simples a Map/Reduce. O sistema M/R permite processar terabytes de documentos em paralelo, salvar os resultados e só precisar reprocessar documentos que mudaram em atualizações subsequentes. Embora não seja tão poderoso quanto o Hadoop, é um sistema de consulta fácil de usar e difícil de errar.
Suporte a Sharding e Clustering. A partir do CouchDB 2.0, ele suporta clustering e sharding de documentos entre instâncias sem precisar de um balanceador de carga para determinar para onde as solicitações devem ir.
Replicação Master to Master permite clonar, fazer backup contínuo e ouvir mudanças através do protocolo de replicação, mesmo em links WAN não confiáveis. Análise coletada por e hospedada no G2.com.
O que você não gosta CouchDB?
Contras do CouchDB são:-
CouchDB ocupa espaço extra para overhead, o que é uma grande desvantagem em comparação com outros bancos de dados.
Criar consultas aleatórias, que não têm nenhuma visão, é caro.
Sem busca de texto completo embutida
Embora existam maneiras: couchdb-lucene, elasticsearch
mais algumas:
Não suporta transações
Isso significa que impor a exclusividade de um campo em todos os documentos não é seguro, por exemplo, garantir que um nome de usuário seja único. Outra consequência da incapacidade do CouchDB de suportar a noção típica de uma transação é que coisas como incrementar/decrementar um valor e salvá-lo de volta também são perigosas. Não há muitos casos em que gostaríamos de simplesmente incrementar/decrementar algum valor onde não pudéssemos apenas armazenar os documentos individuais separadamente e agregá-los com uma visão.
Dados relacionais
Se os dados fizerem muito sentido estar na 3ª forma normal, e tentarmos seguir essa forma no CouchDB, vamos enfrentar muitos problemas. Uma maneira possível de resolver esse problema é com colações de visão, mas podemos estar constantemente lutando com o sistema. Se os dados puderem ser reformatados para serem muito mais desnormalizados, então o CouchDB funcionará bem.
Armazém de dados
O problema com isso é que visões temporárias no CouchDB em grandes conjuntos de dados são realmente lentas. Usar CouchDB e visões permanentes pode funcionar muito bem. No entanto, na maioria dos casos, um banco de dados orientado a colunas de algum tipo é uma ferramenta muito melhor para o trabalho de armazém de dados. Análise coletada por e hospedada no G2.com.