Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何决定使用哪种NoSQL技术?_Mongodb_Neo4j_Hbase_Graph Databases_Nosql - Fatal编程技术网

Mongodb 如何决定使用哪种NoSQL技术?

Mongodb 如何决定使用哪种NoSQL技术?,mongodb,neo4j,hbase,graph-databases,nosql,Mongodb,Neo4j,Hbase,Graph Databases,Nosql,MongoDB(基于文档)、HBase(基于列)和Neo4j(对象图)的优缺点是什么 我特别有兴趣了解每一个的一些典型用例 可能有什么幻灯片或Scribd值得介绍的吗?关于MongoDB和NoRM的文章(MongoDB的网络扩展) 我知道这似乎是一个奇怪的地方,但Heroku最近对他们的noSQL产品非常着迷,并且对当前的许多项目都有一个不错的概述。这绝非幻灯片制作,但它将帮助您开始比较过程: MongoDB 可伸缩性:高可用性和一致性,但在关系和许多分布式写入方面表现不佳。它的主要好处是存储

MongoDB(基于文档)、HBase(基于列)和Neo4j(对象图)的优缺点是什么

我特别有兴趣了解每一个的一些典型用例


可能有什么幻灯片或Scribd值得介绍的吗?

关于MongoDB和NoRM的文章(MongoDB的网络扩展)

我知道这似乎是一个奇怪的地方,但Heroku最近对他们的noSQL产品非常着迷,并且对当前的许多项目都有一个不错的概述。这绝非幻灯片制作,但它将帮助您开始比较过程:


MongoDB

可伸缩性:高可用性和一致性,但在关系和许多分布式写入方面表现不佳。它的主要好处是存储和索引无模式的文档。文档大小限制为4mb,索引只在深度有限的情况下才有意义。看

最适合:深度有限的树结构

用例:不同类型的层次结构、生物系统学、图书馆目录

Neo4j

可扩展性:高可用性,但不是分布式的。强大的遍历框架,用于节点空间的高速遍历。仅限于数十亿个节点/关系的图形。看

最适合:具有无限深度和循环加权连接的深图

用例:社交网络、拓扑分析、语义网数据、推理

HBase

可扩展性:PB级及以上的可靠、一致的存储。支持具有有限稀疏属性集的大量对象。与Hadoop协同工作,用于大型数据处理作业

最适合:有向无环图


用例:日志分析、语义Web数据、机器学习

检查此选项,以便对NoSQL数据库进行一目了然的比较:


您还可以将多模型数据库管理系统评估为第二代NoSQL产品。使用多模型时,在选择一个模型,而不是多个模型时,您不会有所有的折衷


第一个多模型NoSQL是。

MongoDB:

MongoDB是文档数据库,不同于关系数据库。文档存储半结构化数据,如JSON对象(无模式)

主要功能:

  • 模式可以随着应用程序的发展而变化
  • 完全索引
  • 负载平衡和数据分片
  • 数据复制
  • CAP理论中的一致性和分区(一致性可用性分区)
  • 何时使用:

  • 实时分析
  • 高速测井
  • 半结构化数据管理
  • 不使用时:

  • 具有强酸性属性(原子性、一致性、隔离性和持久性)的高度事务性应用程序。在这个用例中,RDBMS是首选的
  • 在涉及关系的数据集上操作-外键等
  • HBASE:

    HBase是一个开源、非关系型、分布式列族数据库

    主要功能:

  • 它提供了一种容错方式,存储大量稀疏数据(在大量空数据或不重要数据集合中捕获的少量信息,例如在一组20亿条记录中查找最大的50项,或查找代表不到庞大集合0.1%的非零项)
  • 支持每行不同的变量架构
  • 可以作为MapReduce作业的输入和输出
  • 压缩、内存操作和每列上的Bloom过滤器(一种数据结构,旨在快速、高效地告诉您集合中是否存在元素) 5.在CAP上实现CP
  • 何时使用HBase:

  • 如果按键加载数据、按键(或范围)搜索数据、按键提供数据、按键查询数据
  • 按不符合模式的行存储数据(变量模式)
  • 不使用HBase时:

  • 用于关系分析
  • 全表扫描
  • 要聚合的数据,按行而不是按列进行分析
  • Neo4j:

    Neo4j是使用属性图数据模型的图形数据库(数据存储为图形和节点以及与属性的关系)

    主要功能:

  • 支持全酸(原子性、一致性、隔离性和耐久性)规则
  • 使用ApacheLucence支持索引
  • 无模式、自底向上的数据模型设计
  • 由于可用于图形的紧凑存储和内存缓存,实现了高可扩展性
  • 何时使用:

  • 主数据管理
  • 网络和IT运营
  • 实时推荐
  • 欺诈检测
  • 社交网络(如facebook)
  • 不使用时:

  • 批量查询/扫描
  • 如果您的应用程序需要对数据进行分区和分片
  • 在本文中,我们来比较一下各种NoSQL技术

    资料来源:


    Wiki,,,

    首先你需要知道你将拥有什么样的数据。HBase如何适用于非循环图?这不是一个像Neo4J这样的图形数据库,你会怎么说呢?这个答案是过时的。对于一个保持最新的伟大比较,请查看Eddie Wong的荣誉,他在下面的回答中指出了这一点。这实际上是一个与新产品保持最新的伟大资源。很遗憾,我不能再次推翻这个答案。