NoSQL和Hadoop之间的关系是什么?

  • 回答 (9)
  • 关注 (1)
  • 查看 (818)

NoSQL和Hadoop之间的关系是什么?HDFS和MapReduce有又什么关系?

chenasxzchenasxz修改于
狼人老沙回答于

Hadoop是一个处理和存储巨大数据集的框架。Hadoop主要由俩部分组成:处理单元和存储单元。而MapReduce就是Hadoop的一个编程模型,主要用于处理存储在Hadoop框架中的大量数据。在完全分布式或伪分布式群集中安装Hadoop时,MapReduce主要是作为服务使用,可以在其中编写并行程序进行分布式执行数据计算。MapReduce有两个独立的进程 :

  1. Mapper阶段:将原始文件作为输入,并将需要的输出键和输出值分开。
  2. Reducer阶段 :将根据密钥对数据进行分组,然后汇总所有输出密钥和输出值。

Reducer然后将输出发送到HDFS,即Hadoop分布式文件系统。

NoSQL是非结构化数据库,和常见的数据库不同的是,它没有按照数据库范式的约定进行设计,正是这个特性,带来了强大的灵活操作性。另外NoSQL比起常规数据库来要快得多,非常适合进行大数据处理。这个特性正是大数据技术所需要的。但NoSQL技术尚未成熟,不过前景发展个人很看好。

而HDFS是一个分布式文件系统,具有以下特性:

  1. HDFS针对大文件的流式访问进行了优化。HDFS会把一个整体的大数据集分成分布式的小数据单元。比如100G的数据分别在HDFS上存储100 MB左右的文件,然后通过上面提到的MapReduce进行批处理。
  2. HDFS文件视为一次写入和多次读取文件。没有随机写入的概念。
  3. HDFS不会进行随机读取。

在这里在补充一下,HBase和Hive。

HBase是一个将数据存储在分布式文件系统中的数据库。HBase和HDFS之间是紧密集成的。HBase提供以下:

  1. 低延迟访问大型数据集内的少量数据。
  2. 使用数据模型并使用行键对数据进行索引。
  3. 快速扫描表。
  4. 根据写入和总数据量进行扩展。

Hive是Hadoop中的数据仓库应用程序

  1. 一种类似于SQL的语言(称为HQL),主要用于创建map-reduce和Tez作业的应用程序
  2. 相等的,PIG和HIve一样是位于Hadoops上的查询语言。两种语言都可以在Hadoop框架上运行,但有所差异,可通过互联网搜索到。
坏蛋为你我手码我心回答于

NoSQL只是Hadoop下的一项技术,Hadoop包含以下内容

  • MapReduce是处理分布在多个机器或节点上的数据的引擎
  • HDFS是分布式文件系统。用外行人的话来说,你可以说是将多台计算机连接在网络上,他们的存储设备(硬盘)合并为一个存储器或者说一个硬盘。

因此,理论上HDFS可以存储你可以想象到的数据大小。比如,如果你需要更多存储空间和数据处理能力,可以通过添加更多节点或硬盘来扩展硬盘空间。而MapReduce可以处理分布在许多计算机中硬盘内的大量数据。

HDFS和MapReduce是底层技术,开发人员可以开发可处理大量数据的应用程序。除此架构之外,还有很多更高级别的应用程序,例如Hive,用户可以通过它们将SQL语句提供给Hadoop,并且作为响应,Hadoop生成一系列MapReduce操作来处理存储在HDFS中的数据。Hive只是一个例子,还有其他应用程序,如PIG,FLUME,HBASE。HBASE是NoSQL数据库,是位于Hadoop系统之上的应用程序之一。

御姐万岁回答于

Hadoop只是一个框架,一组处理数据的技术。NoSQL是一个数据库......它们相互独立的。MapReduce是处理引擎,HDFS是分布式文件系统。

幽梦之灵回答于
书生小兰前端工程师回答于

NoSQL,是not only sql的意思,翻译过来就是非关系数据库, hadoop,是分布式解决框架。HDFS和MapReduce不清楚

杨龙飞回答于

hadoop是一个实体,NoSQL是一种技术。HDFS是存东西用的,MapReduce是计算用的

行列回答于
成都加米谷大数据回答于

简单来说,NoSQL数据库,是与传统的关系型数据库相对应的一个说法,因为在大数据到来之后,数据特征发生了很大的变化,从传统的结构化数据为主,转变为了半结构化数据、非结构化数据占主要,所以相对应地,对数据存储管理也提出了新的需求,于是NoSQL就迎合市场需求出现了。

NoSQL数据库还有不同的分类——键值、面向文档、列存储以及图数据库等。

键值数据库代表产品:Riak、Redis、Memcached、Amazon’s Dynamo、Project Voldemort

文档数据库代表产品:MongoDB、CouchDB、RavenDB

列存储数据库代表产品:Cassandra、HBase

图数据库代表产品:Neo4J、Infinite Graph、OrientDB

而Hadoop,是指第一代的大数据计算框架,围绕Hadoop开源体系,企业可以以低成本的方式搭建起数据系统平台,而在大数据系统平台当中,数据库选型,需要根据需求来规划,也就涉及到NoSQL数据库方面。

死者是小智回答于

扫码关注云+社区

领取腾讯云代金券