1.2 大数据技术生态圈

更新于 2026年10月10日 版权声明
1.2 大数据技术生态圈

图1⁃4是一个大数据项目设计的完整技术架构图。可见,要完成一个大数据项目开发,就需要大数据领域中各种技术的支撑。人们把这些为大数据项目开发提供稳定、安全、可靠的完整解决方案的技术统称为大数据技术生态圈。

如图1⁃4所示,由下而上可以将大数据技术分为大数据采集技术(“采”)、大数据存储技术(“存”)、大数据计算分析技术(“析”)、大数据可视化技术(“视”)四大技术板块。

1)数据采集

数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并将其输入系统内部的一个接口。在互联网行业快速发展的今天,数据采集被广泛应用于互联网及分布式领域,比如摄像头、麦克风,都是数据采集工具。

图示

图1⁃4 大数据技术框架

大数据时代,数据的类型是复杂多样的,包括结构化数据、半结构化数据、非结构化数据。结构化数据最常见,是具有模型的数据。非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等。大数据采集,是大数据分析的入口,是大数据应用基础且重要的一个环节。

常用的数据采集方法归结为三类:传感器、日志文件和网络爬虫。

(1)传感器

传感器通常用于测量物理变量,一般包括声音、温湿度、距离、电流等,将测量值转化为数字信号,传送到数据采集点,让物体有了触觉、味觉和嗅觉等感官,让物体慢慢活了起来。

(2)日志文件

日志文件数据一般由数据源系统产生,用于记录数据源执行的各种操作活动,比如网络监控的流量管理、金融应用的股票记账和Web服务器记录的用户访问行为。

很多互联网企业都有自己的海量数据采集工具,多用于系统日志采集,如Hadoop的Chukwa、Cloudera的Flume、Facebook的Scribe等,这些工具均采用分布式架构,能满足每秒数百兆字节的日志、文件数据采集和传输需求。

(3)网络爬虫

网络爬虫是指为搜索引擎下载并存储网页的程序,它是搜索引擎和Web缓存的主要的数据采集方式。通过网络爬虫或网站公开API等方式从网站上获取数据信息。该方法可以将非结构化数据从网页中抽取出来,将其存储为统一的本地数据文件,并以结构化的方式存储。它支持图片、音频、视频等文件或附件的采集,附件与正文可以自动关联。

此外,对于企业生产经营上的客户数据、财务数据等保密性要求较高的数据,可以通过与数据技术服务商合作,使用特定系统接口等相关方式采集数据。比如八度云计算的数企BDSaaS,无论是数据采集技术、BI数据分析,还是数据的安全性和保密性,都做得很好。

数据的采集是挖掘数据价值的第一步,当数据量越来越大时,可提取出来的有用数据必然也就更多。只要善用数据化处理平台,便能够保证数据分析结果的有效性,助力企业实现数据驱动。

2)数据存储

数据存储,就是存储数据采集阶段所获得的各种类型的数据。大数据的存储方式主要有分布式系统、NoSQL数据库、云数据库。

(1)分布式系统(https://www.daowen.com)

分布式系统包含多个自主的数据存储单元,通过计算机网络互联协作完成分配的存储任务,主要包含分布式文件系统和分布式键值系统两类。

分布式文件系统是一个高度容错性系统,被设计成适用于批量处理、能够提供高吞吐量的数据访问。

分布式键值系统,用于存储关系简单的半结构化数据。Amazon Dynamo是典型的分布式键值系统,获得广泛应用和关注的对象存储技术(Object Storage)也可以视为键值系统,其存储和管理的是对象而不是数据块。

(2)NoSQL数据库

NoSQL(Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网Web 2.0网站的兴起,传统的关系数据库在应对Web 2.0网站,特别是超大规模和高并发的SNS(Social Networking Services,社交网络服务)类型的Web 2.0纯动态网站时已显得力不从心,暴露出很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了应对大规模数据集合、多重数据种类带来的挑战,尤其是大数据应用难题,如超大规模数据的存储。

NoSQL数据库的优势:可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web 2.0应用,具有强大的横向扩展能力等。典型的NoSQL数据库包含以下几种:键值数据库、列族数据库、文档数据库和图形数据库。

(3)云数据库

云数据库是基于云计算技术发展的一种共享基础架构的方法,是部署和虚拟化在云计算环境中的数据库。云数据库并非一种全新的数据库技术,而只是以服务的方式提供数据库功能。云数据库所采用的数据模型可以是关系数据库所使用的关系模型(微软的SQLAzure云数据库就采用了关系模型)。同一个公司也可能采用不同数据模型的多种云数据库服务。

3)数据计算分析

传统的并行计算方法,主要从体系结构和编程语言的层面定义了一些较为底层的并行计算抽象和模型,但由于大数据处理问题具有很多高层的数据特征和计算特征,因此大数据计算分析需要更多地结合这些高层特征,考虑更为高层的计算模式。

所谓大数据计算模式,即根据大数据的不同数据特征和计算特征,从多样性的大数据计算问题和需求中提炼并建立的各种高层抽象(Abstraction)或模型(Model)。例如,MapReduce是一个并行计算抽象、加利福尼亚大学伯克利分校著名的Spark系统中的“分布内存抽象RDD(Ressillient Distributed Datasets,弹性分布式数据集)”、CMU著名的图计算系统GraphLab中的“图并行抽象”(Graph Parallel Abstraction)等。

根据大数据处理多样性的需求和以上不同的特征维度,出现了多种典型和重要的大数据计算模式。与这些计算模式相适应,出现了很多对应的大数据计算系统和工具。由于单纯描述计算模式比较抽象和空洞,因此在描述不同计算模式时,将同时给出相应的典型计算系统和工具(表1⁃1),这将有助于对计算模式的理解以及对技术发展现状的把握,并进一步有利于在实际大数据处理应用中对合适的计算技术和系统工具进行选择使用。

表1⁃1 大数据计算模式及其对应的典型系统和工具

图示

4)数据可视化

在大数据分析的应用过程中,可视化通过交互式视觉表现的方式来帮助人们探索和理解复杂的数据。可视化与可视分析能够迅速和有效地简化与提炼数据流,帮助用户交互筛选大量的数据,有助于使用者更快更好地从复杂数据中得到新的发现,成为用户了解复杂数据、开展深入分析不可或缺的手段。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)