基建工程数据仓库构建与应用研究

2016-12-27 14:49王朝霞郭宇栋谈昨非孟月昊
中国管理信息化 2016年21期
关键词:数据仓库

王朝霞++郭宇栋++谈昨非++孟月昊

[摘 要] 完整而规范的数据仓库既能解决异构数据源集成问题,也为多维数据分析和数据挖掘提供数据支撑。本文基于基建工程数据仓库研究和建设的实际做法,阐述了基于数据仓库的决策支持系统架构与相应的商业智能开发平台构建,系统建设中数据仓库的设计、数据收集的ETL设计、数据分析的OLAP设计和数据展示的报表设计,希望通过探索和研究,为基本建设工程领域构建规范化数据仓库提供参考和借鉴意义。

[关键词] 数据仓库;ETL;OLAP;Report

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2016. 21. 085

[中图分类号] TP392 [文献标识码] A [文章编号] 1673 - 0194(2016)21- 0163- 06

0 引 言

经过多年发展,基本建设工程领域各个业务部门开发并使用各类管理信息系统,积累了大量业务数据。然而,现有系统互不联通,相应的数据资源被分割在不同的系统中,无法实现跨系统综合查询与分析,同时,在现有系统中,统计查询仅仅作为一种辅助功能,直接基于业务数据库进行简单的浏览查询和统计汇总。因此,如何将异构的数据资源集成在一起,实现跨系统、跨表、全面灵活的统计查询与分析,为基建工程精细管理与科学决策提供信息化手段支撑,成为目前的重要研究课题。本文提出了一种基于数据仓库的基建工程决策支持系统框架、搭建了自主集成的商业智能平台,在此基础上重点阐述基建工程数据仓库的建设,以及数据仓库之上的数据分析应用。通过构建数据仓库,有效解决数据不一致、冗余、异构等问题;同时,基于数据仓库的基建工程决策支持系统支持多维数据分析和数据挖掘,更好地支撑基建工程管理和决策[1]。

1 系统架构与平台构建

1.1 系统架构

基于数据仓库的基建工程决策支持系统框架主要包括:数据源层、数据处理层、数据存储层、应用服务层和用户访问层。

1.1.1 数据源层

数据源层是数据仓库系统的数据来源,基建工程业务涉及的数据源主要分布于工程计划、房屋土地、住房、两项普查等核心业务系统。

1.1.2 数据处理层

数据处理层采用统一的ETL调度平台,实现对原始数据抽取、清洗、转换、加载,消除数据间的不一致和冗余,按数据仓库模型结构重新组织数据并加载到数据仓库,形成能够对决策提供支持的多重粒度级的数据仓库标准化数据。

1.1.3 数据存储层

数据存储层主要包括操作数据层(ODS)、基础数据层(EDW)和数据集市层(DM)3层。ODS层与EDW层共同构成企业统一数据平台。ODS层主要实现企业数据整合、共享和准实时运营监控等功能,EDW层为中央数据仓库,将不同的OLTP数据集中到面向主题、集成、稳定、随时间变化的统一数据层中,主要为企业提供分析决策服务。DM层是针对各部门的特殊分析需要设计独立数据集市(即EDW的子集),建立维度汇总信息,为不同部门业务应用建立汇总数据区。

1.1.4 应用服务层

应用服务层是访问数据仓库信息的核心,它接收用户请求访问数据仓库,生成各种形式的复杂报表,并以多种方式展现,包括预定义报表、多维分析、即席查询、数据挖掘等。

1.1.5 用户访问层

用户访问层是数据服务与决策人员、管理人员、分析人员和业务人员等用户之间的接口,该层提供用户对数据仓库数据的浏览、请求、存取等服务,以及向用户的数据交付。

1.2 自主集成的基于Pentaho的BI平台

针对基建工程决策支持系统框架,在开源的商业智能BI(Business Intelligence)平台基础上构建自主集成的BI平台。构建平台分两步走:首先是开源商业智能BI平台选型,其次是自主集成商业智能平台。

