数据仓库的多维数据分析器设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

片、切块、旋转等各种分析动作 , 以求剖析数据, 最 对小. 维通常是有层次的 , 例如, 时间维可以具有 多维数据集的存储模式有三种 型和雪花模型. 星形模型和雪花模型 的多维结构

第 41 卷

第 6 期

厦门大 学学报( 自然科学版)

Vol. 41 No. 6 2002 年 11 月

Journal of Xiamen University ( Natural Science)

Nov. 2002

文章编号: 0438 0479( 2002) 06 0697 04

数据仓库的多维数据分析器设计与实现

段江娇, 薛永生, 令狐荣珊

( 厦门大 学计算机科学系, 福建 厦门 361005)

摘要: 实现多维数据分 析是数据仓库系统需要具备的一 个主要 功能, 它接受 用户的 多维数 据查询 请求, 生成多 维

数据集, 为建立数据挖掘模型提供基础数据. 本文讨论了基于 Microsoft SQL Server 2000 的多维数 据分析器的 实现. 简 要介绍了多维数据分析的基本原理, 并在 DSO 、ADO MD 及 MDX( 多维数据表达式) 等技术的基础上, 构造 了一个多 维 数据分析器. 最后, 给出了多维分析器的实现实例.

关键词: 数据仓库; OLAP; 多维数据集; 多维分析 中图分类号: TP 311. 131

联机分析处理 OLAP ( On_Line Analytical Process ing) 是数据仓库技术的一个重要组成部分. OLAP 技 术是通过 OLAP 服务器, 将数据仓库的数据 抽取和 转换为多维数据结构, 以反映用户所能理解的企业 的真实的 维 , 然后通过多维分析工具对信息的多 个角度、多个侧面, 进行快速、一致和交互的存取, 从 而使分析人员、经理和管理人员能够对数据进行深 文献标识码: A

多维分析对多维 形式组织起来的数据采取切 [ 1]

终用户能从多个角度、多侧面地观察数据库中的数 据. 在进行多维分析时, 分析的目标数据称为事实数 据, 如销售量、销售额等. 这些数据日积月累, 数量庞 大. 事实数据的属性称为 维 , 如销售的时间、客户、 产品、地区等. 它们的内容一般变化不大, 数量也相 入的分析和观察

[ 1]

. 其中, 数据抽取和转换工具将数

[2]

据按照一定的要求, 导入到多维数据仓库中, 数据仓 库的使用者通过前端访问和分析工具, 对多维数据 分析产生的数据集按照一定的方式进行显示输出. 而多维数据分析, 则根据前端工具输入的数据查询 日 月 年 这三个层次, 地区维可以具有 城市 省 地区 三个层次. 在数据仓库中维可以具有不同的粒 度级, 例如, 年 对应于高粒度级, 日 对应于低粒 度级.

请求获取数据, 并生成一定格式的数据集.

[ 3,4]

: 多维 OLAP

上述多维数据分析过程是由多维数据分析器操 作而成, 本文着重讨论基于 Microsoft SQL Server 2000 的多维数据分 析器的设 计以及基 于 DSO 、ADO MD 及 MDX( 多维数据表达式) 等技术的实现方法.

( MOLAP) 、关系 OLAP ( ROLAP ) 和混合 OLAP ( HO

LAP) .

本文中所讨论的多维数据分析是基于ROLAP, 在 ROLAP 体系结构中, 数据的组织方式分为星形模

1

多维数据分析的基本原理

[ 1, 5]

都划分为两类表: 一类是事实( fact) 表, 用来存储事 联机分析处理 OLAP 是对数据的一系列交互查 询过程, 这些查询过程要求对数据进行多层次、多阶 段的分析处理, 在 OLAP 中, 多维数据集( cube) 是分 析的基本单位. 一个多维数据集代表了一个特殊的 可查询区域, 是由一定数目的维度和度量结合而成 的整体存储单位.

收稿日期: 2002 05 13

实的度量( measure) 值及各个维的码值; 另一类表是 维表, 即维 的描述信息, 包括维的层次 及成员类别 等. 基于关系数据库的 OLAP 的维表和事实表都是 用二维关系表的方式存放的.

