超市数据仓库雪花模型的设计与应用

点赞:5663 浏览:18199 近期更新时间:2024-01-21 作者:网友分享原创网站原创

[摘 要]以连锁超市数据仓库数据模型为典型案例,在分析星型模型的优势和不足的基础上,提出了把星型模型扩展为雪花模型的基本方法.并通过聚集事实表等途径,使星型模型和雪花模型的特色和优势得到有效的应用.为数据仓库的联机分析处理和数据挖掘奠定了基础.

[关 键 词]连锁超市数据仓库星型模型雪花模型设计雪花模型应用

信息技术的迅速发展和企业管理决策的迫切需要,使数据仓库技术应运而生.

超市数据仓库雪花模型的设计与应用参考属性评定
有关论文范文主题研究: 关于连锁超市的论文范文资料 大学生适用: 研究生论文、学院学士论文
相关参考文献下载数量: 89 写作解决问题: 本科论文怎么写
毕业论文开题报告: 论文任务书、论文选题 职称论文适用: 论文发表、职称评初级
所属大学生专业类别: 本科论文怎么写 论文题目推荐度: 免费选题

1993年,数据仓库之父W.H.lnmon将数据仓库定义为:“一个面向主题的、集成的、随时间变化的、非易失性的数据集合,用以支持管理层的决策”.数据仓库的概念,决定了数据仓库特有的数据组织模式和广泛的应用前景.

数据模型是开发和构建数据仓库(集市)的基础;是联机分析处理和数据挖掘的重要条件.星型模型和雪花模型是基于关系数据库的数据仓库的两种典型的数据模型.目前,数据仓库星型模型已被广泛应用.而雪花模型的实用价值还处在进一步认识和开发阶段.

一、连锁超市数据仓库星型数据模型

“星型模型”是数据仓库广泛采用的数据模型.它能准确、简洁地描述出实体之间的逻辑关系.建立数据仓库的数据模型,一般都是在对应用主题分析的基础上,首先建立星型模型.现以超市数据仓库为例,认识和理解数据仓库星型模型.

一个典型的星型模式包括一个大型的事实表和一组逻辑上围绕这个事实表的维度表.

事实表是星型模型的核心,事实表由主键和度量数据两部分组成.星型模型中各维度表主键的组合构成事实表的主键.事实表中存放的大量数据,是同主题密切相关的、用户最关心的度量数据.“销售”是超市的主题,因此,在事实表中,要准确记载各超市所有商品的销售数量、营业额、利润等度量数据.

维度是观察事实、分析主题的角度.维度表的集合是构建数据仓库数据模式的关键.维度表通过主键与事实表相连.用户依赖维表中的维度属性,从事实表中获取支持决策的数据.围绕销售主题,连锁超市数据仓库有以下典型的维度及其属性:

客户维:在客户维中,建立了客户的基本信息、是否为会员客户、客户居住地域等属性.

商品维:商品不仅决定了超市的经营范围,商品的结构、品牌、质量直接影响营业额.在商品维中,设计了商品代码、商品名称、商品类别、品牌名称、包装类别以及商品的基本信息等维度属性.

时间维:在数据仓库的多维数据结构中,时间维往往是不可少的一个维度.因为每项“销售事实”都是在一定的时间或者时间段内发生.针对需求,时间维采用日、月、季、年四个属性.

连锁店维:各连锁店承担了全部商品的销售业务.连锁店的怎么写作质量直接影响企业的竞争力、销售业绩和企业利润.连锁店维中建立了连锁店名、所在地域等维度属性.

根据分析主题和需求,建立连锁超市数据仓库(集市)星型数据模型,如图1所示.

图1连锁超市数据集市星型模型

二、星型模型的优势和不足

1.星型模型的优势

星型模型在数据仓库中具有很大优势:

(1)星型模型围绕一个确定的主题,体现了数据仓库对数据结构和组织的要求;

(2)星型模型简单、清晰的结构准确反映了用户的需求,使用户易于理解;

(3)星型模型维度表包含了用户经常查询和分析的属性,优化了对数据库的浏览,在维度表和事实表之间没有任何“迷宫”.使查询的过程变得简单而直接.

(4)星型模型为OLAP提供了良好的工作条件,使OLAP能通过星型连接和星型索引,显著提高查询性能.

2.星型模型的不足

星型模型也有明显的不足:

(1)星型模型是非规范化的,星型模型以增加存储空间为代价来提高多维数据的查询速度,造成很大的数据冗余;非规范化的、含有大量冗余的维度表,会使数据切片变得更加复杂.

(2)由于星型模型中各维度表主键的组合构成事实表的主键.当星型模型的维不能满足要求时,维的变化是非常复杂、耗时的.

(3)维度属性的复杂形成的大维度问题.大维度中的长文本字段占用存储空间,维度数据不易更新和维护;向大维度表填充数据难度增大;对事实表的查询涉及大维度表时,会影响效率.

(4)当维的属性复杂时,处理维的层次关系比较困难.

(5)对“多对多”关系,星型模型无能为力.

三、连锁超市数据集市的“雪花模型”设计

“雪花模型”是针对星型模型存在的不足和数据分析处理的需要,在星型模型的基础上拓展而来的.将“星型模型”中的维表规范化,对维度表、特别是大维度表的属性按层次和类别进行分解,形成一些局部的层次区域,就得到一个以事实表为中心的“雪花模型”.

在连锁超市数据仓库的星型模型中,客户维和商品维都是典型的大维度.这是因为:大的连锁超市,客户维和商品维很深,累计可能有数以万计的客户和上万种商品;客户维和商品维很宽,根据需要,这两种维可以有多个维度属性.