1.2.1 开源商业智能平台选型

选择开源的商业智能BI平台的依据有:平台具有开放性、灵活性和功能全面。开放性是指源代码开放,在此基础上才能实现灵活性;灵活性是指平台小巧,可移植,可集成;功能全面是指具有通用商业智能平台的数据集成、数据存储、数据分析和数据展现功能。通过追踪权威咨询机构Gartner从2010-2016年的年度BI报告[3],开源BI平台Pentaho连续6年入围商业智能魔力四象限图,因此,我们选择Pentaho作为决策支持系统的商业智能平台。Pentaho满足通用商业智能平台数据集成、数据存储、数据分析和数据展现的功能[4],此外,Pentaho主要目标是和商业BI抗衡,市面上已经有一些基于Pentaho的决策支持系统研发的实例可供参考[5-7]。然而,Pentaho在页面框架设计的灵活性和报表展现的美观性两方面能力较弱,同时,考虑到对大数据存储与分析的需求,基于Pentaho平台我们提出一种自主集成的商业智能BI平台。

1.2.2 自主集成BI平台

自主集成的商业智能平台分为数据持久化层、服务层、控制层、表现层。数据持久化层集成了文件访问、Hibernate和JDBC,Hibernate是一个开源框架,是对象关联关系映射的框架,支持各种关系数据库,对JDBC做了轻量级的封装,因此,能够很好地支持对异构数据源的访问。数据持久层之下集成了Hadoop生态圈的HDFS、Hbase、Hive和Spark,支持批量数据、实时数据和增量数据的存储和访问[8-17]。服务层包含Pentaho的即席查询、多维分析展示、OLAP引擎、多维立方体构建等功能组件,并集成了数据挖掘构件Weka,大数据分析构件Mahout、MLLib,ETL构件Kettle、Sqoop等。控制层采用Spring MVC,分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让他们更容易进行定制。表现层则采用基于Web前端开源框架Bootstrap的ACE页面框架模板,能够实现灵活的页面设计。平台对每一层都提供了相应的支持,系统开发时,可以方便访问已有的公共构件。上述技术均是基于Java实现,符合开放源码基础软件要求。

2 系统建设

本文以基建工程的“基本建设与房地产资源”两项普查数据和基建工程各处室在用的18个业务系统的业务数据为数据源建立数据仓库,在数据仓库之上建立多维数据模型,利用自主集成平台中Pentaho的OLAP引擎Mondrian对数据进行多维度、多层次分析,并通过Saiku将分析结果展现出来。利用ACE页面框架做报表展现。

2.1 数据仓库建模

数据仓库模型是针对特定的数据仓库应用系统的数据模型,在整个数据仓库的建模过程中,一般需要经历四个过程:业务建模,生成业务模型,主要解决业务层面的分解和程序化;领域建模,生成领域模型,主要是对业务模型进行抽象处理;逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化;物理建模,生成物理模型,主要解决逻辑模型针对不同关系型数据库的物理化以及性能等一些具体的技术问题[1]。本节重点介绍基建工程数据仓库的业务建模、逻辑建模和物理建模。

2.1.1 业务建模

结合基建工程业务特点,将基建工程数据仓库内容规划为公共基础、工程建设管理、土地、住房管理、环保绿化和空余房地产等六大业务管理主线,在每个业务主线内,考虑相应的业务主线需要分析的业务主题(图1)。

公共基础主题:指地区、单位、坐落和分栋四类基础信息,公共基础主题是数据仓库中最基础、最核心的内容,所有的业务活动都是围绕地区、单位、坐落和分栋展开,与其他主题产生紧密联系。

工程建设管理主题:存放机场、地下工程、地面工程、人防工程等设施数质量情况,泵类、风机、柴油发电机组、配电屏(柜)、控制台、变压器、除湿机、空调、电加热器和锅炉等设备数质量情况。

土地主题:存放土地资源信息,包括土地资源总量,按城乡、按地域、按地势资源分布信息。

