我正在查看这两个项目,但我看不出有什么区别
来自 Cassandra 站点:
Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store...Cassandra is eventually consistent. Like BigTable, Cassandra provides a ColumnFamily-based data model richer than typical key/value systems.
来自 CouchDB 站点:
Apache CouchDB is a distributed, fault-tolerant and schema-free document-oriented database accessible via a RESTful HTTP/JSON API.
也就是说,我看到每个项目之间的具体差异为:访问方法、书面语言等,但举一个例子,当您谈论SOLR时或Sphinx您知道两者都是有很大差异的索引器,但最终都是索引器。
我可以在这里说 Cassandra 和 CouchDB 是非关系数据库,在某些情况下可以相互替代吗?
最佳答案
CouchDB 是一个文档存储。您将文档(JSON 对象)放入其中并在其中定义 View (索引)。这些对象可以是任意复杂的,具有潜在的深层结构。此外,它们不限于遵循某些一致的模式。
Cassandra 是一个不规则表键值存储。它只存储行,每行都有一组命名列,这些列被分组为具有值的族。听起来和 BigTable 很接近; BigTable 不要求每一行具有相同的结构(与 SQL 数据库不同)。这些值可能具有某种结构,但这种存储对此一无所知——它们只是字符串/字节序列。
是的,它们都是非关系数据库,并且它们的适用性可能有相当多的重叠,但它们确实具有明显不同的数据组织模型。每个模型都可能被迫模仿另一个模型,但每个模型都可以最好地解决一组不同的问题。
关于couchdb - Cassandra 和 CouchDB 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1104624/