所有的超值商店中都有明显的赢家吗?Cassandra,MongoDB,CouchDB?他们都遵循一些中央指导方针吗?或者他们在定义API时都有自己的发言权.
我问的是这个问题,尤其是从一个刚接触键值商店的RDBMS技术人员的角度来看.我们应该遵循哪一个来最好地掌握这个领域的理解/用法?
我们从他们的理论中了解RDMS,所有可用的数据库(Oracle,SQL Server,...)都将拥有所有工件,例如表,索引,外键等.这些工具的唯一区别在于效率,安全性和功能.
我如何知道这些以文档为中心的数据库的普遍理论,并知道所有这些数据库(Mongo,Couch等)将具有的最小工件是什么?
我在MongoDB上工作,所以我有偏见,但我认为这是你习惯使用RDBMS(如动态查询和二级索引)以及键值存储的性能和可伸缩性的很好的组合.
Cassandra有一个很好的分布式模型,但是afaik不支持二级索引.Mongo和Couch支持的文档数据模型也比Cassandra使用的表格模型复杂一点.
Mongo和Couch之间的一个重大区别是查询的构建方式.Couch使用很酷的map/reduce机制,但您的查询必须事先定义.Mongo使用更传统的动态查询模型,它更像是您在RDBMS中使用的模型.