一种支持大数据集成架构的多维分析系统
2015-12-02刘云峰王倩宜欧阳荣彬
刘云峰, 王倩宜, 杨 旭, 欧阳荣彬
(北京大学计算中心,北京 100871)
0 引 言
基于数据仓库技术的BI(Business Intelligence,即商务智能[1])是从大量的数据中钻取信息与知识的过程,从技术角度看,它包含抽取转换加载(ETL)、数据仓库(DW)[2]、联机分析处理(OLAP)、数据挖据(DM)等多环节,是一个复杂的技术集合,目的是为企业决策者提供决策支持.
当前许多行业的数据中心正在构建和形成大数据环境.随着高校信息化建设的不断发展,业务部门建设了越来越多的信息系统,其数据资源也在快速积累,在数据规模、数据类型和对数据的使用方面也逐步形成了大数据环境.
我们以北京大学人事综合信息管理系统为例分析,该系统以人事部管理工作为核心,包含薪酬管理、规划调配、劳动合同、社会保险、博士后、人才开发、档案流转、人员信息、人员招聘九个子系统,共300余个子功能,涵盖人事部业务范畴内的职工从入校到离校的全过程.组工系统以组织部和统战部管理工作为核心,包含干部任免、党建管理、统战等业务内容.学生综合信息管理系统涉及教务部、研究生院、就业指导中心、学工部等相关部门的业务.各个系统多年的运行也都积累了大量的业务数据,虽然各业务信息系统提供了查询分析组件实现了部分报表、分析等功能,综合数据服务管理平台[3]2006年建设了学生主题数据库,2007年建设了代码标准数据库,2011年建设了人员主题数据库,2011年综合数据发布平台上线使用,提供数据发布和订阅服务.但是目前的数据库以及数据格式、描述方式以及存储模式更适合联机事务处理,不适合联机分析处理业务.
业务部门每年面对越来越多非常复杂的人员信息统计报表需求,如何将分散在不同系统的数据集中起来有效使用?目前来自人事系统、组工系统、学生系统的职工人事业务数据已经相对比较完善,建设一个人事数据报表和分析子系统[4,5]是一项非常重要的工作.如何运用基于数据仓库的BI技术手段和科学的分类、汇总和统计分析方法,将现在各业务模块和子系统中的报表统一规划展现,为各部门提供数据分析能力,为决策提供依据,成为目前需要解决的问题.
此外,以Hadoop为代表的大数据平台为大数据管理带来解决方案的同时,却无法融合现有的数据仓库方式.构建基于传统数据仓库、Hadoop和新型MPP(massively parallel processing)数据库之上的透明访问网关,实现支持大数据混合架构的BI分析系统,是当前技术和应用发展的重要方向[6].
面对新型数据管理和分析环境,结合高校信息化建设中日趋复杂的业务统计分析要求,本文设计了基于数据仓库架构的多维分析系统,实现了面向人事管理领域的主题数据仓库及多维分析模型,满足了灵活高效的职工信息分析的需求;同时,设计了基于传统数据仓库、Hadoop和新型MPP数据库之上的透明访问网关和支持大数据集成架构的BI分析系统,为未来高校信息化建设中的数据分析系统建设奠定了基础.
1 BI系统构建
1.1 系统架构
如图1,基于BI架构的分析系统分为三层:数据预处理(抽取、转换、装载)层、数据仓库层、数据分析层.
·数据抽取组件进行数据预处理,定期从业务系统装载数据到数据仓库.
·以职工主题数据仓库为基础,向上提供数据报表和统计分析应用.
·用户通过门户访问数据报表和统计分析应用提供的各类统计分析服务.
图1 基于BI的系统架构与电子校务框架的整合
1.2 数据仓库建设
区别于业务系统,数据仓库规划在逻辑上和物理上以适合统计分析的策略组织存储数据,分主题、分步骤实施建设,首先是针对职工基本数据.目前,数据仓库的数据主要来自学生系统、组工系统和人事系统,数据抽取组件定期从业务系统装载数据到数据仓库.我们首先建设职工主题的数据仓库,该主题是人事数据报表和分析子系统的主要数据源.
数据平台中增加职工主题数据仓库.
·用于查询统计的职工数据与业务系统分开存储,统计分析应用的数据来源于这个职工主题数据仓库.
·职工主题数据仓库中的数据来源于不同的业务系统,在数据逻辑结构以及物理存储上进行一定的整合,以更适应统计分析应用.
·职工主题数据仓库中的数据包含准实时的职工数据和历史时间点的职工数据,可能还会包含一些轻度汇总的汇总数据.
1.3 数据抽取与集成
如图2所示,职工主题数据仓库的数据抽取方式有以下两种:
第1种方式更为简单.第2种方式增加了中间ODS层(Operational Data Store),优点是中间层结构保存要加载的数据,结构更类似业务系统,减少数据转换处理过程对数据源的直接操作,减少对应用系统的冲击和影响.由于目前数据比较规整,数据不需要实时提取,并且提取频率不高,提取时间可以选择在业务操作不繁忙的时候进行,因此选择第1种方式更为合适.
使用可视化的流程编辑工具,提供流程定义和流程监控功能,实现了灵活的数据抽取和数据处理的功能.如图3表示了其中一项ETL定时作业,根据月发放数据相关信息,每个月需要将薪酬发放数据从业务系统抽取、转换并且装载到数据仓库中.
图2 数据抽取方式
图3 ETL
1.4 多维分析数据模型
复杂的统计分析报表大多是在人事部或者相关部门日常业务处理中所需要,有的数据是要求实时统计,有的报表涉及历史数据以及与历史数据的比较,有的报表会需要查看细粒度数据.根据关键业务指标、多维分析报表,设计实现了具有综合多维度性、复杂性的多维分析模型.
北京大学人事综合信息管理系统对学校正式职工从入校到减离全过程的信息进行管理,其中薪酬管理子系统对各类职工的工资、津贴和劳动报酬进行管理,自2009年10月逐步上线以来,迄今包括11类薪酬共计百余个薪酬项目,生成了在职、离退、博士后三类人员共两百多份月发放单,每学年末以及每自然年末会另外备份存储职工历史基本信息、薪酬历史基本信息.部门希望能及时、准确地从总体层面上反映出学校各类人员的待遇状态,核算教师成本、产出,进行概预算,保证教职工待遇按预算要求,持续、稳定、协调地逐步提高.以薪酬数据分析为例,表1的XML描述了模型中的一个立方体,包括时间维度、岗位维度、职称维度、人员细类维度等,分析指标包括各类津贴总额、人均、中位数等.
表1 一立方体片段
1.5 数据分析与展示
1.5.1 关键实现技术
系统的开发使用了目前流行的开源商务智能软件Pentaho[7],Pentaho BI平台是一个以流程为核心的、工作流驱动的可扩展平台,基于java,它包括一个web server平台和工具软件:报表,分析,图表,数据集成,数据挖掘等,用于解决商业智能问题.其中,BI Platform(Pentaho BI Platform and Server)提供BI构架和解决方案所需的基础,包括了一个集成的解决方案引擎,提供了报表、多维分析、表盘显示和数据挖掘组件.Kettle(Pentaho Data Integration,PDI),以元数据驱动方式实现的ETL工具,支持拖拽操作和图形显示,高效地完成了数据整合工作.
1.5.2 多维分析及展示
我们分类整理了信息项及其组织层次,包括各类职工信息项近200项,整理分析内容模型共22项,包括:
·职工分类情况多维分析
·在岗职工人员构成情况多维分析
·专任教师结构、教学情况多维分析
·职工年收入水平多维分析
·在岗和离退休职工工资多维分析
以薪酬数据分析为例,对在职、离退休、博士后按时间:月或年或一个时间段;按薪酬项目:单项或多项或全部;按人员的参数:职称、职务、学历等,按工作年限、来校时间、统计类别等对学校发放的薪酬总量、收入结构、人员结构以及年度收入的比较、总体发展趋势、群体集中趋势、离散程度和相关强度,分析和推测总体的特征和规律,能看清因果关系、比例关系、平衡关系,为制定适合北大特点的薪酬待遇提供依据.
2 支持大数据集成架构的BI分析系统设计
针对大数据与数据仓库统一管理与分析的应用需求,在充分调研分析适合混合架构的各种大数据技术的基础上,设计了基于传统数据仓库、Hadoop之上的透明访问网关和支持大数据混合架构的BI分析系统,具备跨平台、查询优化、权限控制、自动负载控制和元数据管理能力.该系统的架构设计如下:
数据透明访问和统一管理的原型系统将建立在传统的数据仓库和Hadoop平台的基础之上,系统架构如图4所示,系统分为三层,各层结构及功能描述如下:
·底层存储层:包括数据仓库、大规模数据库集群和Hadoop平台存储引擎,支持三者的混合存储,并能够支持上层的系统支撑层.
·元数据管理和查询接口层:元数据管理模块保存数据信息和异构环境之间的映射关系;查询接口包括面向数据仓库、大规模数据库集群和大数据平台的接口和元数据管理.使用面向数据仓库、大规模数据库集群和Hadoop平台的接口,让系统可以分别与底层异构环境通信.
·查询处理层:包括查询处理和查询优化两个部分,支持基于描述性查询语言的跨平台数据透明访问技术和跨数据平台高效的数据互通机制.
此架构的优势在于,查询处理和元数据与接口层发挥了数据库网关作用,封装了各种与平台有关的细节和通信协议等底层的配置,无需改变应用程序代码;数据库网关的局部改进和整体升级只要保持对外接口不变就不会影响到系统的其他部分;提供了数据仓库、Hadoop和数据库集群之上的透明访问和支持大数据集成架构的BI分析系统.
图4 支持大数据集成架构的BI分析系统
3 结束语
本文设计了基于数据仓库架构的多维分析系统,实现了面向人事管理领域的主题数据仓库及多维分析模型,满足了灵活高效的职工信息分析的需求;同时,设计了基于传统数据仓库、Hadoop和新型MPP数据库之上的透明访问网关和支持大数据集成架构的BI分析系统.下一步BI系统还将实现大数据混合架构下的统一数据分析和挖掘应用建设,让用户可以更加深入地从多种维度、多个侧面、多种数据综合观察、了解和分析数据,对其实行全面、系统的定量检查、检测和预警.
[1] Business intelligence[EB/OL].http://en.wikipedia.org/wiki/Business_intelligence.
[2] INMON W H.Building the data warehouse[M].3rd Edition.New York:John Wiley and Sons,2003.
[3] 李丽,王倩宜,欧阳荣彬.数据综合服务管理平台主体方案探讨[J].实验技术与管理,2011,28(5):4-6,16.
[4] 王倩宜,刘云峰.北京大学基于BI架构的报表和分析系统需求设计说明书[G].北京:北京大学计算中心,2013.
[5] 王倩宜,刘云峰.北京大学基于BI架构的“职工信息”报表和分析系统设计方案[G].北京:北京大学计算中心,2013.
[6] Big SQL有何重要意义?[EB/OL].[2013-07-29].http://www.ibm.com/developerworks/cn/data/library/bdbigsql/index.html.
[7] Pentaho[EB/OL].http://www.pentaho.com/.