我没有使用NoSQL数据库系统的经验,但如果我必须选择一个最著名的(MongoDb,Cassandra,CouchDb,Redis),有人能描述一下每一个的相关主要功能/区别吗?关于他们可能会影响NoSQL system I use>选择的功能,有什么我应该知道的吗
发布于 2010-11-24 23:23:47
Redis是一个键值存储。您通常可以在单个键下插入基元值(int、string、bool)或基元数组。数据的检索通常仅限于按键查询。这些是最基本的NoSQL数据库。
Cassandra是一个列系列商店。它类似于键值存储,但支持多达四层深的键值对的嵌套。查询仅限于按键查询和map-reduce函数。这种类型的数据库具有相当困难的数据模型(does 'supercolumn' ring any bells?),并且对于非常大量的数据高度专门化。
MongoDB和CouchDB都是文档数据库。它们都存储不受模式限制的JSON文档,为您提供了很大的灵活性。与其他类型的NoSQL数据库相比,该数据库允许您查询这些文档的内容,这使得检索数据非常容易。还支持Map-reduce函数。
Martin Fabik的答案包含一些比较MongoDB和CouchDB的很好的链接。
Ayende有一系列名为That No SQL Thing的博客文章,处理这些类型的每一种。它很好地介绍了NoSQL的概念、不同类型的NoSQL数据库以及如何对它们进行查询。我强烈建议你阅读他关于我上面提到的数据库类型的文章,它们非常有启发性!
发布于 2010-11-22 21:36:15
我最近做了一些关于这个话题的研究。我可以给你发一些链接..
NoSQL数据库的不错的categorization。
Comparing MongoDB和CouchDB
比较MongoDB、CouchDB和RavenDB Part1比较MongoDB、CouchDB和RavenDB Part2
RavenDB给我留下了深刻的印象。它还支持事务和触发器,但许可并不友好。
一些arguments为什么选择来自阿延德的RavenDB (RavenDB的创建者)
发布于 2010-11-24 21:18:48
除了其他链接之外,看看Survey of Distributed Databases以及这个what if,看看其他NoSQL数据库的特征以及它们如何响应- MongoDB和Foursquare - What If?
最后,NoSQLSummer有很多很好的论文,描述了各种产品以及每种产品的理论基础。
https://stackoverflow.com/questions/4237687
复制相似问题