<wbr><wbr><wbr><wbr><wbr> 本文发表于中文核心刊物《计算机工程与设计》2005年1期。</wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
<wbr></wbr>
基于关系数据库的数据仓库星形模式下维使用原则的研究与探索
马根峰<wbr><wbr></wbr></wbr>
(广东电信公用电话管理中心<wbr> 广州 510635)</wbr>
摘要<wbr><wbr><wbr> 星形模式是基于关系数据库的数据仓库中的一个著名概念,由于星形连接模式的设计思想能够满足人们从不同观察角度(维)分析数据的需求,所以在基于关系数据库的数据仓库的设计中广泛地使用了星形模式。在使用数据仓库来回答综合性问题的场合,通常可以使用OLAP工具实现记录不多的较高粒度表的维度旋转来满足不同分析的需要;而在数据仓库中较高粒度表中记录非常多或者还要经常回答细节问题的场合,则还必须对数据仓库中记录非常多的较高粒度的表或者细节级表进行维度转换。但通常的OLAP工具难以处理几十万条记录数据表的维度旋转,针对这种应用场合,笔者提出了一种”有选择地使用维的星形模式”,在事实表中避开使用要旋转的维,用存贮过程编写程序高效地实现OLAP工具相应的功能,对星形模式下维的使用原则做出了一定的探索。</wbr></wbr></wbr>
关键词<wbr><wbr><wbr> 数据仓库;星形模式;维度 ;OLAP</wbr></wbr></wbr>
<wbr></wbr>
<wbr></wbr>
the research of the restricted use of Dimensionality in Star Schema in Data Warehousing based on RDS
MA Gen-feng<wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> (Public Payphone Center, Guangdong Telecom Corporation, Guangzhou 510635)
ABSTRACT:<wbr></wbr> Star Schema is a famous conception in Data Warehousing based on RDS. It’s widely used in Data Warehousing based on RDS for its convenience for people to analyze data from different angle. In the situation for people using
Data Warehousing to answer the all-around question, OLAP tools is usually used to circumrotate the Dimensionality of high granularity tables with a few records for the requirement of analyse. If there is a great deal records in high granularity tables or In
the situation for people using Data Warehousing to answer the detail question, it’s necessary to circumrotate the Dimensionality of those high granularity tables or the detail tables in Data Warehousing. While it’s very difficult for OLAP tools to circumrotate
the dimensionality of tables with more than ten thousands records, I issue a new Star Schema with restricted using of dimensionality. In this Star Schema the fact tables without the dimensionality to be circumrotated is designed, then I develop a program using
stored procedure to implement the corresponding function of OLAP tools in high efficiency. In this process definite research is done about the rule of using dimensionality in Star Schema in RDS.
KEY WORDS: Data Warehousing; Star Schema; Dimensionality; OLAP
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
1 引言
<wbr></wbr>
星形模式是基于关系数据库的数据仓库中的一个著名概念,由于星形连接模式的设计思想能够满足人们从不同观察角度(维)分析数据的需求,加上数据仓库通常用来回答综合性的问题,并且通常的OLAP工具可以很轻松地实现记录不多的较高粒度表的维度旋转来满足不同分析的需要,所以在基于关系数据库的数据仓库的设计中广泛地使用了星形模式,如电信运营商中普遍进行的话务总体分析。在这种总体分析中,主要分析某一计费月各地区的总体话费及其在不同计费月期间的变化。
<wbr></wbr>
而在数据仓库中较高粒度表中记录非常多或者还要经常回答细节问题的场合,则还必须对数据仓库中记录非常多的较高粒度的表或者细节级表进行维度转换。如在目前电信市场尤其是公话市场竞争激烈的今天,广东电信公用电话管理中心的经营分析人员迫切进行的公话终端(首先是一百多万部200专用话机)话费的动态分析。在这种话费的动态分析中,不仅要分析分析各地区、各市县、各支局、各用户类型以及它们不同组合情况下的200专用话机在某一计费月的总体话费及其在不同计费月的变化,而且还要从细节上分析带来这些变化的一百万多万部200专用话机在某一计费月的话费在不同计费月期间的变化。因为只有这样才能了解200专用话机总体话费及其变化的原因或找出其中的规律,为管理者决策提供依据。但通常的OLAP工具难以处理几十万条记录数据表的维度旋转,更不用说是对每个月都有一百多万条话费记录的200专用话机话费细节表在时间维度上的旋转了。笔者在”基于数据仓库和维度转换的广东电信公用电话200专用话机话务的动态分析系统”的研究与开发过程中,在数据仓库星形模式设计时有选择地使用维,在星形模式中各粒度200专用话机话费表中避开使用时间维,然后用存贮过程编写维度转换程序代替OLAP工具来旋转操作型环境下话费表中的时间维,在PC机上每一次只需要一个小时就完成了一个月一百多万条记录的操作型环境下话费表的维度转换并生成了数据仓库中各粒度表的数据,轻松地实现了一百多万部200专用话机话费的动态分析,对数据仓库星形模式下维的使用原则做出了一定的探索。
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
2<wbr> 只回答综合性问题场合下的星形模式及OLAP处理</wbr>
<wbr></wbr>
<wbr><strong><wbr>2.1 星形模式设计</wbr></strong></wbr>
在只回答综合性问题的场合,也是绝大多数应用数据仓库的场合,由于OLAP只涉及数据仓库中记录不多的较高粒度的表,所以在这种场合,数据仓库中各粒度表都使用尽可能多维的星形模式。如下面电信运营商为了进行总体话费分析所采取的星形模式,在这种星形模式下,事实表中包含着用于分析的指标(话费)和联接众多维表的主键。
<wbr></wbr>
<wbr><wbr></wbr></wbr>
......
<wbr></wbr>
<wbr><wbr><wbr></wbr></wbr></wbr>
<wbr></wbr>
2.2<wbr> 使用OLAP工具进行话费总体分析</wbr>
对于图2中的高度综合表,由于广东电信下属22个分公司,公用电话话机有20种类型,所以10年内表中的记录数为52800条记录,所以完全可以用OLAP工具对高度综合表进行维度转换,将时间维从事实表中去掉来完成几个月来各地区、各话机类型或者各地区的各种类型话机话费的总体变化,完成总体话费的分析。
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
3 有选择地使用维的星形模式及话费动态分析的实现
<wbr></wbr>
在图1至图3中,如果要进行各地区、各市县、各支局不同类型话机话费的动态分析,则还必须对图2中的轻度综合级表进行维度转换,而广东电信现有1400多个支局,那么一年内轻度综合级表中的记录就达到30多万条,在这种情况下用OLAP工具来分析几年间话费的变化就难以实现,更不用说对一年内就达1200多万条记录的200专用话机话费细节表进行200专用话机进行话费的动态分析了。笔者曾经使用OLAP工具BrioQuery在PC机上实现200万条记录的话费细节表在时间维度上的转换,运行135个小时也没有转换成功。在电信市场尤其是公话市场竞争日益激烈的今天,为了实现经营分析人员所迫切进行的200专用话机话费的动态分析,必须对上面的星形模式进行特殊的处理,笔者所采用的方法是在事实表中有选择地使用维,将事实表200专用话机话务中的时间维去掉,在事实表中增加各个时间维成员作为事实表的字段,使用存贮过程编写维度转换程序来代替OLAP的操作。
<wbr></wbr>
<wbr><wbr><wbr><strong>3.1有选择地使用维的星形模式</strong></wbr></wbr></wbr>
<wbr></wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>
…<wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
对于关系模式的这种设计,大家可能会一方面质疑它的扩展性,即它能进行其它时期话费的动态分析吗?另一方面可能会质疑如果它可以扩展来进行其它时期话机话费的动态分析,那最多进行多少年话机话费的动态分析?在笔者开发的200专用话机话费的动态分析系统中,只要在选择性使用维的星形模式中各级话费表中增加几个月份的金额字段,在我编写的维度转换程序中增加几个变量及几条赋值语句,就可以统计分析许多年的话费数据;两者,MS
SQL SERVER7.0最多支持1024列的表,这可以用来统计分析80多年的数据。
<wbr></wbr>
3.2 话务表中时间维的旋转
在笔者开发的200专用话机话费的动态分析系统中,笔者采用的方法是每个月对该月的话机话务表和图4中的细节表进行合并,这样做的优点一是每次只需要处理一个月一百多万条200专用话机话费记录,而不是像OLAP工具那样处理n个月的话费数据;二是经过查询优化,在PC机上每一个月200专用话机话费表的合并操作只需要一个小时的处理时间。具体合并过程如下图所示:
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
4 结束语
<wbr></wbr>
对于使用数据仓库来回答综合性问题的场合,星形连接模式可以满足决策者从不同的维来观察数据的需求,并且通常的OLAP工具可以实现记录不多的综合级表的维度旋转。笔者曾在PC机上使用某一OLAP工具来实现两个月200多万条话费记录的维度转换时,运行了xx小时也没有完成时间维的转换操作。而在数据仓库中较高粒度表中记录非常多或者还要经常回答细节问题的场合,则还必须对数据仓库中记录非常多的较高粒度的表或者细节级表进行维度转换。如分析电信运营商中几十万、几百万乃至于几千万部话机在时间维不同维成员的话费变化时,通常的OLAP工具却难以完成这样的操作。笔者在”广东电信公用电话200专用话机话务的动态分析系统”的研究与开发过程中,在数据仓库设计时有选择地使用维,在星形模式中各粒度200专用话机话费表中避开使用时间维,然后用存贮过程编写维度转换程序代替OLAP工具来旋转操作型环境下话费表中的时间维,在PC机上每一次只需要一个小时就完成了一个月一百多万条记录的话费表的维度转换并生成了数据仓库中各粒度表的数据,轻松地实现了一百多万部200专用话机话费的动态分析,对数据仓库星形模式下维的使用原则做出了一定的探索。
<wbr></wbr>
<wbr></wbr>
参考文献:
[1]<wbr> 王珊 · 数据仓库技术与联机分析处理 · 北京:科学出版社,1998.6</wbr>
[2]<wbr> Michael Corey(美),Michael Abbey(美) · SQL SERVER 7 Data Warehousing · 北京:希望电子出版社,2000.1</wbr>
[3]<wbr> 袁鹏飞 · SQL Server 7.0数据库系统管理与应用开发 · 北京:人民邮电出版社,1999.5</wbr>
分享到:
相关推荐
星形模式是基于关系数据库的数据仓库中的一个著名概念,由于星形连接模式的设计思想能够满足人们从不同观察角度(维)分析数据的需求,所以在基于关系数据库的数据仓库的设计中广泛地使用了星形模式。在使用数据仓库...
基于MySQL数据库的数据安全应用设计.caj基于MySQL数据库的数据安全应用设计.caj基于MySQL数据库的数据安全应用设计.caj基于MySQL数据库的数据安全应用设计.caj基于MySQL数据库的数据安全应用设计.caj基于MySQL数据库...
利用关系数据库进行数据的存储与管理是比较成熟的一种技术,对于XML数据的存储与管理来说,基于关系数据库的XML数据存储与处理技术是一种可行而有效的方式。本文对基于关系数据库的XML数据存储技术进行了研究,通过结构...
然而目前大量的数据以关系数据的形式存储,如何高效完整地进行关系数据到图数据的ETL,即抽取、转换、加载,是图数据库应用领域研究的重要问题。国内外对该问题有了一些研究,但存在转换后的图数据质量不高、转换...
基于数据库理论和粗集方法研究了粗关系数据库中不确定数据的存储、索引和检索。提出了分别采用邻接表和十字链表实现粗关系数据库中属性值等价类和元组数据的存储;借助汉明距离和聚类方法,提出了实现粗关系数据库...
基于关系型数据库的XML存储与查询研究.pdf
针对目前基于关系型数据库等存储模式的本体存储查询效率较低的情况,提出使用XML数据库BaseX进行本体的存储,并设计了相应的本体存储查询架构。在对BaseX存储结构与接口的研究基础上,实现对OWL本体的存储。利用...
基于关系型数据库的SQL检索优化研究.pdf
基于关系型与Key-Value型数据库混合存储的多租户数据存储架构,蔺皓,王柏,针对SaaS多租户、可配置、易扩展的特点,在设计其数据存储架构时存在三种主流方案:数据库分离法、表空间分离法以及共享表空间法��
扫描完整版带书签 数据库系统.数据库与数据仓库导论 数据库系统.数据库与数据仓库导论
基于LUBM生成的数据,设计了不同复杂度和结构的查询,以检验不同算法的查询和存储效率。在模拟数据和真实数据上的存储实验表明,采用该算法可以提高效率。
构建基于FoodMart数据库的数据仓库建立与OLAP(实验一).pptx
关系模式的设计问题及数据的函数依赖一. 关系模式的设计问题1.1 数据依赖1.2 数据依赖对关系模式的影响二. 数据的函数依赖2.1 函数依赖2.1.1 函数依赖的定义2.1.2 函数依赖的3种基本情形2.2 函数依赖和码(关键字)...
深度探索关系数据库——实践者的关系理论].(美)Date.清晰版 深度探索关系数据库——实践者的关系理论].(美)Date.清晰版 清晰版 深度探索关系数据库——实践者的关系理论].(美)Date.清晰版
基于关系型数据库与NoSQL的海量数据处理,韩特,熊翱,大数据量的读写处理问题是大型数据库应用系统中的关键问题。面对数据类型繁多、数据量巨大的医疗器械数据,传统的关系型数据库具
基于oracle数据库的敏感数据加密应用研究.pdf
文中概述了OLAP的特征,明确了OLAP与数据仓库间的联系,并从多个方面就基于关系数据库的OLAP进行研究,意在对ROLAP的相关内容进一步明确,为其实践应用提供相应的借鉴与支持。
数据仓库数据更新的研究及基于Oracle数据库的开发与应用.pdf
首先对基于关系数据库分裂存储XML文档的各种方法进行总结,并对X-RESTORE基于关系数据库的XML文档的分裂存储原理和关系存储模式进行介绍;然后对XML查询的三种计算模式进行分析;最后基于X-RESTORE给出一个重构结果...