2010-11-21 59 views
4

我对NoSQL数据库系统没有经验,但是如果我必须选择一个最知名的(MongoDb,Cassandra,CouchDb,Redis),有人可以描述相关的主要功能/每一个人的差异?有什么我应该知道的关于它们的功能,可能会影响我选择的NoSQL系统>最着名的NoSQL系统之间的主要区别/功能

回答

1

Redis是一个键值存储。您通常可以在单个键下插入基元值(int,string,bool)或基元数组。数据检索通常仅限于按键查询。这些是最基本的NoSQL数据库。

卡珊德拉是一家专栏店。它与键值存储类似,但支持将键值对嵌套深达四级。查询仅限于通过键和map-reduce函数进行查询。这种类型的数据库有一个相当困难的数据模型(does 'supercolumn' ring any bells?),并且非常专用于大量的数据。

MongoDB和CouchDB都是文档数据库。它们都存储JSON文档,这些文档不受模式限制,为您提供了很大的灵活性。数据库允许您查询这些文档的内容,与其他类型的NoSQL数据库相比,这使得检索数据变得非常容易。还支持Map-Reduce功能。

Martin Fabik的答案包含一些比较MongoDB和CouchDB的好链接。

Ayende有一系列博客帖子,分别为That No SQL Thing,它处理这些类型。这是对NoSQL概念,不同类型的NoSQL数据库以及如何查询每个数据库的很好介绍。我强烈建议你阅读他关于我上面提到的数据库类型的文章,它们非常有指导意义!

1

我最近在做这方面的一些研究。我可以发布一些链接..

不错的categorization NoSQL DBs。

Comparing的MongoDB和CouchDB的

的MongoDB,CouchDB的和RavenDB Part1 的MongoDB,CouchDB的和RavenDB比较比较Part2

我被RavenDB非常深刻的印象。它也支持交易和触发器,但许可证并不那么友好。

一些arguments为什么RavenDB从Ayende(RavenDB的创建者)

0

除了其他环节,来看看在Survey of Distributed Databases以及本如果需要什么看看其他NoSQL数据库的特点,他们如何回应 - [MongoDB和Foursquare - What If?]。

最后,[NoSQLSummer]有很多很好的论文来描述各种各样的产品和每个产品的理论基础。