如何决定使用哪种 NoSQL 技术? [英] How to decide which NoSQL technology to use?
问题描述
MongoDB(基于文档)、HBase(基于列)和 Neo4j(对象图)的优缺点是什么?
What is the pros and cons of MongoDB (document-based), HBase (column-based) and Neo4j (objects graph)?
我特别想知道每个用例的一些典型用例.
I'm particularly interested to know some of the typical use cases for each one.
也许有任何值得展示的 Slideshare 或 Scribd?
Maybe any Slideshare or Scribd worthy presentation?
推荐答案
MongoDB
可扩展性: 高度可用且一致,但在关系和许多分布式写入方面很糟糕.它的主要好处是存储和索引无模式文档.文档大小上限为 4mb,索引仅对有限的深度有意义.请参阅 http://www.paperplanes.de/2010/2/25/notes_on_mongodb.html
Scalability: Highly available and consistent but sucks at relations and many distributed writes. It's primary benefit is storing and indexing schemaless documents. Document size is capped at 4mb and indexing only makes sense for limited depth. See http://www.paperplanes.de/2010/2/25/notes_on_mongodb.html
最适合:深度有限的树结构
用例:不同类型的层次结构、生物系统学、图书馆目录
Use Cases: Diverse Type Hierarchies, Biological Systematics, Library Catalogs
Neo4j
可扩展性: 高度可用但不是分布式的.强大的遍历框架,用于节点空间的高速遍历.仅限于围绕数十亿个节点/关系的图形.请参阅 http://highscalability.com/neo4j-graph-database-kicks-buttox
Scalability: Highly available but not distributed. Powerful traversal framework for high-speed traversals in the node space. Limited to graphs around several billion nodes/relationships. See http://highscalability.com/neo4j-graph-database-kicks-buttox
最适合:具有无限深度和循环加权连接的深度图
Best suited for: Deep graphs with unlimited depth and cyclical, weighted connections
用例:社交网络、拓扑分析、语义网络数据、推理
Use Cases: Social Networks, Topological analysis, Semantic Web Data, Inferencing
HBase
可扩展性: PB 级及以上的可靠、一致的存储.支持具有有限稀疏属性集的大量对象.与 Hadoop 协同工作,用于大型数据处理作业.http://www.ibm.com/developerworks/opensource/library/os-hbase/index.html
Scalability: Reliable, consistent storage in the petabytes and beyond. Supports very large numbers of objects with a limited set of sparse attributes. Works in tandem with Hadoop for large data processing jobs. http://www.ibm.com/developerworks/opensource/library/os-hbase/index.html
最适合:有向无环图
用例:日志分析、语义网络数据、机器学习
Use Cases: Log analysis, Semantic Web Data, Machine Learning
这篇关于如何决定使用哪种 NoSQL 技术?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!