以最常使用的Hadoop为例:
Hadoop是Apache公司开发的一个开源框架,它允许在整个集群使用简单编程模型计算机的分布式环境存储并处理大数据。
集群是指,2台或2台以上服务器构建节点,提供数据服务。单台服务器,无法处理海量的大数据。服务器越多,集群的威力越大。
Hadoop类似于一个数据生态圈,不同的模块各司其职。
Hadoop的LOGO是一只灵活的大象。关于LOGO的来源,网上众说纷纭,有人说,是因为大象象征庞然大物,指代大数据,Hadoop让大数据变得灵活。而官方盖章,LOGO来源于创始人DougCutting的孩子曾为一个大象玩具取名hadoop。
Hadoop的核心是HDFS,YARN和MapReduce,下面和大家讲一讲,几个主要模块的含义和功能。
1、HDFS(分布式文件存储系统)
数据以块的形式,分布在集群的不同节点。在使用HDFS时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需像使用本地文件系统一样管理和存储文件系统中的数据。
2、MapReduce(分布式计算框架)
分布式计算框架将复杂的数据集分发给不同的节点去操作,每个节点会周期性的返回它所完成的工作和最新的状态。大家可以结合下图理解MapReduce原理:
26d2000037034e122ddf.jpg
计算机要对输入的单词进行计数:
如果采用集中式计算方式,我们要先算出一个单词如Deer出现了多少次,再算另一个单词出现了多少次,直到所有单词统计完毕,将浪费大量的时间和资源。
如果采用分布式计算方式,计算将变得高效。我们将数据随机分配给三个节点,由节点去分别统计各自处理的数据中单词出现的次数,再将相同的单词进行聚合,输出最后的结果。
3、YARN(资源调度器)
相当于电脑的任务管理器,对资源进行管理和调度。
4、HBASE(分布式数据库)
HBase是非关系型数据库(Nosql),在某些业务场景下,数据存储查询在Hbase的使用效率更高。
关于关系型数据库和菲关系型数据库的区别