5

在所有键值存储中是否有明显的赢家?Cassandra、MongoDB、CouchDB?他们都遵循一些中央指导方针吗?或者他们在定义 API 时都有自己的发言权。

我在问这个问题,尤其是从刚接触键值存储的 RDBMS 技术人员的角度来看。我们应该遵循哪一个来最好地掌握对该领域的理解/使用?

我们从他们的理论中了解到 RDMS,即所有可用的 DB(Oracle、SQL Server 等)都将具有所有工件,例如表、索引、外键等。唯一的区别是效率、安全性和特性。

我如何知道这些以文档为中心的数据库的普遍理论,并知道所有这些数据库(Mongo、Couch 等)将拥有的最小工件是什么?

4

1 回答 1

8

我在 MongoDB 上工作,所以我对此有偏见,但我认为这是您习惯使用 RDBMS(如动态查询和二级索引)以及键值存储的性能和可扩展性的一个很好的组合.

Cassandra 有一个很好的分布式模型,但 afaik 不支持二级索引。Mongo 和 Couch 支持的文档数据模型也允许比 Cassandra 使用的表格模型更复杂一些。

Mongo 和 Couch 之间的一大区别是查询的构造方式。Couch 使用了很酷的 map/reduce 机制,但您的查询必须提前定义。Mongo 使用更传统的动态查询模型,它更像您在 RDBMS 中所习惯的。

于 2009-10-01T13:37:14.373 回答