进行多维数据分析的几个基本步骤如下: 1) 创 建一个分析服务数据库, 并指定该数据库的数据源;

2) 创建多维数据集, 创建事实表、维度表, 定义 度量的数据列, 并根据业务要求, 设定维度的粒度;

3) 选择存储方式: MOLAP, ROLAP 或 HOLAP;

库开发技术 , 使得用户可以根据需要开发自己的

! 698 !

厦门大学学报( 自然科学版)

2002 年

本文所描述的多维数据分析器即是实现以上步 骤的一个集成器.

2

基于 SQL Server 2000 的多维数据分

析器实现的关键技术

2. 1 SQL Server 2000 对多维数据分析开发的

支持

Microsoft SQL Server 2000 提供了相关的数据仓

[3]

应 用 程 序. 多 维 表 达 式 MDX ( Multi dimensional Express) 支持对多维数据集的操作. ADO MD 是 ADO 的扩 展, 它 允 许 基于 COM 的 应 用 程序 通 过 用 于 OLAP 的 OLE DB 接口实现对多维数据源的操作. 包 括在 OLAP 数据库中对多维数据集层次结构的只读 图 1

基本的 DSO 对象模型 访问; 查询处理和数据检索功能. DSO( Decision Sup port Object , 决策支持对象) 提供了对 OLAP 数据库的 管理能力. 基本的 DSO 对象模型如图 1 所示.

本文所讨论的多维分析器在实现时具体要用到 的技术:

1) 利用 DSO 对象模型访问分析服务器, 提供有 关分析服务器中多维数据库和多维数据集的信息;

2) 利用 ADO MD 对象模型对 OLAP 数据库中多 维数据集层次结构的只读访问; 3) 利用 ADO MD 对象模型对 OLAP 数据库中的 多维数据进行查询处理和数据检索, 支持 MDX 语句 的执行以及对结果数据集的分析;

4) 程序内部动态生成 MDX 查询语句, 对多维 Fig. 1 Model for basic DSO

己选择分析服务的提供者、分析服务器的位置、以及 多维数据库和多维数据集. 同时系统也将本地多维 数据集列表显示, 用户可直接选择一个多维数据集 作为多维数据分析的数据源.

在多维分析模块中, 通过 ADO MD 对象模型和

PivotTable Service 提供的服务, 访问多维数据 集. 列 表显示出多维数据集的所有维度和度量值. 由用户 自己选择数据显示的维度和度量值, 根据用户选择 的维度和度量值, 构造 MDX 查询语句进行多维查询 分析, 利用 ADO MD 对象模型的 Cellset 对象存储多 维分析结果, 最后显示多维数据, 供用户查看数据.

数据集中的数据进行查询, 根据用户选择的行维和 2. 3 创建分析服务数据库

列维, 对数据进行多维分析, 并平面化的显示多维分 析结果.

通过 Visual Basic 开发工具与 SQL Server 密切结 合, 可以通过访问其基本的 DSO 对象而实现对 SQL Server 的二次开发.

在 Server 对象的 MDStores 集合上调 用 AddNew 方法创建分析服务数据库. 语法形式如下:

dsoServer.MDStores. AddNew 数据库名

调用 DataSources 集 合的 AddNew 方法, 添 加包 括连接字符串在内的相关属性, 为分析数据库指定 2. 2 多维分析器的设计

一个新的数据源, 如下:

多维分析器的功能结构如图 2 所示. 本系统主 要是在分析服务器和数据透视表服务的基础上, 对 多维数据集当中的数据进行多维分析. 本系统提供 一个由用户自己选择数据源的向导: 可以由用户自

Dim dsoDataSrc As DSO. DataSource

Set dsoDataSrc = dsoDb. Datasources. AddNew ( 服务器名+ 数据库名)

DsoDataSrc. ConnectionString = Provider = SQLOLEDB. 1; & Data Source= 服务器名; Initial Catalog= 数据库名; & In tegrated Security = SSPI

相关文档
最新文档