MongoDB(基于文档),HBase(基于列)和Neo4j(对象图)的优缺点是什么?
我特别想知道每个用例的一些典型用例。
What are good examples of problems that graphs can solve better than the alternative?
也许任何Slideshare或Scribd值得演示?
答案 0 :(得分:48)
MongoDB
可扩展性:高度可用且一致,但在关系和许多分布式写入方面很糟糕。它的主要好处是存储和索引无模式文档。文档大小上限为4mb,索引仅对有限深度有意义。见http://www.paperplanes.de/2010/2/25/notes_on_mongodb.html
最适合:深度有限的树状结构
用例:多种类型层次结构,生物系统学,图书馆目录
<强> Neo4j的强>
可伸缩性:高度可用但未分发。强大的遍历框架,用于节点空间中的高速遍历。仅限于数十亿个节点/关系的图表。见http://highscalability.com/neo4j-graph-database-kicks-buttox
最适合:深度图表,无限深度和周期性加权连接
用例:社交网络,拓扑分析,语义Web数据,推理
<强> HBase的强>
可扩展性:可靠,一致的存储容量,只需数PB甚至更多。支持具有有限稀疏属性集的大量对象。与Hadoop协同工作,用于大型数据处理作业。 http://www.ibm.com/developerworks/opensource/library/os-hbase/index.html
最适合:定向,非循环图
用例:日志分析,语义Web数据,机器学习
答案 1 :(得分:4)
我知道这看起来似乎是一个奇怪的地方,但是,Heroku最近对他们的noSQL产品感到疯狂,并且很好地概述了许多当前的项目。它绝不是Slideshare印刷机,但它将帮助您开始比较过程:
答案 2 :(得分:4)
查看此内容,以便快速比较NoSQL dbs:
答案 3 :(得分:0)
您还可以评估多模型 DBMS,作为第二代NoSQL产品。使用多模型,您不必仅仅选择一个模型,而是选择多个模型。
第一个多模型NoSQL是OrientDB。
答案 4 :(得分:0)
<强> MongoDB的:强>
MongoDB是与Relational数据库不同的文档数据库。该文档存储半结构化数据,如JSON对象(无架构)
主要功能:
何时使用:
何时不使用:
<强> HBASE:强>
HBase是一个开源的非关系型分布式列族数据库
主要功能:
何时使用HBase:
何时不使用HBase:
<强>的Neo4j:强>
Neo4j是使用属性图数据模型的图数据库(数据存储为图形和节点以及与属性的关系)
主要功能:
何时使用:
何时不使用:
在这个article
中查看各种NoSQL技术的比较来源:
答案 5 :(得分:-1)
MongoDB上的相当不错的文章和NoRM(MongoDB的.net扩展) http://lukencode.com/2010/07/09/getting-started-with-mongodb-and-norm/