大数据技术入门(第2版)
上QQ阅读APP看书,第一时间看更新

1.1 什么是大数据

对于什么是“大数据”,不同的研究机构从不同的角度给出了不同的定义。Gartner认为:“大数据是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产”。麦肯锡认为:“大数据指的是大小超出常规的数据库工具获取、存储、管理和分析能力的数据集”,但麦肯锡同时强调,“并不是说一定要超过特定TB的数据集才能算是大数据”。根据维基百科的定义,“大数据是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合”。IDG认为:“大数据一般会涉及两种或两种以上的数据形式,它要收集超过100TB的数据,并且是高速实时的数据流;或者是从小数据开始,但数据每年会增长60%以上”。

从客户的角度来看,大数据技术的战略意义不在于拥有多么庞大的数据信息,而在于对这些含有意义的大数据进行专业化处理,从中获得商业价值。例如,以色列已经把所有政府部门的视频整合到一个大数据平台上,并在这个平台上开发了一套智慧安防系统。在这个系统上,只要把某一个人的人脸或人的主要特征数据输入系统,就能从海量的监控记录中查出同那个人相关的视频片段,并自动变成一个有时间顺序的“视频影片”。

大数据也是一种产业,这种产业实现盈利的关键在于帮助政府和企业客户提高对数据的“加工能力”,通过“加工”实现数据的“增值”,完成“数据变现”。这种加工能力体现在技术上就是大数据分析。简言之,从各种各样类型的数据中,快速获得有价值信息的能力,就是大数据技术。大数据最核心的技术就是在于对于海量数据进行采集、存储、管理和分析。

1.1.1 四大特征

大数据具有4V特征,即:Volume(数据体量大)、Variety(数据类型繁多)、Velocity(数据产生的速度快)、Value(数据价值密度低)。

Volume指的是数据体量巨大。例如,一家三甲医院的影像数据(包括:CT、B超、X光片、胃镜、肠镜等)可能就是几百个TB,全国的医疗影像数据超过PB级别,接近EB级别。全球数据已进入ZB时代,IDC预计2020年全球数据量为40ZB。如图1-1所示是美国某大数据公司的数据量。我们看到,它们大概有80T行,8PB的数据量。图1-2是细分到各个客户账号的数据统计信息。账号1创建了8万多张表,账号13具有19075618845119行,那就是19万亿多行。

图1-1 数据行数和数据量

