2.4 大数据技术的架构
在理解了大数据的特征后,就很容易简化地来理解大数据技术的核心,即大数据的总体架构包括三层:数据存储、数据处理和数据分析。类型复杂和海量由数据存储层解决,快速和时效性要求由数据处理层解决,价值由数据分析层解决。
数据先要通过存储层存储下来,然后根据数据需求和目标来建立相应的数据模型和数据分析指标体系,以对数据进行分析产生价值,而中间的时效性又通过中间数据处理层提供的强大的并行计算和分布式计算能力来完成。三层相互配合,让大数据最终产生价值。
1.数据存储层
数据有很多分法,有结构化、半结构化和非结构化;也有元数据、主数据和业务数据;还可以分为GIS、视频、文件、语音、业务交易类各种数据。传统的结构化数据库已经无法满足数据多样性的存储要求,因此在RDBMS基础上增加了两种类型:一种是HDFS可以直接应用于非结构化文件存储;一种是NoSQL类数据库,可以应用于结构化和半结构化数据存储。
从存储层的搭建来说,关系型数据库,NoSQL数据库和HDFS分布式文件系统三种存储方式都需要。业务应用根据实际的情况选择不同的存储模式,但是为了业务的存储和读取方便性,我们可以对存储层进一步地封装,形成一个统一的共享存储服务层,简化这种操作。从用户来讲并不关心底层存储细节,只关心数据的存储和读取的方便性,通过共享数据存储层可以实现在存储上的应用和存储基础设置的彻底解耦。
2.数据处理层
数据处理层核心解决问题在于数据存储出现分布式后带来的数据处理上的复杂度,海量存储后带来了数据处理上的时效性要求,这些都是数据处理层要解决的问题。
在传统的云相关技术架构上,可以将Hive, Pig和Hadoop-MapReduce框架相关的技术内容全部划入到数据处理层的能力上。原来思考的是将Hive划入到数据分析层能力上不合适,因为Hive重点还是在真正处理下的复杂查询的拆分及查询结果的重新聚合上,而MapReduce本身又实现真正的分布式处理能力。
MapReduce只是实现了一个分布式计算的框架和逻辑,而真正的分析需求的拆分,分析结果的汇总和合并还是需要Hive层的能力整合。最终的目的很简单,即支持分布式架构下的时效性要求。
3.数据分析层
最后回到数据分析层,分析层重点是真正挖掘大数据的价值所在,而价值的挖掘核心又在于数据分析和挖掘。那么数据分析层核心仍然在于传统的BI分析的内容,其包括数据的维度分析、数据的切片、数据的上钻和下钻、Cube等。
谈了这么多,核心还是想说明大数据两大核心为云技术和BI,离开云技术,大数据就没有根基和落地的可能;离开BI和价值,大数据又变为舍本逐末,丢弃关键目标。简单总结:大数据目标驱动是BI,大数据实施落地是云技术。
大数据的本质就是利用计算机集群来处理大批量的数据,大数据的技术关注点在于如何将数据分发给不同的计算机进行存储和处理。
云计算的本质就是将计算能力作为一种较小颗粒度的服务提供给用户,按需使用和付费,体现了以下几个特点。
(1)经济性。经济性是指不需要购买整个服务器。
(2)快捷性。快捷性是指即刻使用,不需要长时间的购买和安装部署。
(3)弹性。弹性是指随着业务增长可以购买更多的计算资源,可以需要时购买几十台服务器的1个小时时间,运算完成即可释放。
(4)自动化。自动化是指不需要通过人来完成资源的分配和部署,通过API可以自动创建云主机等服务。
云计算的技术关注点是如何在一套软硬件环境中,为不同的用户提供服务,使得不同的用户彼此不可见,并进行资源隔离,保障每个用户的服务质量。