您现在的位置是:首页 > IT基础架构 > 软件与服务 >

数据仓库建模与集成工具的设计与实现

2009-10-27 18:13:00作者:罗昌隆 黄梓龙 来源:

摘要本文从系统开发环境、体系结构、功能结构和实现的关健技术等方面介绍了自行开发的数据仓库建模与集成工具的系统。...

1 引 言

    随着计算机技术的飞速发展,电子数据越来越多,人们对数据处理的要求也越来越高,不仅要求在日常事务处理方面能得到令人满意的效果,而且要求能辅助分析决策,以供企业高层进行决策分析。为此,必须把分析型数据从事务处理环境中提取出来,按照分析决策处理的需要进行重新组织,建立单独的分析处理环境,数据仓库正是为了构建这种新的分析处理而出现的数据存储和组织技术。W.H.Inmon对数据仓库作了如下定义:数据仓库是一个用以更好地支持企业或组织进行决策分析处理的、面向主题的、集成的、不可更新的、随时间不断变化的数据集合。

    在企业或组织中建立数据仓库,需要借助数据仓库建模、集成和分析等工具,本文介绍我们设计并已实现了的数据仓库建模与集成工具(NYDWMI)系统。

2 开发环境

    目前的事务处理系统大都采用US结构,而数据仓库应用本身也是一个典型的CIS结构,其客户端的工作包括客户交互、格式化查询及结果和报表生成等,服务器端完成各种辅助决策的SQL查询、复杂的计算和各类综合功能等。因此,我们在开发仓库建模与集成工具系统时,也选用这种流行的US结构。

    客户端:
    操作系统为WIN 95或WIN 98
    开发工具为Delphi 5.0

    服务器端:
    操作系统为Win NT
    数据库管理软件为MS SQL Server 7.0

3 体系结构

    本系统支持构建数据仓库的基本步骤,包括仓库建模,源数据的抽取、变换和装载,以及元数据管理等。其体系结构见图1。相应的,这个体系结构分为3个主要模块:仓库建模、数据集成、元数据管理。考虑到ODBC(开发式数据库互连)已成为目前异构数据库互连的工业标准,大部分数据库管理系统都支持它,因此,我们选用ODBC作为本系统与数据库连接的基本部件。


图1 仓库建模与集成工具体系结构图

    3.1 仓库建模

    本系统采用基于关系数据库的仓库数据模型,基于关系数据库的仓库数据模型可以是简单的星型模型,也可以是复杂的雪片模式,一个星型模型可以只有一个事实表,也可以有多个事实表,本系统实现了用简单星型模型进行仓库建模的方法。该模块主要提供两个功能,第一为用户提供一个数据建模的可视化界面,第二根据用户的要求创建事实表和维表,并将数据模型的详细信息记录在元数据库中。

    3.2 数据集成

    数据集成模块主要完成数据的抽取、转换和装载,主要包括不同数据源之间数据类型的转换,重复记录的消除,字段的合并,以及生成装载日志等等。在数据装载完之后,假如数据源的数据发生改变,数据集成模块还必须将变化的数据装载进数据仓库,以保证源系统与仓库的数据一致性。

    3.3 元数据管理

    元数据管理模块负责管理数据仓库中的元数据,包括提供浏览元数据信息的可视化界面,以及为数据仓库制定各种索引策略,管理仓库的用户群等。

4 功能结构

    本系统可分为仓库建模、数据集成、仓库管理和日志四大功能,见图2。


图2 仓库建模与集成工具功能结构图


    4.1 仓库建模

    仓库建模包括创建主题和删除主题两部分,主题是相关实体信息的集成,在我们系统中,一个主题在物理上体现为一个星型模型,通过该模块可创建事实表、维表并选择数据来源,从而建立起仓库与源系统的映射关系。删除主题可以删除某些不再使用的主题以释放数据仓库的空间。

    4.2 数据集成

    当用户完成仓库建模工作后,接下来的工作就是数据装载。数据集成模块即用来完成该工作的,它包括数据初装和数据追加两部分。其中数据初装完成数据仓库的数据初始化工作,而数据追加则实现源系统和数据仓库的数据同步。

    4.3 仓库管理

    仓库管理包括元数据浏览、源系统浏览、索引管理和用户管理。其中元数据浏览模块将元数据以通俗易懂的形式呈现给用户,在此可查看数据仓库的数据结构信息,包括主题、事实表、维表、字段等及它们之间的关系,除此之外,在这里还可以查看仓库和源系统的映射关系;在仓库数据建模之前,首先要知道源系统的数据结构,浏览源系统模块给用户提供了分析源系统结构的界面;数据仓库存储着大量的数据,主要执行查询操作,有一个好的索引策略是非常重要的,在本系统中,索引管理模块给用户提供了创建索引的功能;用户管理模块管理仓库的用户群,给各种用户授予相应的权限,保证数据仓库的数据安全。

    4.4 日志

    仓库日志记录着数据仓库的各种活动,它以文本文件的形式存储,在此可查看系统的运行情况。

5 关键技术

    元数据模型是实现整个系统的基础,在数据仓库中起着至关重要的作用,几乎所有模块都是围绕着元数据模型而设计的。其结构及各表之间的关系见图3。


图3 数据仓库建模与装载工具元模型


    其中,表WH_WAREHOUSES是对整个数据仓库总的描述,一个数据仓库可能有多个数据来源,也会有多个主题;表WH_DATASOURCES和WH_SUBJECTS分别记录这两方面的内容,在本系统中,每个主题都是一个星型模型,它有事实表和维表,不管是维表或事实表,其信息都记录在表WH_TABLES中,在该表中,用table Type来判断它是事实表还是维表,这两种表的详细字段信息分别用表WHMEASURES(事实表字段)和WH_DIMENSIONS(维表字段)描述。它们都通过字段tid与WH_TABLES发生联系,用字段colid来表示其数据来源,也即表明了数据源和数据仓库的映射关系。

    在表WH_MEASURES中,mesasure Type说明该字段在事实表中处于什么样的位置:为0表示它是事实表的度量值;为1表明该主题的数据模型是个多星模式(Multi-Star Schema),该字段在事实表中属于没有参照维表的维码字段;若为2则说明该字段是参照了维表的维码字段,它通过字段did与其所参照的维表发生联系。在表WH_DIMENSIONS中,levelnum字段说明维表的粒度大小(或聚合水平)加在维表time_by_date中,有date,month,qtr,year四个水平的字段,其对应的leve为1,2,3,4。通过这些关系,我们可以很容易地构造出一个星型模型。

    表WH_DATASOURCES说明了数据仓库中所有的数据来源,在本系统中,数据源的名称是ODBC数据源的名称,description字段说明了该ODBC数据源的各种信息。表DS_TABLES和DS_TABLEATTRIBUTES包括源表与源字段的具体情况,它们通过dstid发生联系。这3个表描述了源系统的具体情形,它通过表DS_TABLEATTRIBUTES的字段colid与数据仓库发生映射关系。

    最后一个表WH_DATATYPES存放各数据源数据类型的相关信息,当在异质的数据源间交换数据时,首先将其转换为Delphi的公共数据类型,通过Delphi实现数据类型之间的转换。

6 结束语

    本文从系统开发环境、体系结构、功能结构3个方面介绍了自行开发的数据仓库建模与集成工具的系统,该系统实现了数据仓库的星型建模及数据集成,除此之外,该工具还能方便地浏览元数据,进行索引管理和用户管理等。随后介绍了实现过程的关键技术——元数据模型的设计,本系统当前正在功能和性能上加以提高。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们