「大数据」02大数据技术体系

从数据在信息系统中的生命周期看,大数据从数据源开始,经过分析、挖掘到最终环节获得价值一般需要经过6个主要环节:数据收集、数据存储、资源管理与服务协调、计算引擎、数据分析和数据可视化。技术体系如图:

大数据技术体系

(1)数据收集层(ETL,即提取、转换、加载)

    数据收集层由直接跟数据源对接的模块构成,负责将数据源中的数据近实时或实时收集到一起。数据源具有的特点:

①分布式:分布在不同机器或设备上,通过网络连接在一起。

②异构性:产生源头多样,比如Web服务器、数据库、传感器等。

③多样化:数据格式多样。

④流式产生:任意环节都会产生。

所以适用于大数据领域的收集系统,一般具备以下特点:

①扩展性:灵活连接不同数据源。

②可靠性:数据在传输过程中不能丢失或容忍少量丢失。

③安全性:保证收集敏感数据不产生安全隐患。

④低延迟:数据产生后在较低延迟前提下传输到存储系统中。

(2)数据存储层

    数据存储层主要负责海量结构化与非结构化数据的存储。适用于大数据领域的存储系统,一般具备以下特点:

①扩展性:随着数据量的增加,存储系统必须具备非常好的线性扩展内存能力。

②容错性:机器出现故障时系统数据不丢失。

③存储模型:由于数据具有多样性,存储系统应支持多种数据模型,确保各类数据可以保存。

(3)资源管理与服务协调层

    相较于“一种应用一个集群”的模式,应用轻量级弹性资源管理平台的好处:

①资源利用率高:如果每个应用一个集群,往往会由于应用程序数量和资源需求的不均衡,造成集群资源的短时间紧缺或浪费。共享集群模式通过各种应用共享资源,使得集群中的资源得到充分利用。

②运营成本低。

③数据共享:跨集群间的数据移动不仅需要花费时间,还增加了硬件成本。而共享集群模式可以让多种应用共享数据和硬件资源,大大减少了数据移动带来的成本。

    而在构建分布式大数据系统时,会面临很多共同的问题,包括leader选举、服务命名、分布式队列、分布式锁、发布订阅功能等,为了避免重复开发这些功能,通常会构建一个统一的服务协调组件,包含了开发分布式系统过程中通用的功能。

(4)计算引擎层

    按照对时间性能的要求,可将计算引擎分为三类:

计算引擎分类(按照对时间性能的要求)

①批处理:对时间要求最低,追求的是高吞吐量,即单位时间内处理的数据量尽可能大。

②交互式处理:对时间要求较高,需要跟人进行交互,会提供类SQL的语言便于用户使用。

③实时处理:对时间要求最高,注重时效性。

(5)数据分析层

    数据分析层直接跟用户应用程序对接,为其提供易用的数据处理工具。计算引擎提供的工具包括应用程序API、类SQL查询语言、数据挖掘SDK等。

    数据分析层典型的模式:首先使用批处理框架对原始海量数据进行分析,产生较小规模的数据集,在此基础上,再使用交互式处理工具对该数据集进行快速查询,获取最终结果。

(6)数据可视化层

    数据可视化技术指的是运用计算机图形学和图像处理技术,将数据转换为图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。


文章内容整理于:董西成《大数据技术体系详解:原理、架构与实践》

你可能感兴趣的:(「大数据」02大数据技术体系)