MongoDB(基于文档)、HBase(基于列)和 Neo4j(对象图)的优缺点是什么?
我特别有兴趣了解每种应用的一些典型用例。
What are good examples of problems that graphs can solve better than the alternative?
也许任何 Slideshare 或 Scribd 值得演示?
最佳答案
MongoDB
可扩展性: 高度可用且一致,但在关系和许多分布式写入方面很糟糕。它的主要好处是存储和索引无模式文档。文档大小上限为 4mb,索引仅对有限的深度有意义。见 http://www.paperplanes.de/2010/2/25/notes_on_mongodb.html
最适合:深度有限的树结构
用例:不同类型层次结构、生物系统学、图书馆目录
Neo4j
可扩展性: 高度可用但不分布式。强大的遍历框架,用于节点空间中的高速遍历。仅限于数十亿个节点/关系的图表。见 http://highscalability.com/neo4j-graph-database-kicks-buttox
最适合:具有无限深度和周期性加权连接的深度图
用例:社交网络、拓扑分析、语义网数据、推理
HBase
可扩展性: PB 级及以上的可靠、一致的存储。支持具有一组有限稀疏属性的大量对象。与 Hadoop 协同工作以进行大型数据处理作业。 http://www.ibm.com/developerworks/opensource/library/os-hbase/index.html
最适合:有向无环图
用例:日志分析、语义网数据、机器学习
关于mongodb - 如何决定使用哪种 NoSQL 技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3735784/