住房管理主题:存放公寓房、经济适用房、住用人员等相关实体,包括:住房数质量情况,住用情况。

环保绿化主题:存放污染治理、绿化资源、放射性污染源等相关实体,包括:污染源总体情况与污染设施总体情况,绿化资源总量与分布情况,放射源与射线装置的种类、用途、数量、分布、使用和管理状况。

空余房地产主题:存放空余房地产、租赁管理等相关实体,包括:储备房地产、整坐落空余房地产、成片空余营区数质量情况,租赁坐落、项目、审批、缴费办证情况。

2.1.2 逻辑建模

目前业界较为流行的数据仓库的逻辑建模方法主要有范式建模法,维度建模法,实体建模法等。对于本系统来说,ODS层模型的表结构与业务系统保持一致,因此,其逻辑模型采用与关系数据库相一致的实体关系模型。EDW层数据模型依据图3的主题划分建立统一的数据模型。同时,根据部门业务决策分析需求,采用维度建模法建立对应的数据集市(DM,Data Market)模型。例如,住房管理业务关注从不同地区、不同单位、不同人员类型、不同户型、不同住房性质等角度来掌握住房的面积、出售情况、套数、住用率,空置率等,因此,按照事实表,维表来构建住房星型数据模型(图2)。

2.1.3 物理建模

物理建模是将前面的逻辑数据模型落地的一个过程。首先是生成创建表的脚本,其次是针对数据集市的需要,按照维度建模的方法,生成事实表和维表等。在这里,我们介绍住房管理主题物理建模的方法。住房管理主题物理建模其实是建立住房管理多维立方体,该立方体为OLAP分析服务。本文借助Pentaho的Schema workbench来设计数据立方体,构建物理的事实表和维度表。如图3所示,该立方体包括一个住房事实表(图3的zffact表),多个维度表(例如,人员类别表见图3的rylb表,住房性质表见图3的zfxingzhi表等)。

将源数据加载到数据仓库的过程有两种形式,一种是进入数据库后再进行清洗和转换,另一种是首先进行清洗转换再进入数据库。自主开发的集成平台中已经集成了Kettle和Sqoop两个数据ETL工具。其中,Kettle是集成在Pentaho中的开源ETL工具,支持将源数据库(一般是关系数据库)中的数据进行清洗转换后再装载入数据仓库。Sqoop是用于Hadoop大数据存储和关系数据库数据存储相互转移的开源工具。目前主要是将业务数据库中的数据抽取到数据仓库中,因此,本文采用Kettle实现从源数据层到数据仓库层的数据清洗、转换和加载。图4是采用Kettle加载住房管理主题数据集市的过程。

2.3 数据分析应用实例

在数据仓库基础上,基建工程分析决策系统目前实现了:采用ACE页面框架实现统计报表功能,例如,采用文本描述与饼图展示相结合的方式统计住房数质量情况,为进一步优化配置住房资源提供科学的决策依据,如图5;采用Pentaho的Mondrian和MDX实现多维交叉分析功能,并利用Saiku实现多维分析展现,例如,从使用单位、户型分类、住房质量等多个维度掌握住房分布情况,支持下钻、旋转等操作,并支持自定义多维分析,为住房精细化管理提供数据支持,如图6。

将源数据加载到数据仓库的过程有两种形式,一种是进入数据库后再进行清洗和转换,另一种是首先进行清洗转换再进入数据库。自主开发的集成平台中已经集成了Kettle和Sqoop两个数据ETL工具。其中,Kettle是集成在Pentaho中的开源ETL工具,支持将源数据库(一般是关系数据库)中的数据进行清洗转换后再装载入数据仓库。Sqoop是用于Hadoop大数据存储和关系数据库数据存储相互转移的开源工具。目前主要是将业务数据库中的数据抽取到数据仓库中,因此,本文采用Kettle实现从源数据层到数据仓库层的数据清洗、转换和加载。图4是采用Kettle加载住房管理主题数据集市的过程。

2.3 数据分析应用实例