将大维度表“雪花化”方法是:

1.按维属性的层次分解

维度的层次性体现在用户观察数据的粒度不同.例如:在数据集市中,商品、商品品牌、分类是商品的三个不同层次.客户维中,客户、会员客户、分地域的客户是客户的三个不同层次.


2.按维的属性类别分解

维属性之间有一些是互不关联的属性,例如:商品的品牌和包装,是否为会员客户,他们之间无层次关系.把维的属性类别分解形成维的局部星型关系.

3.将非分析数据进行分离

维度表中的有些属性与事实表中的度量数据无直接关系.例如:商品的详细信息,大小、规格;会员客户的基本信息等.将这些信息分离成一片“雪花”,使维表和事实表尽量“精练”.提高了多维查询的速度.当我们需要这些信息时,才到这片雪花中查找.

总之,雪花模型要在星型模型的基础上,描述出属性间清晰的层次和分类关系.把图1所示的连锁超市数据仓库(集市)星型模型“雪花”化,就得到该集市的雪花模型.如图2所示.

图2连锁超市数据集市雪花模型

四、数据仓库的“雪花模型”的应用

从形式上看,雪花模型比星型模型结构复杂,但设计好的雪花模型却有星型模型难以替代的应用价值.

雪花模型是星型模型的衍生.在研究雪花模型的应用时,要用雪花模型的优势弥补星型模型的不足;还要充分继承星型模型的优势,扬长避短,使数据模型能在构建数据仓库和开发应用中更好地发挥作用.

1.雪花模型在处理大维度方面的应用

数据仓库的大维度问题虽然可以通过事实表来体现,但这种方法导致事实表极为庞大且难于管理,当层次定义发生改变时,事实表需要重新设计和构建.

雪花模型解决了星型模型中复杂的大维度问题.通过对维度表的属性按层次和类别进行分解;将非分析数据进行分离,使大维度表得到有效的规范化处理,较好地消除了数据的冗余,从而使事实表的字段数和总长度减小,以节省存储空间.

2.雪花模型在建立聚集事实表方面的应用

事实表中数据的细节程度或综合程度的级别称为数据“粒度”.粒度是数据仓库事实表的重要的特征.不同的需求,对粒度要求不同.

数据集市需要保留最低层次的细节数据.以满足数据抽取、信息查询和数据挖掘的需要;另一方面,为提供决策支持,需要多方面的高粒度的汇总数据.因此,需要把使用频率高的汇总数据存放在聚集事实表中.雪花模型维度表清晰的层次关系为建立聚集事实表创造了条件.

根据聚集的概念,在有m维的雪花模型或星型模型中,可以建立多个n度聚集事实表(n<=m).所谓n度聚集,就是把m维事实表中的n个维度提升到一定的层次,其余的(m-n)维保持最低层次.这样生成的事实表同相应衍生出的维表形成一个简明的星型模型.例如:


为了分析会员客户对各种品牌商品的购写情况,在雪花模型中对客户维和商品维进行二路聚集即可.如图3所示.

为了分析会员客户一年中对各类商品的需求情况,在雪花模型中对客户维、商品维和时间维进行的三路聚集即可.如图4所示.

图3连锁超市数据集市雪花模型二路聚集

图4连锁超市数据集市雪花模型三路聚焦

通过各种聚集,不仅满足了联机分析处理和数据挖掘对各种数据粒度的要求,更可喜的是,由于聚集产生的是结构简单的星型模型,使星型模型的各种优势在这里得到发挥.

3.雪花模型在联机分析处理(OLAP)中的应用

联机分析处理(OLAP)是基于数据仓库的一种多维数据分析技术,是数据仓库的重要应用.OLAP从数据仓库中的某个特定主题的集成数据出发,使用多维分析方法,对客户端的请求,对数据进行切片、切块、聚合、钻取、旋转等操作,并通过直观的方式从多个角度、多个侧面、多个层次及多种数据综合程度对多维数据进行分析、比较,并把结果用表格或图形方式显示给用户,使用户了解数据背后蕴含的规律,以达到获取相关决策信息的目的.

雪花模型及以雪花模型为依托生成的各层次的聚集事实表,为OLAP提供了良好的工作条件.例如,在对数据进行上钻或下钻时,只需要向OLAP工具提供相应的不同粒度的聚集事实表即可.

为了改善数据汇总查询的性能,可以建立一个汇总表,将常用的全部聚集事实表的表名、粒度、相应的维度属性存放在汇总表中,并通过数据仓库元数据进行管理.这样,OLAP就能根据汇总表的指示,选用不同粒度的聚集事实表进行切片、切块、聚合、钻取、旋转等操作,提高了分析速度,弥补了雪花模型在查询速度方面的不足.

4.雪花模型在多对多关系处理中的应用

在实际的问题中,数据仓库的数据会出现“多对多”的关系.多对多关联不可能在星型模式中实现.但可通过雪花模型将“多对多”的关系转化成多个“一对多”关系来处理.

总之,雪花模型提高了数据仓库应用的灵活性.使系统进一步专业化和实用化.

五、结束语

星型模型和雪花模型是基于关系数据库的数据仓库的两种典型的数据模型.星型模型是雪花模型的原型,雪花模型是星型模型的衍生.各有所长,各有特色.在实际应用中,要对具体问题作出具体分析,还要针对OLAP和挖掘工具的需要,在两种模式之间作出权衡和选择.使数据模型在数据仓库的构建和应用中发挥出更好的作用.