想学习开源的nosql数据库,并想学习其原理与实现,不知道从哪个数据库着手比较好呢

从最热门的入手:RedisHBase构建自己环境,看下基础文档和入门的书。
■网友
这个题目有点大,nosql数据库分门别类,各有各的优缺点,请结合自己项目的具体特征慎重抉择,这样才有的放矢,否则学而无用,事倍功半。下面结合我工作用到的产品大概说明一下:1:redis,缓存类的产品,代码质量很好,适合学习数据结构和算法,c开发的。2:mongodb,比较适合初学者,学习nosql的思想,比较一下和传统产品的不同之处,c++开发的。2:hbase,对应着google的bigtable的开源实现,目前影响最大的的nosql产品,除了microsoft,google有自己更nb、适合自己的产品,大部分公司都是深度定制,facebook,baidu,阿里等等,小米的很多核心服务都建立在它的基础之上,因为小米有一只不错的运维团队。特点是易用使用,难于运维。java开发的,个人觉得架构设计不错,bug不少。3:Cassandra,对应的是amazon的DynamoDB,CAP的取舍与hbase稍有不同,功能强大而复杂。4:neo4j,关系型的nosql产品,复杂关系模型设计中比较好的选择。其他的产品就不赘述了,个人经历、精力有限,就只涉猎到这么多,我个人10多年的开发经验来看,这些产品中,redis的代码少而精,可以学到很多好东西,但涉及到nosql思想的不多;其他产品的源码都不太值得花太多的精力,除非你希望以后的职业生涯致力于某一产品的运维和深度定制。至于设计思想和文档,可以学习一下DynamoDB、Bigtable的设计文档,很有启发。这些好的产品都有一个明显的特定:易于使用,难于运维。
■网友
看你想学什么了。分布式存储?内存网格?
■网友
redis,配合《Redis 设计与实现》看看源码,然后自己改改客户端跑一跑逻辑
■网友
aerospike,分布式nosql数据库,所有组件自己来,看起来爽歪歪~


    推荐阅读