我对NoSQL数据库系统没有经验,但是如果我必须选择一个最知名的(MongoDb,Cassandra,CouchDb,Redis),有人可以描述相关的主要功能/每一个人的差异?有什么我应该知道的关于它们的功能,可能会影响我选择的NoSQL系统>最着名的NoSQL系统之间的主要区别/功能
回答
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数据库以及如何查询每个数据库的很好介绍。我强烈建议你阅读他关于我上面提到的数据库类型的文章,它们非常有指导意义!
我最近在做这方面的一些研究。我可以发布一些链接..
不错的categorization NoSQL DBs。
Comparing的MongoDB和CouchDB的
的MongoDB,CouchDB的和RavenDB Part1 的MongoDB,CouchDB的和RavenDB比较比较Part2
我被RavenDB非常深刻的印象。它也支持交易和触发器,但许可证并不那么友好。
一些arguments为什么RavenDB从Ayende(RavenDB的创建者)
除了其他环节,来看看在Survey of Distributed Databases以及本如果需要什么看看其他NoSQL数据库的特点,他们如何回应 - [MongoDB和Foursquare - What If?]。
最后,[NoSQLSummer]有很多很好的论文来描述各种各样的产品和每个产品的理论基础。
- 1. NoSQL系统中的方面功能
- 2. ToolBar和CollapsingToolBar之间的主要区别
- 3. PHP和Servlet之间的主要区别
- 4. IIS6和IIS7之间的主要区别
- 5. Ruby和C之间的主要区别
- 6. wx.lib.sheet和wx.Grid之间的主要区别
- 7. 系统分区和系统分区中的priv-app之间的区别
- 8. 功能类型之间的区别
- 9. 功能参数之间的区别
- 10. 系统时间和存储时间之间的区别
- 11. Python:time.time()与time.clock()之间的显着区别?
- 12. 系统verilog中的结构和联合之间的区别
- 13. 主机名和完全限定域名(FQDN)之间的区别
- 14. Linux操作系统和移动操作系统之间的根本区别(android)
- 15. 命令,函数和系统调用之间的区别
- 16. EC2系统管理器和OpsWork之间的区别
- 17. 验收测试与系统测试之间的区别?
- 18. Qt QMainWindow用户关闭和系统中止之间的区别
- 19. 嵌入式系统内部,内联,外部之间的区别?
- 20. java中的Array和Hashmap之间的主要区别是什么?
- 21. Jest Mock功能和Sinon间谍之间的区别是什么
- 22. 中间层与coreos的主要区别
- 23. 查找与关系之间的区别
- 24. 'view'和'base'关系之间的区别
- 25. 主要区别
- 26. fwrite和write之间的主要区别是什么?
- 27. Rails 1.X和2.X之间的主要区别是什么
- 28. Ruby 1.8.6和1.9.1之间的主要区别是什么?
- 29. Dictionary和Hashtable之间的主要区别是什么
- 30. 框架和工具包之间的主要区别是什么?