Qual é a diferença entre Cassandra e CouchDB?

Estou a olhar para ambos os projectos e não consigo ver a diferença.

Do Site Da Cassandra:

A Cassandra é uma loja de valores chave altamente escalável, eventualmente consistente, distribuída e estruturada...Cassandra é eventualmente consistente. Como BigTable, Cassandra fornece um modelo de dados baseado na família Column mais rico do que os sistemas chave/valor típicos.

Do Site CouchDB:

Apache CouchDB é uma distribuição, tolerante a falhas e livre de esquemas base de dados orientada a documentos acessível através de uma API HTTP/JSON repousante.

Dito isto, vejo as diferenças específicas entre cada projecto como: métodos de acesso, línguas escritas, etc. mas para dar um exemplo, quando você fala sobre SOLR ou Sphinx Você sabe que ambos são indexadores com grandes diferenças, mas no final são indexadores.

Posso dizer aqui que a Cassandra e o CouchDB são bases de dados não relacionais que, em alguns casos, podem substituir as outras?

Author: jgritty, 2009-07-09

3 answers

O CouchDB é uma loja de documentos. Você coloca documentos (objetos JSON) nele e define vistas (índices) sobre eles. Os objetos podem ser arbitrariamente complexos com estrutura potencialmente profunda. Além disso, eles não são obrigados a seguir algum esquema consistente.

A Cassandra é uma loja de valores-chave de mesa esfarrapada. Ele apenas armazena linhas, cada uma das quais tem um conjunto de colunas nome agrupadas em famílias com valores. Ele soa muito perto de BigTable; BigTable não requer que cada linha para ter a mesma estrutura (ao contrário de uma base de dados SQL). Os valores podem ter alguma estrutura, mas este tipo de loja não sabe nada sobre isso -- eles são apenas sequências de cordas/bytes. Sim, ambos são bases de dados não relacionais, e provavelmente há uma certa sobreposição na sua aplicabilidade, mas eles têm modelos de organização de dados distintamente diferentes. Cada um pode provavelmente ser forçado a emular o outro, mas cada modelo irá mapear melhor para um conjunto diferente de problemas.
 68
Author: Michael Ekstrand, 2009-07-11 14:57:03

O CouchDB tem um recurso presente em muito poucas tecnologias de base de dados open source: replicação offline. CouchDB é projetado para que as aplicações possam ser executadas na borda da rede. Estas aplicações estão disponíveis mesmo quando a conectividade à internet falha.

A replicação Offline também pode ser aproveitada para construir grandes aglomerados, mas o CouchDB é projetado para ser robusto e simples, quer esteja rodando em um único servidor, um datacenter, ou até mesmo um smartphone.

 31
Author: Chris Anderson, 2009-09-23 20:44:07
Uma boa discussão sobre o tema pode ser encontrada no Blog de Jonathan Ellis no [[2]} http://spyced.blogspot.com/2008/12/couchdb-not-drinking-kool-aid.html
 15
Author: TSL, 2009-07-24 20:17:25