Variety指的是数据类型繁多。这可分为结构化数据、半结构化数据和非结构化数据。结构化数据是指那些可存储在数据库里,可用二维表结构来表达的数据。例如,企业财务数据库、医疗HIS数据库、环境监测数据库、政府行政审批数据库,等等。非结构化数据一般存储在文件系统上,例如视频、音频、图片、图像、文档、文本等形式。典型案例有:医疗影像系统、教育视频点播、公安视频监控、国土GIS、广电多媒体资源管理系统等应用。半结构化数据是介于完全结构化数据(如:在关系型数据库和面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据。例如,日志记录、安全审计记录、邮件、HTML、报表等等,典型场景如邮件系统、系统访问日志、档案系统等等。非结构化与半结构化数据的增长速率大于结构化数据,超过80%的数据是非结构化和半结构化数据。IDC的报告显示,目前大数据的1.8万亿GB容量中,非结构化和半结构化数据占到了80%~90%之间,并且到2020年将以44倍的发展速度增加。这些数据蕴含着巨大的价值。

图1-2 多租户模式下各账号使用情况

Velocity是指大数据往往以数据流的形式,动态、快速地产生,具有很强的时效性。数据自身的状态与价值也往往随时空变化而发生演变(这些数据往往包括了空间维、时间维等多种数据)。例如,环境监测中的水质和空气质量数据、高速路卡口的视频监测数据等。

Value是指数据已经成为一类新型资产,蕴藏着大价值。大数据的价值密度低,需要通过专业的技术手段进行挖掘。只有对其进行正确、准确的分析,才会带来很高的价值回报。例如,电视机顶盒的频道切换数据,各大电视台分析其中的数据,从中准确判断观众的喜好,以推出更加符合观众口味的节目。

大数据并非总是说有数百个TB才算得上。根据实际使用情况,有时候数百个GB的数据也可称为大数据,这主要要看它的其他维度,也就是速度或者时间维度。假如能在1秒之内分析处理300GB的数据,而通常情况下却需要花费1小时的话,那么这种巨大变化所带来的结果就会极大地增加价值。所谓大数据技术,就是至少实现这四个特征中的一些。

1.1.2 数据监管(Data Governance)

Hadoop的出现,解决了大数据的快速存储和读取,也为我们提供了大数据分析的众多工具,但是,对于大数据商用而言,这并不够!大数据除了数据量的问题外,还会把信息管理的各项需求都推向极致(见图1-3)。

图1-3 大数据的商用需求

图1-3中最下面的这一层是大数据的基本问题,包括海量、多样性、高速和低价值。Hadoop技术很好地解决了这一层的问题,支撑起大数据商用化的基础平台。目前普遍认为,Hadoop是下一代IT架构的基础,Hadoop系统将逐步替换以关系型数据库为基础的传统系统。中间这一层是数据监管,也叫数据治理,是对数据的可用性、相关性、完整性和安全性的整体管理。目前讨论最多的是数据安全和数据敏感性问题。数据的敏感性是一个很基础的问题,虽然Hadoop生态圈中的Apache Atlas正在解决数据监管问题,但是现有的Hadoop技术还没有对数据脱敏和敏感性分级提供可行的解决方案。国内超过80%的数据在政府的系统内。如果大数据解决方案没有给政府数据提供诸如敏感性分级的权限管理机制,那么,政府是很难往前迈一步的。例如,公安、税务、工商等各部门的数据在一个平台上所产生的访问控制问题。数据监管还包括这些数据来自何处?外部数据是否符合公司政策和规则?

共享协议是指数据将会以什么形式,通过什么样的接口实现数据的交换,这是大数据的重点问题之一。数据交换的所有方式都是以标准的协议来支持,因为在大数据的时代,数据的来源本身是多样性的,数据的格式甚至是无法管理的,很多的数据是来自于企业的外部,来自于互联网的提供商,到底如何通过这些协议和统一数据模型自动化地将数据放到大数据平台上来,这是一个关键的问题。Hadoop本身并没有技术工具来解决这些方面的问题。

总之,国内大数据软件产品和技术目前处于一个刚刚起步的阶段。数据安全和隐私保护等数据管理层面的需求是非常重要的,到现在仍然没有足够的解决方案。这将会是大数据商用解决方案中的一个可能最薄弱的环节了。

1.1.3 数据质量

图1-3所示的最上面一层是有关大数据质量的管理。数据本身是一种资产,资产质量怎么来衡量,我们如何确保数据的质量。这个也是我们在实施大数据商用上需要考虑的一个问题。质量管理是传统的数据管理里非常重要的一个方面,这包括数据的有效性和有效期限。在大数据时代,企业的数据不仅仅有传统的结构化数据,还有各类非结构化数据。结合对数据吞吐量的合理设计,将这些数据采集到大数据平台应该不会是很难的事情。比较难的是数据的转换、协调、确保不同数据源之间的一致性、检查数据的质量,这些是大数据采集中比较难实施的部分,Hadoop本身并没有提供技术工具来解决这些问题,但是我们必须开发或集成其他的大数据工具和技术来解决这些问题。这就是大数据管理平台的作用。除了提供大数据质量的管理,这个管理平台还提供上述的大数据访问的权限管理等功能。

1.1.4 大数据分析

大数据平台可以存储所有类型的数据。从简单的文件存储,到不强调一致性的非关系型数据库存储。得益于自身基础设计理念,大数据平台可以无限扩展。如果大数据平台在云端运行维护,那么它的灵活性将更强。从概念上讲,存储数据是大数据应用中最易于实现的部分。

光有大数据还不够。那么,在大数据平台上存储了足够多的数据后,我们该怎么将其加以利用呢?分析大数据,并将分析结果应用于决策中才是最重要的事情。预测分析(Predictive Analytics)是大数据分析领域中的一个常用模式,它通过分析采集的数据来预测未来的行为或趋势。它是根据事物的过去和现在估计未来,根据已知预测未知,从而减少对未来事物认识的不确定性,以指导我们的决策行动,减少决策的盲目性。在大数据分析领域,预测分析常常与预测模型、机器学习和数据挖掘有关。对于一个政府部门而言,通过预测分析来精准把握政府工作的重点。例如,某市公安局分析来自各个渠道的海量群众诉求,预测下个月的警务工作热点,从而帮助公安局合理安排警力,最终实现民意引领警务。美国的医疗决策支持系统基于预测分析来判断某些人得一些病的风险,并基于当前的健康状态给出最正确的医疗决定。国内的很多金融企业通过预测分析来实现业务的风险控制。例如,某银行分析其客户的消费数据和基本数据,从而预测该客户的信用卡和贷款的偿还能力。环保部门用数据决策,利用环保大数据综合判断,制定环境政策措施,预警环境风险,提供环境综合治理科学化水平。

除了预测分析,还有关联分析。关联分析的目的在于,找出数据之间内在的联系。例如,购物分析,即消费者常常会同时购买哪些产品(例如游泳裤、防晒霜),从而有助于商家的捆绑销售。

1.1.5 大数据平台架构

如图1-4所示,从用户使用的角度,从搭建大数据系统的先后顺序来看,我们把大数据架构分为三个平台:基础的云平台、大数据平台和大数据应用(分析)系统。大数据采集(也叫ETL或大数据交换和共享平台)、数据湖(Data Lake)、管理平台等都包含在大数据平台之中。

图1-4 大数据建设总体架构图

云平台是IT基础设施层,AWS和阿里云都很好的提供了各自的公有云平台,它们为大数据平台和应用提供统一基础支撑服务;大数据平台是数据资源层,为大数据应用提供统一数据采集、数据存储、数据管理、数据查询等服务;大数据应用系统是业务应用层,为大数据在各领域的具体应用。

从逻辑结构上看,大数据平台的底层是Hadoop集群和集群之上的Hadoop生态圈软件,它们共同完成大数据平台的基本功能,即:大数据的快速采取、存储和读取,所以Hadoop是大数据平台的基础。虽然Hadoop生态圈中的Apache Ranger、Hive MetaStore等系统提供数据管理方面的功能,例如,数据统一访问控制、元数据统一管理,但是,数据管理功能离商业化的要求还有一些距离,这就凸显了大数据管理平台的重要性。只有提供了统一的大数据管理平台,数据的集成尤其是跨行业、跨不同的部门、跨各种技术的集成才能成为可能。整个大数据应用的架构必然是构建在一个大数据管理平台之上,这才可能实现大数据应用的大规模的商用和普及,而不应该只是基于裸露的Hadoop。