1.5 大数据关键技术
当人们谈到大数据时,往往并非仅指数据本身,而是数据和大数据技术这二者的综合。所谓大数据技术,是指伴随着大数据的采集、存储、分析和应用的相关技术,是一系列使用非传统的工具来对大量的结构化、半结构化和非结构化数据进行处理,从而获得分析和预测结果的一系列数据处理和分析技术。
讨论大数据技术时,需要首先了解大数据的基本处理流程,主要包括数据采集、存储、分析和结果呈现等环节。数据无处不在,互联网网站、政务系统、零售系统、办公系统、自动化生产系统、监控摄像头、传感器等,每时每刻都在不断产生数据。这些分散在各处的数据,需要采用相应的设备或软件进行采集。采集到的数据通常无法直接用于后续的数据分析,因为对于来源众多、类型多样的数据而言,数据缺失和语义模糊等问题是不可避免的,因而必须采取相应措施有效解决这些问题,这就需要一个被称为“数据预处理”的过程,把数据变成一个可用的状态。数据经过预处理以后,会被存放到文件系统或数据库系统中进行存储与管理,然后采用数据挖掘工具对数据进行处理分析,最后采用可视化工具为用户呈现结果。在整个数据处理过程中,还必须注意隐私保护和数据安全问题。
因此,从数据分析全流程的角度,大数据技术主要包括数据采集与预处理、数据存储和管理、数据处理与分析、数据安全和隐私保护等几个层面的内容,具体见表1-5。
表1-5 大数据技术的不同层面及其功能
需要指出的是,大数据技术是许多技术的一个集合体,这些技术也并非全部都是新生事物,诸如关系数据库、数据仓库、数据采集、ETL、OLAP、数据挖掘、数据隐私和安全、数据可视化等技术是已经发展多年的技术,在大数据时代得到不断补充、完善、提高后又有了新的升华,也可以视为大数据技术的一个组成部分。对于这些技术,除了数据可视化技术以外,我们将不做介绍,本书重点阐述近些年新发展起来的大数据核心技术,包括分布式并行编程、分布式文件系统、分布式数据库、NoSQL数据库、云数据库、流计算、图计算等。