我正在看两个项目,我真的看不出差异
Cassandra是一个高度可扩展,最终一致,分布式,结构化的键值存储...... Cassandra最终是一致的.与BigTable一样,Cassandra提供了比典型的键/值系统更丰富的基于ColumnFamily的数据模型.
Apache CouchDB是一个分布式,容错且无架构的面向文档的数据库,可通过RESTful HTTP/JSON API访问.
也就是说,我看到每个项目之间的具体差异如下:访问方法,书面语言等等,但是当你谈到SOLR或Sphinx时,你知道两者都是差异很大的索引器,但最后是索引器.
我可以在这里说Cassandra和CouchDB是非关系数据库,在某些情况下可以替换另一个吗?
CouchDB是一个文档存储.您将文档(JSON对象)放入其中并在其上定义视图(索引).对象可以是任意复杂的,具有潜在的深层结构.此外,它们不限于遵循一些一致的模式.
Cassandra是一家衣衫褴褛的钥匙价值商店.它只存储行,每个行都有一组命名列,这些列分组到具有值的族中.这听起来非常接近BigTable; BigTable不要求每一行具有相同的结构(与SQL数据库不同).这些值可能有一些结构,但这种存储对此没有任何了解 - 它们只是字符串/字节序列.
是的,它们都是非关系数据库,并且它们的适用性可能存在相当大的重叠,但它们确实具有截然不同的数据组织模型.每个模型都可能被强制模仿另一个模型,但每个模型最好映射到一组不同的问题.
CouchDB在很少的开源数据库技术中具有一些功能:离线复制.CouchDB的设计使应用程序可以在网络边缘运行.即使互联网连接失败,这些应用程序也可用.
还可以利用离线复制来构建大型集群,但无论是在单个服务器,数据中心还是智能手机上运行,CouchDB都可以提供强大而简单的功能.