MongoDB(基于文档)、HBase(基于列)和 Neo4j(对象图)的优缺点是什么?
我特别有兴趣了解每个案例的一些典型用例。
也许任何 Slideshare 或 Scribd 值得演示?
MongoDB(基于文档)、HBase(基于列)和 Neo4j(对象图)的优缺点是什么?
我特别有兴趣了解每个案例的一些典型用例。
也许任何 Slideshare 或 Scribd 值得演示?
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 数据、机器学习
签出此 NoSQL dbs 的一目了然比较:
我知道这似乎是一个奇怪的地方,但是,Heroku 最近对他们的 noSQL 产品发疯了,并且对许多当前项目有一个很好的概述。它绝不是 Slideshare 新闻,但它会帮助您开始比较过程:
您还可以评估多模型DBMS,作为第二代 NoSQL 产品。使用多模型,您不会只选择一种模型,而是选择一种以上的模型。
第一个多模型 NoSQL 是OrientDB。
MongoDB:
MongoDB是与关系数据库不同的文档数据库。该文档存储半结构化数据,如 JSON 对象(无模式)
主要特征:
何时使用:
何时不使用:
HBASE:
HBase 是一个开源的、非关系的、分布式的列族数据库
主要特征:
何时使用 HBase:
何时不使用 HBase:
Neo4j:
Neo4j 是使用属性图数据模型的图数据库(数据存储为图和节点以及与属性的关系)
主要特征:
何时使用:
何时不使用:
资料来源:
关于 MongoDB 和 NoRM(MongoDB 的 .net 扩展)的相当不错的文章 http://lukencode.com/2010/07/09/getting-started-with-mongodb-and-norm/