中国联通上海分公司 上海 200050
伴随着运营商企业分析粒度和维度的不断扩大,对企业经营的分析已转换到数据价值的提升,随着数据信息采集范围的扩大、时效性要求的提升、数据量级从MB上升到TB、PB的范围,诸多方面的变化使得传统IT技术架构支撑有些力不从心。
云计算技术的兴起,给传统企业数据中心一个突破的契机,时下有关数据的海量处理和存储的研究正处于热潮,分布式并行处理技术日益成熟,使得Hadoop平台脱颖而出,成为分布式处理的宠儿 。
运营商的IT系统确定未来的发展方向,是以“集中大数据为核心,顶层设计引领IT建设,服务下沉,助力客户感知”为总体战略。改变原来每个系统从应用到数据,全部是烟囱式的建设模式。未来要全部转变为“平台+应用”的模式,构建唯一、集中、开放的大数据平台,并在这个平台上构建各种各样的应用。上海联通数据中心也意识到这个生态环境的变化,并在逐步推进改革。
上海联通传统经营分析数据仓库建设项目从2009年开始建设,采用传统IOE技术架构,整合BSS移动业务计费系统、CRM客户关系管理系统、客户服务系统等省份生产系统数据,同时补充了集团统一下发的移动用户互联网标签数据、集团数据挖掘模型标签数据、电子渠道受理数据。按照三个统一(统一指标名称、统一指标口径、统一指标加工)的要求,将各种数据做标准抽取、转换、加工,搭建企业级数据仓库。通过数据仓库的建立打破信息孤岛,对数据进行集中管理,使各个业务系统的数据相互共享。上海联通数据仓库目前主要支撑企业报表、专题分析、营销维系活动等应用,基于准确的历史数据提供专题分析报告为企业营销活动的开展提供决策支持[1]。
上海联通传统数据仓库以关系型数据库Oracle为基础,以ETL为枢纽连接ODS接口层、DWA/DWD数据汇总层、DM数据集市层,经由联机分析处理工具、数据挖掘工具以及决策人员的专业知识,运用OLAP和数据挖掘技术对数据仓库加工好的单用户进行多维分析和挖掘。其技术结构体系如图1所示。
图1 技术结构体系
随着3G、4G业务的快速发展,数据量不断增大,导致数据中心数据分析的处理量剧增,传统数据仓库加工出现瓶颈,IOE环境的负载随业务规模及建设内容增长会逐步达到极限,基于IOE环境可扩展性差,从历史经验看可以通过对现有IOE环境进行扩容或对现有加工内容进行迁移重构的方式来降低IOE环境负载。同时由于数据采集内容的扩展,例如互联网内容数据,信令数据已经打破原有数据格式内容,IOE架构已经达到极限[2]。
随着移动互联网时代到来及云计算的兴起,传统的IOE技术架构正在逐渐演化成为新一代的X86,闪存、开源应用平台、数据平台等技术为基础的新一代技术架构[3]。
所谓的“IOE”是指,IBM是服务器提供商,Oracle是数据库软件提供商,EMC则是存储设备提供商,三者构成了一个从软件到硬件的企业数据库系统,IOE架构的特点:基于向上扩展(Scale-up)技术的高端设备以及围绕着它们开发的专有硬件、大型数据库和商业中间件(IOE的框架如图2所示)。而对于运营商而言,因为其业务的爆炸式增长,原有的扩展方式从技术及投入上均已不能满足业务发展趋势。
图2 IOE的框架图
去IOE的难点核心是去Oracle数据库,由于其与运营商业务密切关联,去IOE的本质是“分布式+开源”架构替代“集中式+封闭”架构,变成彻底的云计算服务模式。IOE环境与Hadoop环境架构扩容特点比较见图3。
图3 扩展性比较
大数据是一个比较宽泛的概念,它包含大数据存储和大数据计算,其中大数据计算可大致分为计算逻辑相对简单的大数据统计、以及计算逻辑相对复杂的大数据预测。大数据存储解决了大数据技术中的首要问题,即海量数据首先要能保存下来,才能有后续的处理。因此毫无疑问大数据存储是非常重要的[4]。
关系型数据库擅长处理结构化数据,且成本比较昂贵。非结构化数据由Hadoop加工处理解决成本问题。同时为了应对数据量大、实时性要求高的数据处理需求,引入流处理机制,常见的流数据如信令数据和微博信息。流数据强调的是实时处理与分析而非数据存储,所以一般只在内存中处理,不落地存储在磁盘上,但必要时也可以持久化。
业内对大数据技术架构进行了详细对比,包括Hadoop大数据处理平台与传统MPP数据库架构及技术的优劣比较,在业内的经验基础上对于此应用的技术实现方式最终决定采用“数据库混搭架构”来支撑公司的大数据处理分析(表1为大数据平台架构对比)。
表1 大数据平台架构对比
针对上海联通结构化数据量大、数据模型复杂的特点,采取异构混搭的技术架构,可以缩短统一数据加工时间、同时升级现有系统数据处理能力,使得信息及时传递,同时进行全量数据管理,实现高可扩展性[5]。采用分布式集群技术,适合数据快速地写入和快速检索,可满足海量数据的加工需求。云化之后利用分布式并行处理技术减小数据仓库的扩容压力;提升数据作业的处理速度及系统的响应速度。
采用混搭结构的大数据分析平台,对不同的数据采用不同的数据处理技术,应用不同的场景。分布式处理平台来处理大量低价值、低密度的数据,经过处理、加工后,得出高价值、高聚合数据,通过Oracle或者MY SQL、MPP数据库提供业务进行使用[6]。这样既能满足数据的处理性能,又能满足业务使用的响应。如图4所示。
大数据平台可以加强数据与系统管理的功能,如元数据管理、数据质量管理、系统管理。1)数据质量管理建立数据质量变更协同管理,补充数据质量稽核规则,优化质量监控和评估功能,逐步实现企业全程数据的监管,以辅助数据质量提升。2)元数据管理提升元数据的获取、存储、分析和维护。3)利用系统管理在数据分析系统中扮演着面向全局总体控制、总体协调及总体管理的核心管理角色,保证数据分析系统能够安全和稳定地运行。
应用层在系统功能架构上进行了适度的解耦,提升了基础功能复用能力,并要求提供系统应用的角色适配能力。应用层在技术上要求逐步以组件化方式实现KPI、多维分析、即席查询、报表分析等基础功能,并通过调用和编排基础功能组件集中解决各类业务问题[7]。
图4 大数据分析平台技术架构
数据层架构涵盖上海联通数据分析系统从各业务源系统中将相关业务数据(省分B域数据、集团横向系统数据、O域互联网详单数据)进行抽取、清洗、加工、整理并加载到数据仓库的全过程;数据层通过文件处理或流处理,提高集中数据分析系统获取数据的及时性,为企业应用提供技术支撑[7]。
数据层实现对企业数据仓库和元数据的集中存储与管理,并根据需求建立面向业务应用的数据集市。数据层既是数据和信息集中管理的存储中心,也是数据分析系统的数据加工中心,经过数据汇总、数据统计和数据挖掘等技术手段对企业数据进行提炼和精加工,形成指标、多维数据、报表数据、挖掘结果和知识数据等各类信息。大数据分析平台引入Hadoop、HBase等分布式处理技术,并结合原有的事务性数据库Oracle,组合成为分布式混搭结构,将不同的技术运用到其适合的应用场景和业务场景,让各类技术在其优势能力方面充分发挥,以整体上提升企业数据中心、业务分析等平台应用的服务能力[8]。混搭架构的大数据平台中,Hadoop负责海量数据的长久存储、清洗、逻辑处理、海量数据挖掘等工作;Hbase承担海量数据快速查询的任务;Oracle则肩负事物数据处理、应用高并发、高效事物访问等使命。
综合考虑上海联通的业务数据特点,采用Hadoop+Oracle的混搭架构,构建分布式云化大数据平台,可以解决目前企业数据中心迫切需要解决的诸多问题。
为适应不同的场景、不同的应用需要,深度定制的混搭结构,
1)总体架构。经过对上海联通的业务特点以及数据处理的要求,采用Oracle、Hadoop结合在一起的混搭架构,Hadoop负责基础数据加工,主要针对处理逻辑复杂但不需深度关联数据处理工作;Oracle负责深度关联数据处理,并统一对外提供数据服务[9]。
2)技术架构。上海联通大数据平台根据不同技术的优越特性,以不同的技术相结合方式,应用在平台的不同层次中,解决不同数据以及应用场景不同的数据分层分级服务的能力,通过各层的数据能力的划分、合理使用,提升系统的服务能力,如表2所示。大数据平台技术架构如图5所示。
3)应用架构。通过对混搭平台优势的研究以及云化大数据平台的经典架构理论探讨,结合中国联通大数据平台建设总体指导建议,上海联通基于X86 PC Server、DCN网络等硬件环境,构建了基础省分二级大数据平台IaaS基础环境。部署搭建基于Hadoop分布式运算环境的大数据平台,实现企业数据中心的云化,以提升企业数据中心的数据存储能力、逻辑运算能力、数据挖掘能力、快速响应能力、业务支撑能力、平台管理能力[10]。
依托大数据平台的优越性,丰富经营分析、企业管理、业务分析挖掘等方面的优质应用,使得多维度、多系统的数据通过大数据分析平台进行整合,形成数据合力,提升数据的应用价值,如图6所示。
表2 大数据平台能力表
图5 大数据平台技术架构图
图6 大数据平台业务架构图
1)基本原则。上海联通大数据平台数据模型设计采用自顶向下与自底向上相结合的方法进行设计。以企业级数据模型为指导,结合生产系统相关规范,参考业界标杆SID、行业成熟模型,先建立概念模型,再在概念模型的基础上进行细化设计逻辑模型。
2)平台分层架构。大数据分析平台实施参照数据仓库技术,通过建立企业级数据中心,通过分层分域的管理,一方面实现KPI、报表、主题分析、专题分析、数据挖掘等分析功能,满足总部、省分、地市、区县、一线营销人员的数据分析需求;另一方面与生产系统进行信息互动,可以为生产系统提供各类信息的反馈和互动。大数据平台数据分层架构如图7所示。
图7 大数据平台数据分层架构图
经过半年的实施周期,上海联通从控制成本、保证业务需求的支撑、能够适应新形势的要求下,搭建了混搭结构的大数据分析平台。支撑海量数据的处理、提升数据能力,使数据中心由原来提供单一的企业经分分析决策的架构能力转变到适应大数据的处理的能力,从数据价值出发,为大数据变现提供丰富的能力支撑。
大数据分析平台的建设完成,全面进行了数据的整合能力的提升,将B域、M域、O域、其他外部数据统一进行数据的管理,在规划数据的采集能力、数据的生产加工能力、数据架构的治理方面提供了有力抓手。从原来的单一B域的数据来源,逐步丰富到了16个数据采集源的扩充;数据采集方案由原来的DBLINK方式调整为文件级的入库方式,减轻了多点访问生产库的压力,提升了数据的入库和处理效率[11]。
大数据平台采用3 1台P C Server构建HDFS分布式文件系统,借助于HDFS分布式文件系统的数据文件自动备份策略,在低廉的硬件投资下有效提升了数据存储周期,为长周期数据分析和挖掘提供可靠的数据保证,投资成本得到控制,数据存储能力得到提升。
HDFS分布式文件系统具备良好扩展能力,企业数据中心中数据存储量达到预设警戒值后,可以通过添加PC Server进行快速水平扩展,以提升大数据平台的数据存储能力和逻辑运算能力。
采用业内的Hadoop分布式计算框架MapReduce为大数据平台,确保了平台的高效运算能力,基于MapReduce运算能力的类SQL数据仓库Hive,提升了SQL的高效处理能力,其海量数据处理卓越的性能让大数据平台增色不少。较原有小机+Oracle架构的数据中心,Hive数据处理能力上有了质的提升,数据处理速度普遍提升3到6倍[11]。如表4所示。
大数据分析平台对外数据的输出和服务是最常用的手段之一,为实现快速的数据文件共享,则需要要求平台中数据能够快速导出成指定格式的文本文件。
表5实例验证了Hive数据文件导出和Oracle数据文件导出的效率比较。
依托于大数据平台快速的数据导出能力,可以有效提升总部纵向明细数据生成和上传的工作效率以及上海联通内各系统间数据文件共享和传递,极大地缩短外围系统等待企业数据中心数据生成的时间,加速各系统间的数据共享。
大数据平台端到端的数据管控体系,管理数据采集、加工、存储、应用、归档、删除等一系列环节,完成端到端的数据管控。光有平台能力,没有相应的监控工具,就不能同步发挥平台的能力,因此相应匹配了平台的管理功能[11]。可视化的平台管理工具,极大地提升了大数据平台的管理能力,为日常生产、维护、数据质量提供了保障。
端到端的数据管控体系采用体系化的、标准的、可重复的监管机制和执行流程,保证数据加工的统一及数据流程的透明性,保障数据质量及数据可用性,促进企业数据共享、业务支撑和数据价值提升。利用业务流程驱动机制,使各个节点的控制要素有机地实现链式触发,提升企业数据管控的运营能力和效率。打破信息孤岛,提升数据质量,让数据发挥出公司核心资源的效用,实现数据的增值。
表4 抽样部分核心业务数据处理逻辑在两个架构上的效率对比
表5 导出效率比较
大数据平台生产流程的可视化,使平台运维人员清晰明了的观察到平台数据处理的各个环节,及时发现生产流程中的异常信息并进行干预,以减轻运维人员处理后台代码问题的繁杂工作。通过灵活的、跨平台、可配置的流程定义、流程调度、流程管理实现基于异构数据库的混搭架构平台全流程的可视化ETL调度。
大数据平台运维可视化,可提升平台运维人员的工作效率和监控环境,使运维人员简单、清楚地了解到大数据平台各节点软、硬件的运行情况,掌握大数据平台的健康运行状况,快速锁定平台问题点和问题原因,为平台修复提供依据。
通过运维监控页面,时刻了解大数据平台资源使用情况,设置资源利用峰值预警、智能监控报警等措施,提升大数据平台运维管理能力。
通过元数据资源管理、数据扫描、数据语义定义等功能,实现基于元数据的海量异构数据管理。
通过统一元数据管理,实现应用与数据之间的解耦,即应用不需要关心数据存储在什么地方,只需要通过统一的元数据开放接口就能获取数据,为应用的百花齐放提供数据支撑基础。
通过基于元数据,实现对数据源、系统内以及对外服务的数据进行规则配置,并产生稽核结果,进而生成处理工单并触发工单处理流程,以此形成问题预防—发现—处理—总结—反馈的模式,推进数据质量的提升,稽核规则的完善。
采用分布式列存数据库Hbase,实现上海联通用户的全生命周期轨迹快速查询,为客服等业务部门提供快速查询服务。以Hive为生产系统的用户生命轨迹数据进行归集和预处理,Hbase列式存储提供快速点查询支撑,达到10亿记录的生命周期轨迹仓库中,单一用户查询响应速度不超过3秒。
通过对传统数据仓库的技术变革,实现了数据中心由传统的IOE技术支撑架构向大数据分析平台的混搭式分布式计算架构的转变,在技术支撑能力方面迈进了一步[12]。
在数据仓库的技术变革过程中依据运营商的数据特点,采用分布式数据库与oracle数据库混搭架构模式来支撑带来如下好处。1)突破了传统商业智能分析系统侧重结构化数据的局限,实现数据源的拓展,不同的数据源采集方式为后续的数据源的扩充提供了基础。2)利用Hadoop+Hbase+MapReduce的数据处理能力,极大的提升了数据生产加工的效率,为数据中心生产加工能力的提升奠定了基础。3)采用混搭架构的衍进策略使得传统数据中心的各种应用能平滑的过度,避免数据应用模式较大的改变。4)很好利用了混搭架构中,Hadoop的快速处理能力以及oracle的数据多维度联机分析的处理能力,使得应用的支撑更为丰富和多样。5)大数据分析处理平台的可扩展能力强,给数据的存储提供了新的方向,让历史数据的信息可以有效保存,形成不同的生命周期的数据,进一步提升数据的价值。
新型大数据分析处理平台的搭建,为后续大数据应用支撑以及数据价值的变现方面,提供了强有力的支撑。对于大数据处理来说,数据是素材,平台是工具。工欲善其事,必先利其器。大数据各个层次的平台已经日臻成熟,我们对其原理与架构也清晰明了。而海量数据中蕴含的巨大价值能否被有效挖掘,在我们提供很好的平台架构的同时,还需要共同着力大数据应用的开发。
[1]王连月.BI平台下的运营分析系统研究[EB/OL].[2016-1-22].http://articles.e-works.net.cn/BI/Article116402.htm,2014/5/23
[2]张晓萌.分布式不可行?去IOE的道路到底能走多远![EB/OL].[2015-12-20].http://servers.pconline.com.cn/503/5033277.html
[3]老鱼.大尺度剖析电信运营商"去I O E"之“去O”[EB/OL].[2015-12-20].http://tech.it168.com/a2015/0417/1720/000001720950.shtml
[4] 维克托·迈尔-舍恩伯格,肯尼思·库克耶.大数据时代[M].盛杨燕,周涛,译.杭州:浙江人民出版社,2013
[5] 姚宏宇,田溯宁.云计算:大数据时代的系统工程[M].北京:电子工业出版社,2013
[6]祁伟.云计算:从基础架构到最佳实践[M].北京:清华大学出版社,2013
[7]部署大数据?请参考大数据分析平台架构(Big Data Analytics)[EB/OL].[2016-01-22].http://www.36dsj.com/archives/27047
[8]康楠.数据中心系统工程及应用[M].北京:人民邮电出版社,2013
[9]Alex Holmes.Hadoop硬实战[M].北京:电子工业出版社,2015
[10]阿尔杰.大数据云计算时代数据中心经典案例赏析[M].曾少宁,于佳,译. 北京:人民邮电出版社,2014
[11]郑叶来,陈世峻.分布式云数据中心的建设与管理[M].北京:清华大学出版社,2013
[12]涂子沛.大数据:正在到来的数据革命[M].南宁:广西师范大学出版社,2015