1.1 大数据概述
当今随着云计算、物联网及移动互联网等技术的迅速发展,每年新增数据量呈现爆炸式增长态势。据统计,平均每秒都有200万用户在使用谷歌搜索,Facebook用户每天共享的信息超过40亿条,Twitter每天处理的推特数量超过3.4亿条,等等。除此之外,在科学计算、医疗卫生、金融、零售业等各个行业,每天都有大量数据源源不断地产生,越来越多的人们开始意识到我们已经进入大数据时代。
大数据并不仅仅是“大量的数据”。在学术界,它代表了一种新的科学研究方法,图灵奖获得者Jim Gray提出了科学研究的第四范式——数据探索(data exploration),即以大数据为基础的数据密集型科学研究。而在IT产业界,大数据技术已发展成为涵盖分布式存储与管理、分布式与并行计算框架以及机器学习与人工智能处理等技术的一个庞大技术体系。其应用遍及电子商务、交通、医疗、金融等领域,已成为继云计算之后信息技术领域的另一个产业增长点。正如云计算推动了计算资源与存储资源的汇集一样,大数据技术正在加速推动数据资源的汇集。通过对海量数据的聚合分析,人们可以提取、凝聚其中蕴含的信息与知识,从而创造巨大价值。目前大数据与云计算、人工智能一起被公认为是从IT(信息技术)时代向DT(数据技术)时代跃迁的三大产业支柱。
1.1.1 大数据来源
根据维基百科的定义,大数据是指规模大且复杂,以至于很难用现有数据库管理工具或数据处理应用来处理的数据集。它涵盖了数据采集、存储、分析、使用等各个方面,包括预测分析、用户行为分析及其他先进的数据分析方法在内的,从大量数据中提取有价值信息的处理方法。根据来源对象的不同,可以将其分为源自人、机、物等几类的大数据[1]。若根据应用领域划分,则以下几个是典型的大数据来源:
(1)互联网大数据。随着社交网络的成熟、传统互联网到移动互联网的转变以及移动宽带带宽的大幅提升,越来越多的网民将个人日常生活产生的数据接入网络,由此产生的数据量比以往任何时候都多。例如目前Google每月处理的数据超过400PB,YouTube每天上传7万小时视频,淘宝单日交易数据量超过50TB,Facebook每天上传3亿张照片并生成300TB日志,新浪每分钟发出数万条微博,等等。人们在使用互联网以及移动互联网过程中产生了大量数据,包括文字、图片、视频等信息。来自互联网的数据流量随着网民数量的增加以及移动设备的普及而急剧上升。
(2)物联网大数据。由于当前物联网技术的快速发展以及在智能工业、智能农业、智能交通、智能电网、安全监控等行业的广泛应用,各种类型的传感器被广泛部署。不同的传感器可以实现对温度、湿度、压强、加速度、光强、距离等不同物理信号的采集,时时刻刻都在产生大量数据。而交通、安防等领域所部署的摄像设备产生的数字信号被源源不断地采集、记录,也是大数据的重要来源之一。
(3)生物医学大数据。人体本身就是无穷无尽的生物医学大数据的重要来源。随着人们认知的深入,现代医学可以从更高的精度观察、记录人体各器官的运行。生物医学大数据涉及临床医疗、公共卫生、医药研发等多个领域,类型非常广泛,包括电子病历、医学影像、临床实验数据、个人健康监测数据、基因组序列等。
此外,电信大数据、金融大数据、智慧城市大数据、交通大数据、科学研究大数据等也都是大数据的重要来源。
需要指出的是,虽然大数据来源越来越多样化,但其中有相当大的比例与人直接相关。有些是人们主动发布的,例如微博、照片等;有些是无意中被采集的,例如监控影像等;有些是网络活动痕迹;有些是原生数字信号;有些是由模拟化数据转化而成的数字信号;等等。不管怎样,这些原始的“微数据”(microdata)都是人们在现实世界活动的真实记录,一旦被关联组织起来就可以释放巨大潜力,真正实现“明察秋毫”。
1.1.2 大数据应用
大数据被比喻为待开采的“金矿”,其用途是多样化的。目前大数据技术已经被广泛应用于电子商务、金融、智能医疗、智能交通等领域,各种新型应用模式层出不穷。例如:
• 在互联网大数据分析方面。电子商务平台通过对用户网络购物数据的分析来构建用户画像,可以更准确地掌握用户购物倾向,向其推荐可能感兴趣的产品,实现精准营销;而社交网络信息,如twitter等,被广泛用于股票预测、比赛结果预测、餐馆热度分析甚至总统选举预测等,也被研究者用于识别社团,发现用户的政治倾向、消费习惯以及喜好的球队[2],[3]。
• 在交通大数据分析方面。交通管理部门可以对数据按时间切片分析,构建实时热点分布图,进行景区热力预警分析;还可以基于历史数据分析,对交通拥堵状况进行建模预测,合理规划共享出行资源分布;而商业机构还可以进一步通过对用户习惯的不断学习,为用户提供个性化的导航及绕行建议服务等。
• 在医疗健康大数据分析方面。通过对大量电子病历的学习,医学研究机构可以更清晰地发现疾病演变规律,并作出更科学、准确的诊断;而卫生管理部门可以通过疾病分布情况分析,更合理地分配医疗资源,通过将影像学、基因组学等不同模式的数据加以集成,可以获得对病变单元更为立体全面的认知;此外,通过对病人健康数据的持续观察,还可以为其提供更为个性化的医疗服务。
1.1.3 大数据技术框架
大数据技术涉及数据的采集与预处理、数据分析与解释等。图1-1给出了其相关技术架构示意图。
图1-1 大数据技术架构示意图
1. 数据采集与预处理
数据采集与预处理(data acquisition&preparation)是大数据应用的基础。首先需要从数据源采集数据并进行预处理操作。大数据的数据源种类繁多,数据类型多样,包括数据库、文本、图片、视频、网页等各类结构化、非结构化及半结构化数据。数据采集(数据)与预处理操作为后继流程提供统一的高质量的数据集。
通常还需进行数据清洗处理。由于大数据的来源不一,可能存在多种描述模式,不同描述之间甚至存在矛盾。因此,在数据集成过程中对数据进行清洗,以消除相似、重复或不一致数据是非常必要的。文献[4-6]针对大数据的特点,提出了非结构化或半结构化数据的清洗以及超大规模数据的集成技术。
数据存储与大数据应用密切相关。某些实时性要求较高的应用,如状态监控,更适合采用流处理模式,直接在清洗和集成后的数据源上进行分析。而大多数其他应用则需要存储数据,以支持后继更深入的数据分析流程。为了提高数据吞吐量,降低存储成本,通常采用分布式架构来存储大数据。这方面有代表性的研究包括文件系统GFS[7]、HDFS[8]、Haystack[9]等以及NoSQL数据库MongoDB、CouchDB、HBase、Redis、Neo4j等。
2. 数据分析
数据分析(data analytics)是大数据应用的核心流程。根据不同的分析层次大致可分为计算架构、查询与索引以及数据分析与处理3类。
在计算架构方面,MapReduce[10]是当前广泛采用的大数据集计算模型和框架。为了适应一些对任务完成时间要求较高的分析需求,文献[11]对其性能进行了优化;文献[12]提出了一种基于MapReduce架构的数据流分析解决方案MARISSA,使其能够支持实时分析任务;文献[13]提出了基于时间的大数据分析方案Mastiff;文献[14]针对广告推送等实时性要求较高的应用,提出了基于MapReduce的TiMR框架来进行实时流处理。
在查询与索引方面,由于大数据中包含了大量的非结构化或半结构化数据,传统关系型数据库的查询和索引技术受到限制,而NoSQL类数据库技术得到更多关注。例如,文献[15]提出了一个混合的数据访问架构HyDB以及一种并发数据查询及优化方法,文献[16]对key-value(键-值)类型数据库的查询进行了性能优化。
在数据分析与处理方面,主要涉及的技术包括语义分析与数据挖掘等。由于大数据环境下数据呈现多样化特点,所以对数据进行语义分析时,由于难以统一术语而影响对信息的挖掘。文献[17]针对大数据环境提出了一种解决术语变异问题的高效术语标准化方法,文献[18]对语义分析中语义本体的异质性进行了研究。传统数据挖掘技术主要针对结构化数据,因此迫切需要对非结构化或半结构化的数据挖掘技术进行研究。文献[19]提出了一种针对图片文件的挖掘技术,文献[20]提出了一种大规模TEXT文件的检索和挖掘技术。
3. 数据解释
数据解释(data interpretation)旨在更好地支持用户对数据分析结果的使用,涉及的主要技术有可视化技术和人机交互技术。
目前已经有了一些针对大规模数据的可视化研究[21],[22],通过数据投影、维度降解或显示墙等方法来解决大规模数据的显示问题。由于人类的视觉敏感度限制了更大屏幕显示的有效性,以人为中心的人机交互设计也将是解决大数据分析结果展示的一种重要技术。
4. 数据传输、虚拟集群等其他支撑技术
虽然大数据应用强调以数据为中心,将计算推送到数据上执行,但是在整个处理过程中,数据传输(data transmission)仍然是必不可少的,例如一些科学观测数据从观测点向数据中心的传输等。文献[23,24]针对大数据特征研究了高效传输架构和协议。
此外,由于虚拟集群(virtual cluster)具有成本低、搭建灵活、便于管理等优点,在大数据分析时可以选择更加方便的虚拟集群来完成各项处理任务,因此,需要针对大数据应用展开虚拟机集群优化研究[25]。