Mongodb 非关系数据库,哪一个是正确的选择

Mongodb 非关系数据库,哪一个是正确的选择,mongodb,couchdb,cassandra,redis,non-relational-database,Mongodb,Couchdb,Cassandra,Redis,Non Relational Database,我应该选择哪个非关系型数据库(我知道这是一个主观的问题,需要考虑系统的需求) 我读了这篇文章,但还是不能决定 如果有经验的人在做出这个决定的时候考虑一下要点,这将是非常好的。 每种类型的数据库在某些方面都非常优秀,在某些方面都无法与其他数据库相抗衡。很难说哪一个是所有领域中最好的。。。否则,就没有其他存在的理由 我有时觉得选择是基于个人的感受,哪一种更接近程序员的思维方式 如果您指定了哪些是您的需求和场景,那么可以做出更好的回答 例如,MongoDB和Redis是互补的,它们解决不同的问题,可以

我应该选择哪个非关系型数据库(我知道这是一个主观的问题,需要考虑系统的需求)

我读了这篇文章,但还是不能决定


如果有经验的人在做出这个决定的时候考虑一下要点,这将是非常好的。 每种类型的数据库在某些方面都非常优秀,在某些方面都无法与其他数据库相抗衡。很难说哪一个是所有领域中最好的。。。否则,就没有其他存在的理由

我有时觉得选择是基于个人的感受,哪一种更接近程序员的思维方式

如果您指定了哪些是您的需求和场景,那么可以做出更好的回答


例如,MongoDB和Redis是互补的,它们解决不同的问题,可以(并且)一起使用以最大限度地提高性能。没有人能在可伸缩性方面打败cassandra,但它在模式中没有那么灵活。CouchDB有一个很好的内部“应用程序逻辑”,但你必须改变主意,学会使用json。

我想指出的是,那篇文章中关于MongoDB的几点已经过时了。副本集优先于主/从复制。副本集在节点因某种原因发生故障时提供自动故障切换。1.8提供日志记录,无需在碰撞后运行全面修复。MongoDB还提供map/reduce(文章似乎暗示它不提供)。我知道“非关系型数据库”在今天是一种常见的口语,但它完全用错了词。数据是完全相关的。如果它确实是非关系的,那么它就不能包含键值对。我认为这是一个更“正确”的术语,即NoSchema数据库。为了说明这一点:Google App Engine,ext.db,通常被称为“非关系”数据库,允许引用属性。。。这是关系;)只是没有计划。