Cassandra和CouchDB有什么区别?

我正在看这两个项目,我真的看不出有什么不同

来自Cassandra网站:

Cassandra是一个高度可扩展的,最终一致的,分布式的,结构化的键值存储… Cassandra最终是一致的。 像BigTable一样,Cassandra提供了比典型的键/值系统更丰富的基于ColumnFamily的数据模型。

来自CouchDB网站:

Apache CouchDB是一个分布式,容错和无模式的面向文档的数据库,可通过RESTful HTTP / JSON API进行访问。

也就是说,我看到每个项目之间的具体差异是:访问方法,书面语言等等,但是要举个例子,当你谈论SOLR或狮身人面像时,你们都知道这两者是分歧很大的索引者,但最后是索引者。

我可以在这里说Cassandra和CouchDB是非关系数据库,在某些情况下可以replace其他的数据库吗?

CouchDB是一个文档存储。 你把文件(JSON对象),并在其中定义视图(索引)。 对象可以是任意复杂的,可能具有深度结构。 而且,它们不受限于遵循一些一致的模式。

Cassandra是一个破旧的桌面键值存储。 它只是存储行,每行都有一组命名列组合到具有值的族中。 这听起来非常接近BigTable。 BigTable并不要求每一行具有相同的结构(与SQL数据库不同)。 值可能有一些结构,但这种types的存储不知道任何有关的 – 他们只是string/字节序列。

是的,它们都是非关系数据库,并且在适用性上可能有相当多的重叠,但它们确实有明显不同的数据组织模型。 每个模型都可能被迫模仿其他模型,但是每个模型都会最好地映射到一组不同的问题。

CouchDB具有极less数开源数据库技术中的function:脱机复制。 CouchDB的devise使应用程序可以在networking边缘运行。 即使互联网连接失败,这些应用程序也可用。

脱机复制也可以用来构build大型集群,但是CouchDB的devise是健壮而简单的,无论是在单个服务器,数据中心还是智能手机上运行。