2.1.3 大数据基本概念
1. 大数据的基本定义
大数据(Big Data)是指那些数据量特别大、数据类别特别复杂的数据集,这种数据集无法用传统的数据库进行存储、管理和处理。大数据的主要特点为数据量大(Volume),数据类别复杂(Variety),数据处理速度快(Velocity)和数据真实性高(Veracity),合起来被称为4V。
大数据中的数据量非常巨大,达到了PB级别。在这庞大的数据之中,不仅仅包括结构化数据(如数字、符号等),还包括非结构化数据(如文本、图像、声音、视频等)。这使得大数据的存储、管理和处理很难利用传统的关系型数据库去完成。在大数据之中,有价值的信息往往深藏其中。这就需要对大数据的处理速度非常快,才能在短时间之内从大量的复杂数据中获取有价值的信息。在大数据中,通常不仅仅包含真实的数据,一些虚假的数据也混杂其中。在大数据的处理中需要将虚假的数据剔除,利用真实的数据来分析。
2. 大数据分析
大数据,表面上看就是大量复杂的数据,这些数据本身的价值并不高,但是进行大数据分析(Big Data Analysis)处理后,却能从中提炼出很有价值的信息。对大数据的分析,主要分为五个方面:可视化分析(Analytic Visualization)、数据挖掘算法(Date Mining Algorithms)、预测性分析能力(Predictive Analytic Capabilities)、语义引擎(Semantic Engines)和数据质量管理(Data Quality Management)。
1)可视化分析
可视化分析是普通消费者常常可以见到的一种大数据分析结果的表现形式。例如,百度制作的“百度地图春节人口迁徙大数据”就是典范的案例之一。可视化分析将大量复杂的数据自动转化成直观形象的图表,使其能够更易被普通消费者接受和理解。
2)数据挖掘算法
数据挖掘算法是大数据分析的理论核心,其本质是一组根据算法事先定义好的数学公式,将收集到的数据作为参数变量带入其中,从而能够从大量复杂的数据中提取到有价值的信息。著名的“啤酒和尿布”的故事就是数据挖掘算法的经典案例。沃尔玛通过对啤酒和尿布购买数据的分析,挖掘出以前未知的两者间的联系,并利用这种联系,提升了商品的销量。亚马逊的推荐引擎和谷歌的广告系统都大量使用了数据挖掘算法。
3)预测性分析能力
预测性分析能力是大数据分析最重要的应用领域。从大量复杂的数据中挖掘出规律,建立起科学的事件模型,通过将新的数据带入模型,就可以预测未来的事件走向。预测性分析能力常常被应用在金融分析和科学研究领域,用于股票预测或气象预测等。
4)语义引擎
语义引擎是机器学习的成果之一。过去,计算机对用户输入内容的理解仅仅停留在字符阶段,不能很好地理解输入内容的意思,因此常常不能准确地了解用户的需求。通过对大量复杂的数据进行分析,让计算机从中自我学习,可以使计算机能够尽量精确地了解用户输入内容的意思,从而把握用户的需求,提供更好的用户体验。苹果的Siri和谷歌的Google Now都采用了语义引擎。
5)数据质量管理
数据质量管理是大数据在企业领域的重要应用。为了保证大数据分析结果的准确性,需要将大数据中不真实的数据剔除掉,保留最准确的数据。这就需要建立有效的数据质量管理系统,分析收集到的大量复杂的数据,挑选出真实有效的数据。
3. 分布式计算
对于如何处理大数据,计算机科学界有两大方向。第一个方向是集中式计算,就是通过不断增加处理器的数量来增强单个计算机的计算能力,从而提高处理数据的速度。第二个方向是分布式计算(Distributed Computing),就是把一组计算机通过网络相互连接组成分散系统,然后将需要处理的大量数据分散成多个部分,交由分散系统内的计算机组同时计算,最后将这些计算结果合并得到最终的结果。尽管分散系统内的单个计算机的计算能力不强,但是由于每个计算机只计算一部分数据,而且是多台计算机同时计算,因此就分散系统而言,处理数据的速度会远高于单个计算机。
过去,分布式计算理论比较复杂,技术实现比较困难,因此在处理大数据方面,集中式计算一直是主流解决方案。大型机就是集中式计算的典范硬件,很多银行和政府机构都用它处理大数据。不过,当时的互联网公司把研究方向放在了可以使用廉价计算机的分布式计算上。
4. 服务器集群
服务器集群(Server Cluster)是一种提升服务器整体计算能力的解决方案。它是由互相连接在一起的服务器群所组成的一个并行式或分布式系统。服务器集群中的服务器运行同一个计算任务。因此,从外部看,这群服务器表现为一台虚拟的服务器,对外提供统一的服务。
尽管单台服务器的运算能力有限,但是将成百上千的服务器组成服务器集群后,整个系统就具备了强大的运算能力,可以支持大数据分析的运算负荷。谷歌、亚马逊、阿里巴巴的计算中心的服务器集群都达到了5000台服务器的范围。