1 OLTP和OLAP
企业常见的数据处理工作,大致可以分成两大类:OLTP(On-Line Transaction Processing,联机事务处理)和OLAP(On-Line Analytical Processing,联机分析处理)。
1.1 OLTP
联机事务处理系统(OLTP),也称为面向交易的处理系统,其基本特征是顾客的原始数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果。
1.2 OLAP
联机分析处理(OALP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的,是使分析人员、管理人员或执行人员能够从多种角度对从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业维特性的信息进行快速、一致、交互地存取,从而获得对数据的更深人了解的一类软件技术。
2 OLAP系统设计
整个ERP的OLAP系统采用B/S模式,大致分为四层(如图1所示):第一层是源数据层,存储了整个ERP系统的业务细节数据。第二层是OLAP数据仓库层,源数据库中的结构未经过系统化,其组织形式是面向具体应用的。数据抽取程序将源数据按主题进行归纳整理,存入OLAP数据库中,提供适合OLAP分析的详细、集成、准确的客户基础数据。第三层是OLAP服务器层,保存了分析所需的客户聚集数据和相关的元数据,代理用户的分析请求,获取分析数据并返回给用户。第四层是应用层,这层让用户根据模型信息,提交分析请求,然后将获得的数据按用户所需要的方式展现。
OLAP服务器层是本系统的核心,其详细结构如图1所示,主要由OLAP立方体计算和OLAP多维引擎两大模块组成。
3 OLAP数据库的设计
MOLAP(基于多维数据库的OLAP),它是建立专有的多维数据库来存储OLAP所分析的数据,数据以多维方式存储;二是ROLAP(基于关系型数据库OLAP),它是利用现有的关系数据库技术通过建立中间表来模拟多维数据;三是HOLAP,它将MOLAP和ROLAP的功能结合在一起,将整合的数据按多维结构存储,而大多数的细节数据存放在关系数据库中。
上述三种OLAP技术各有所长。就本系统而言,因ERP系统数据量大,考虑到ROLAP在处理大规模数据方面的优势,所以采用ROLAP方式。
ROLAP采用星型模式或雪花模式组织多维数据。我们采用星型模式对数据仓库层中的客户细节数据进行组织,如图2所示,由一个客户事实表和五个维表组成。系统维表由时间维、科目维、机构维、货币码维、客户号维构成。客户事实表中存储维码和由各维码确定的客户信息数据。