OLAP在生产管理信息系统中的应用 软件测试工具
关键字:OLAP 生产管理信息系统摘要:
本文针对一个中小规模的制造型企业的生产管理信息系统,设计了一个OLAP和OLTP综合使用的方案。数据仓库采用数据集市形式。OLAP技术的使用,为企业决策层提供了一个了解企业运作情况的强有力的分析手段。
1.概述
本文针对OLAP技术在一个制造企业的生产管理信息系统中的应用做一个探讨。客户为一个典型的机械厂,下设若干个车间,员工规模为600人左右。要求建立生产管理信息系统来处理整个企业的技术、生产、库存、财务等方面的业务,并要求能对业务数据进行统计分析,为管理层提供决策参考。我们认为,综合采用OLTP和OLAP技术来开发整个信息系统是一种比较好的解决方案。因为:一、虽然业务数据的查询OLTP可以做到,但是要提取综合性数据时OLTP则显得力不从心,尤其是随着时间的推移数据量变得越来越庞大的时候;二、在整个系统的设计中综合考虑OLAP和OLTP技术可以充分发挥二者的特长,用OLAP技术可以减轻OLTP系统中查询和报表实现的难度和工作量,而且统一的设计可以保证二者数据的一致性,减小从OLTP系统提取数据的难度,提高OLAP系统数据分析的精确性。
限于篇幅原因,本文主要阐述OLAP部分的实现。
2.OLAP系统架构
当前市场上有很多OLAP产品,比如Oracle Express、DB2 OLAP Server等。由于OLTP系统的数据库采用的是Microsoft SQL Server2000,为了转换数据简单起见也为了减小软件投资,我们选择Microsoft SQL Analysis Services作为OLAP服务器。系统架构如图1所示:
图1 生产管理OLAP系统架构图
整个OLAP系统分为四个部分:一、OLTP基层数据库,它是分析数据的来源;二、储存分析所用数据的数据仓库,其源数据采用DTS或者脚本从OLTP数据库中提取和整理获得;三、OLAP服务器,是支持和管理多维数据结构的数据处理引擎。利用Microsoft OLAP Services创建的多维数据集也称立方(Cube),这种结构具有良好的性能,能够灵活快速的处理原始数据,具有比较快的响应速度;四、是前端浏览工具,使用Excel或者VB编制的程序可以对多维数据集进行查询,并以表格或者图形的方式提供给客户。
在这个系统中,OLAP数据和OLTP数据是分离的,这种架构不会对OLTP系统运行效率造成影响。
3.数据仓库和多维数据集的设计
OLAP建立在数据仓库的基础上。在设计中,我们没有采用标准数据仓库的形式,而是采用数据集市(Data Mart)的形式实现数据仓库。标准的数据仓库作为企业级应用,其涉及的范围和投入的成本常常是巨大的,它的建设很容易形成高投入、慢进度的大项目。数据集市是针对某一主题或者某一部门而构建的更小、更集中的数据仓库,它提供了一条部门/工作组级的分析商业数据的廉价途径。数据集市应该具备的特性包括:规模小、面向特定的应用、面向部门/工作组、快速实现、投资规模小、易使用、全面支持异种机平台等。用户可根据自己的需求,以自己的方式来建立数据集市。这种方式比较适合我们的客户。以后若有新的分析需求可以增加新的数据集市而不对现有结构造成不良影响。
数据集市有一个显著的特点是针对分析主题而设计。主题由需求决定。根据客户目前提出的需求,我们把数据集市分为三个主题:生产、库存和工艺。
以生产主题为例,OLTP系统负责生产计划和实际操作中各种技术细节的处理,产生了大量的数据。现在需要在这些生产数据的基础上进行如下分析:
针对每一个员工生产加工情况统计分析;
针对每一个车间生产情况统计分析;
针对每一次施工生产情况统计分析;
针对每一种产品类型生产情况统计分析;
针对每一种主材料加工情况统计分析;
分年、季度、月对生产情况统计分析。
考察OLTP系统,发现"工序执行情况"表中包含了所有的生产动态情况,对其处理得到生产事实表。
根据需求,选定部门(车间)、员工、施工单、产品类别、材料和时间作为维度表(Dimension Table)。由于分析时很多具体的细节不需要考虑,所以对OLTP的数据模型进行了筛选和转换。得到的多维数据集模型为星型雪花架构:
图2 生产主题多维度数据集的星型雪花架构图
采用相似的方法,可以得到库存和工艺多维数据集结构。得到多维数据集后,即可按照数据集的结构设定数据集市的表结构。由于数据集市之间是相互隔离的,所以各个数据集市可以单独运作。
根据业务数据和分析数据的物理模型可以用SQL Server的数据转换服务(Data Transaction Service)实现从OLTP系统到OLAP系统的数据提取、整理和加载。在加载前还必须进行一致性检查。对每条业务数据记录加上时间戳。数据采集并不对业务数据进行转换和汇总,因此它保持了业务信息的最低粒度,不仅可以作为生成业务统计指标的基础,而且也是以后对数据仓库进行数据挖掘的数据基础。各个数据集市的数据提取可以单独运作,通过系统调度可以每日/每月自动从业务数据库中采集统计数据。