在数据仓库基础上,基建工程分析决策系统目前实现了:采用ACE页面框架实现统计报表功能,例如,采用文本描述与饼图展示相结合的方式统计住房数质量情况,为进一步优化配置住房资源提供科学的决策依据,如图5;采用Pentaho的Mondrian和MDX实现多维交叉分析功能,并利用Saiku实现多维分析展现,例如,从使用单位、户型分类、住房质量等多个维度掌握住房分布情况,支持下钻、旋转等操作,并支持自定义多维分析,为住房精细化管理提供数据支持,如图6。

3 结 语

本文阐述了基于数据仓库的基建工程决策支持系统架构与商业智能开发平台构建,详细介绍了基建工程数据仓库的数据建模、数据分析与展现的技术实现。后续工作将在数据仓库及多维分析基础上,采用数据挖掘技术,在项目计划动态排序、工程建设“三超”评估、房地产资源配置优化、保障能力评估、基建工程管理制度辅助决策等方面进行更深层次的知识挖掘。

主要参考文献

[1][美]罗伯特·拉柏格.数据仓库应用指南:数据仓库与商务智能最佳实践[M].祝洪凯,译.北京:机械工业出版社,2012.

[2]赵卫东.商务智能[M].第3版.北京,清华大学出版社,2014.

[3]Gartner. Magic Quadrant for Business Intelligence and Analytics Platforms[EB/OL]. http://www.gartner.com/doc/2668318/magic-quadrant-business-intelligence-analytics,2016.

[4]Roland Bouman, Jos van Dongen. Pentaho Solutions: Business Intelligence and Data Warehousing with Pentaho and MySQL[M]. Wiley Publishing Inc, 2009.

[5]曾希强.基于Pentaho的电话中心商务智能系统设计与实现[D].成都:电子科技大学,2013.

[6]陈荣鑫,付永刚,陈维斌.基于Pentaho的商业智能系统[J].计算机工程与设计,2008,29(9):2407-2409.

[7]范鑫,何中威,张素伟.基于Pentaho的数据中心研究及应用[J].计算机与现代化,2015(11):12-16.

[8]赵英杰.基于商业智能技术的决策支持系统设计与开发[D].北京:北京工业大学,2012.

[9] 杨海波,李建林,洪贞启.潜射导弹作战指挥辅助决策支持系统框架[J].火力与指挥控制,2015, 40(1):122-125.

[10]毛莺池,闵伟,接青,等.基于动态影像的实时数据仓库存取处理技术[J]. 计算机与现代化,2015(3):108-112.

[11]何丽丽.商务智能决策支持系统框架的研究与设计[D].哈尔滨:哈尔滨工业大学,2012.

[12]夏火松,甄化春.大数据环境下舆情分析与决策支持研究文献综述[J].情报杂志,2015,34(2):1-7.

[13]罗贺,杨善林,丁帅.云计算环境下的智能决策研究综述.系统工程学报[J].2013,28(1):134-143.

[14]崔杰,李陶深,兰红星.基于Hadoop的海量数据存储平台设计与开发——计算机研究与发展[J].2012(s1):12-18.

[15]赵长明. 我国二手房地产交易价格风险的核算[J]. 统计与决策,2014(1):96-99.

[16]高献卫,师智斌.基于Mahout的新用户推荐算法的设计与实现[J].计算机工程与科学,2015,37(8):1444-1449.

[17]唐长城,杨峰,代栋,等.一种基于Hbase的数据持久性和可用性研究[J].计算机系统应用,2013,22(10):175-180.

猜你喜欢
数据仓库
基于数据仓库的数据倾斜解决方案研究
地理信息数据仓库的技术研究
基于数据仓库的住房城乡建设信息系统整合研究
页岩气工程大数据仓库建设与管理系统开发
分布式存储系统在液晶面板制造数据仓库中的设计
探析电力系统调度中数据仓库技术的应用
数据仓库系统设计与实现
基于数据仓库的数据分析探索与实践
数据复用在存储数据仓库中的运用
论销售数据仓库的需求分析和概念模型设计