中国大数据技术与产业发展白皮书(2013)第三章大数据技术体系现状根据大数据处理的生命周期,大数据的技术体系通常可以分为大数据采集与预处理,大数据存储与管理,大数据计算模式与系统,大数据分析与挖掘,大数据可视化计算以及大数据隐私与安全等几个方面。3.1大数据采集与预处理3.1.1问题与挑战根据MapReduce产生数据的应用系统分类,大数据的采集主要有四种来源:管理信息系统、Web信息系统、物理信息系统、科学实验系统。1.管理信息系统是指企业、机关内部的信息系统,如事务处理系统、办公自动化系统,主要用于经营和管理,为特定用户的工作和业务提供支持。数据的产生既有终端用户的原始输入,也有系统的二次加工处理。系统的组织结构上是专用的,数据通常是结构化的。2.Web信息系统包括互联网上的各种信息系统,如社交网站、社会媒体、搜索引擎等,主要用于构造虚拟的信息空间,为广大用户提供信息服务和社交服务。系统的组织结构是开放式的,大部分数据是半结构化或无结构的。数据的产生者主要是在线用户。电子商务、电子政务是在Web上运行的管理信息系统。3.物理信息系统是指关于各种物理对象和物理过程的信息系统,如实时监控、实时检测,主要用于生产调度、过程控制、现场指挥、环境保护等。系统的组织结构上是封闭的,数据由各种嵌入式传感设备产生的,可以是关于物理、化学、生物等性质和状态的基本测量值,也可以是关于行为和状态的音频、视频等多媒体数据。4.科学实验系统,实际上也属于物理信息系统,但其实验环境是预先设定的,主要用于研究和学术,数据是有选择的、可控的,有时可能是人工模拟生成的仿真数据。在物理信息系统中,对于一个具体的物理对象,可采用不同观测手段,对其45中国大数据技术与产业发展白皮书(2013)不同的属性(方面)进行测量,如测量一辆行驶汽车的尺寸、速度、路线、尾气、外观等,其观测结果为具有不同形式的数据,这些数据代表实体不同的模态,称为多模态(multi-modal)。对于一个实体的多模态原始数据,需要做融合处理(datafusion)。在融合处理中,需要减少误差,保证数据的完整性和正确性。在高级的嵌入式系统或数据采集系统中,通常具有数据质量控制和数据融合处理功能[2]。从人-机-物三元世界观点看,管理信息系统和Web信息系统属于人与计算机的交互系统,物理信息系统属于物与计算机的交互系统。关于物理世界的原始数据,在人-机系统中,是通过人实现融合处理的;而在物-机系统中,需要通过计算机等装置做专门的处理。融合处理后的数据,被转换为规范的数据结构,输入并存储在专门的数据管理系统中,如文件或数据库,形成专门的数据集。对于不同的数据集,可能存在不同的结构和模式,如文件、XML树、关系表等,表现为数据的异构性(heterogeneity)。对多个异构的数据集,需要做进一步集成处理(dataintegration)或整合处理(dataconsolidation),将来自不同数据集的数据收集、整理、清洗,转换后,生成到一个新的数据集,为后续查询和分析处理提供统一的数据视图。通常大数据描述了一个对象(物理的或逻辑的)或一个过程的全景式的和全周期的状态,因此,其来源必然是多源的,其形式是多模态的。数据的多源和多模态的不确定性和多样性,必然导致数据的质量存在差异,严重影响到数据的可用性。由于数据量的大规模性,即使错误数据的相对比例不大,而绝对的错误数据量也是非常可观的。据国际咨询机构调查,全球财富1000强企业中25%以上的企业信息信息系统存在不正确的数据,美国企业信息系统中1%-30%的数据存在各种错误,美国工业企业由于数据错误而引起的生产事故和决策错误,每年造成6000多亿美元的损失[3]。数据的可用性取决于数据质量。数据质量的定义有很多说法。按照文献[4]的定义,数据质量包含5种特性:精确性、一致性、完整性、同一性和实效性。精确性指数据符合规定的精度,不超出误差范围;一致性指数据之间不能存在相互矛盾;完整性指数据的值不能为空;同一性指实体的标识是唯一的;时效性指数据的值反映了实际的状态。此外,考虑到人为因素,还可以要求第6个性质,真实性,即数据不能是人工伪造的。46中国大数据技术与产业发展白皮书(2013)3.1.2主要进展针对管理信息系统中异构数据库集成技术、Web信息系统中的实体识别技术和DeepWeb集成技术、传感器网络数据融合技术已经有很多研究工作,取得了较大的进展,已经推出了多种数据清洗和质量控制工具31,例如,美国SAS公司的DataFlux,美国IBM公司的DataStage,美国Informatica公司的InformaticaPowerCenter。但是,针对各种类型、各种应用的大数据的特点,如何保证一致性、精确性、完整性、统一性、时效性、真实性等六个性质,并且保证可行的处理效率,还缺乏全面系统的研究,许多新问题有待于发现和解决。3.1.3发展趋势为了保证大数据的可用性,首先必须在数据的源头上把好质量关,做好从原始数据到高质量信息的预处理。具体的关键技术有:(1)数据源的选择和高质量原始数据的采集方法。用于从可靠的高质量数据源里,获得高质量的原始数据。为了确保数据源的质量,需要建立数据源的质量评估理论模型,包括数据源的综合质量评估和高质量数据源的选择方法。然后,针对各种模态数据的特点,建立高质量多模态数据的获取方法,包括:有效的数据采集方法、多模态数据融合算法、数据的保质转换算法、数据精确性和一致性方面的错误校验和纠错、数据完整性方面的缺失值估计、数据的时效性检测、数据的真实性验证等。(2)多源数据的实体识别和解析方法。用于识别和合并相同的实体,区分不同的实体。为了高质量的数据集成奠定基础,必须保证数据的实体同一性,解决来自多个数据源的多模态数据的实体识别问题。需要建立多源数据的实体关联模型和识别模型、多源多模态数据的实体自动识别方法、实体识别效果的评估模型等。(3)数据清洗和自动修复方法。根据正确性条件和数据约束规则,清除不合理和错误的数据,对重要的信息进行修复,保证数据的完整性。需要建立数据正确性语义模型、关联模型和数据约束规则、数据错误模型和错误识别学习框架、针31Gartner研究报告,MagicQuadrantforDataQualityTools,2012年8月,(2013)对不同错误类型的自动检测和修复算法、错误检测与修复结果的评估模型和评估方法等。(4)高质量的数据整合方法。在数据采集和实体识别的基础上,进而实现数据到信息的高质量整合。需要建立多源多模态信息集成模型、异构数据智能转换模型、异构数据集成的智能模式抽取和模式匹配算法、自动的容错映射和转换模型及算法、整合信息的正确性验证方法、整合信息的可用性评估方法等。(5)数据演化的溯源管理。用于对数据的演化过程进行跟踪和记录,以保证和控制数据的质量。需要建立世系模型及其追踪技术,主要包括时空、多粒度、多路径和不确定的海量信息演化的演化模型和演化描述方法、演化模式的正向性评估模型与方法、演化的可逆性判定与近似求解算法、分布式、多粒度、概率化的世系追踪技术等。总之,大数据的采集和预处理是大数据的源头,在源头上把好质量关,对大数据的后续处理和分析至关重要。因此,对大数据的使用者、研究者、开发者以及上级主管部门,提出如下建议:(1)提高用户对大数据可用性的重要性的认识,切实开展大数据质量控制,确保大数据处理和分析结果的正确性;(2)针对大数据质量控制面临的挑战性问题,学术界应加强对大数据可用性评估和保证的关键技术的研究和开发;(3)大数据的质量控制具有广泛的需求和巨大的市场前景,工业界应注重大数据可用性的评估,加强数据质量保证软件的开发和推广。(4)建议政府有关部门尽快建立关于大数据可用性(数据质量)的标准,保证大数据的统一质量,有效保证大数据的利用价值。3.2大数据存储与管理3.2.1问题与挑战大数据给存储系统带来了3个方面的挑战:1)存储规模大,通常达到PB(1,000TB)甚至EB(1,000PB)量级。2)存储管理复杂,需要兼顾结构化、非结构化和半结构化的数据。3)数据服务的种类和水平要求高,换言之,上层48中国大数据技术与产业发展白皮书(2013)应用对存储系统的性能、可靠性等指标有不同的要求,而数据的大规模和高复杂度放大了达到这些指标的技术难度。这些挑战在存储领域并不是新问题,但在大数据背景下,解决这些问题的技术难度成倍提高,数据的量变终将引起存储技术的质变。大数据环境下的存储与管理软件栈,需要对上层应用提供高效的数据访问接口,存取PB甚至EB量级的数据,并且能够在可接受的响应时间内完成数据的存取,同时保证数据的正确性和可用性;对底层设备,存储软件栈需要充分高效的管理存储资源,合理的利用设备的物理特性,以满足上层应用对存储性能和可靠性的要求。在大数据带来的新挑战下,要完成以上这些要求,需要更进一步的研究存储与管理软件技术[5]。3.2.2主要进展根据为上层应用提供的访问接口和功能侧重不同,存储与管理软件主要包括文件系统和数据库;在大数据环境下,目前最适用的技术是分布式文件系统、分布式数据库以及以及访问接口和查询语言。分布式文件系统分布式文件系统所管理的数据存储在分散的设备或节点上,存储资源通过网络连接。用分布式文件系统对大数据进行存储与管理,目前的研究,主要涉及到以下几个关键的技术:(1)高效元数据管理技术。大数据应用下,元数据的规模也非常大,元数据的存取性能是整个分布式文件系统性能的关键。常见的元数据管理可以分为集中式和分布式元数据管理架构。集中式元数据管理架构采用单一的元数据服务器,优点是实现简单,但存在单点故障等问题。分布式元数据管理架构[6]则将元数据分散在多个结点上,从而解决了元数据服务器性能瓶颈问题,提高了可扩展性,但实现复杂,并引入了元数据一致性的问题。此外,还有一种无元数据服务器的分布式架构,使用在线算法组织数据,不需要专用的元数据服务器。但是该架构对数据一致性的保证很困难,实现复杂。文件目录遍历操作的效率低下,并且缺乏文件系统全局监控管理功能。(2)系统弹性扩展技术。大数据环境下,数据规模和复杂度的增加往往非49中国大数据技术与产业发展白皮书(2013)常迅速,所以按需的扩展系统规模,是十分必要的。实现存储系统的高可扩展性首先要解决两个方面的重要问题,元数据的分配和数据的透明迁移。前者主要通过静态子树划分和动态子树划分技术实现,后者则侧重数据迁移算法的优化。此外,大数据存储系统规模庞大,结点失效率高,因此还需要实现一定程度上的自适应管理功能。系统必须能够根据数据量和计算的工作量估算所需要的结点个数,并动态地将数据在结点间迁移,以实现负载均衡;同时,结点失效时,数据必须可以通过副本等机制进行恢复,不能对上层应用产生影响。(3)存储层级内的优化技术。构建存储系统时,需要基于成本和性能来考虑,因此存储系统通常采用多层不同性价比的存储器件组成存储层次结构。大数据的规模大,因此构建高效合理的存储层次结构,可以在保证系统性能的前提下,降低系统能耗和构建成本。利用数据访问局部性原理,可以从两个方面对存储层次结构进行优化。从提高性能的角度,可以通过分析应用特征,识别热点数据并对其进行缓存或与预取,通过高效的缓存预取算法和合理的缓存容量配比,以提高访问性能。从降低成本的角度,采用信息生命周期管理方法,将访问频率低的冷数据迁移到低速廉价存储设备上,可以在小幅牺牲系统整体性能的基础上,大幅降低系统的构建成本和能耗。(4)针对应用和负载的存储优化技术。传统数据存储模型需要支持尽可能多的应用,因此需要具备较好的通用性。大数据具有大规模、高动态及快速处理等特性,通用的数据存储模型通常并不是最能提高应用性能的模型,而大数据存储系统对上层应用性能的关注远超过对通用性的追求。针对应用和负载来优化存储,就是