RSS
热门关键字:  数据挖掘  数据仓库  商业智能  人工智能  搜索引擎

某商店数据仓库的原型分析和设计

来源: 作者:互联网作品 时间:2007-04-10 点击:
随着信息技术的发展,人们掌握的可用数据越来越多。出于竞争的需要,商家产生一种从大量数据中寻找和推理出有用信息的需求,于是数据仓库技术应运而生。数据仓库概念创始人W.H.Inmon将其定义为:“数据仓库是面向主题的、集成的、稳定的、不同时间的数据集合,用以支持经营管理中的决策制订过程。”数据仓库技术强调了“处理过程”,而不是强调某一个软件或硬件产品。数据仓库是对原始的操作数据从历史的角度组织和储存数据的处理过程,它把各个信息源中与决策支持有关的数据,经过提取、转换、过滤和集成,按主题存放起来,供决策人员查询和分析,从而作出科学性的和战略性的决策。
本文为某商店建设一个数据仓库,按建设照数据仓库的流程逐步讨论和设计一个分析推理顾客购买规律的数据仓库模型。

一、    数据仓库工程介绍

数据仓库工程是以工程化思想构建数据仓库应用系统的方法和过程,在其中使用软件工程和数据工程的思想与方法。软件工程和数据工程以不同的视角知道软件系统的开发,前者关注的是要开发的软件,而后者则是关注软件要使用的数据。数据仓库工程在软件工程和数据工程的技术要求下,结合数据仓库自身特点,形成一门知道数据仓库应用系统开发的技术,主要包括数据仓库应用软件的开发方法、开发过程和数据仓库应用系统开发工具三个部分。 数据挖掘研究院
数据仓库的开发应用像其它软件系统的开发一样,具有其特有的、完整的生命周期,分为规划分析阶段、设计实施阶段和使用维护阶段三个阶段。规划分析阶段主要包括制定计划和需求分析。设计实施阶段主要包括系统概念设计、系统逻辑设计、系统详细设计以及编码。使用维护阶段主要包括数据采集、加载和测试,数据仓库的运行和维护。

1.    数据仓库的开发方法
类似于软件工程中的模式,数据仓库的开发可以采用自上而下、自下而上以及两种的结合等开发方式。自上而下是一种从整体到局部、逐步细化的构造模式。构造过程中,首先对分散的数据的特征进行分析,在此基础上实施数据仓库的总体设计和规划,通过数据的整理和集成形成数据仓库。自下而上是先具体再综合。首先将企业部门视为分解后的决策子目标,针对这些子目标建立数据集市,在此基础上不断扩充逐步形式完善的数据仓库。在下而上的开发模式更容易实现。
数据仓库应用系统与一般的软件系统不同,它面向数据本身而不是数据的处理过程,我们称之为数据驱动法(data drive approach)。这种方法的含义是数据仓库应用系统中主题的需求受制于数据流,主题给出了分析需求,但是分析的实现有赖于数据的广度和深度。因此提出主题后尚需对数据进行分析,以确定数据流对主题支撑的力度和强度,并在此基础上调整主题。 数据挖掘实验室
2.    数据仓库的开发过程
正如数据仓库概念的定义所表征的那样,数据仓库是强调过程而非系统的软硬件平台。这使得构建数据仓库的三个阶段是一个不断循环、完善、提高的过程。在一般情况下,数据仓库系统不可能在一个循环过程中完成,而是经过多次循环开发,每次循环都会为系统增加新的功能,使数据仓库的应用得到新的提高。
数据仓库的构建一般采用软件工程中的螺旋模型方法,这种方法具有较好的灵活性和易变性,能够使用数据仓库主题不明确或者不确定的需要。螺旋模型强调应用软件系统的开发是一个不断迭代的过程,它将每一次迭代分为需求分析、软件设计和编码、软件测试和方法总计和复审等阶段,也就是说,螺旋模型是这些阶段的不断反复,在反复的过程中不断明确用户需求、优化模型设计和软件编码。
3.    数据仓库开发工具
数据仓库产生已经很长时间,开发数据仓库的工具也比较成熟,目前市场的产品也有是多种。数据仓库开发工具基本能够满足构建数据仓库的基本功能,它实际上是一个工具集,其中主要包括数据抽取工具ETL、数据刷新工具、元数据管理工具、数据仓库管理和建模工具、OLAP工具和数据挖掘工具等等,用户通过使用这些工具构建数据仓库。 数据挖掘研究院

二、    系统分析

该商店是位于城市某区域的一个较大型的非连锁超市,有比较现代化的管理系统,因此可以满足构建数据仓库对历史数据的需要,还有能力根据需要添加新的软硬件平台。商场要求新系统能够通过关于客户的人口统计,分析客户购买商品的发展趋势,将商店特定的商品推销给合适的潜在客户群。
该商场旧的管理系统使用关系数据库系统,已经记录了商场运作的大部分有用信息,为商场储存了大量宝贵的基础数据,而且数据是结构化的数据。但是,该系统只是对流通信息的简单记录和会计核算,不能对历史进行必要的分析。

1.    主题分析
主题是系统分析和决策的目标和要求。数据仓库是面向主题的,也就是说数据仓库中的数据是按照分析、决策的目标和要求而组织的。商店业务活动主要有商品采购、商品销售、和日常管理。商品采购包括商品和供应商两大主题。商品销售包括商品和顾客两大主题。日常管理是指财务核算、员工信息管理等等商店运作行为的管理,包括员工等主题。因此,商店业务数据涉及商品、顾客、员工和供应商四个主题,分别记录有关商品、顾客、员工和供应商的信息。
2.    数据分析
数据仓库中的数据是面向主题的、集成的、非易失的和具有时变性的。面向主题是指数据要为主题服务;集成是指数据不能是异构的,来自不同数据源的数据必须统一格式;非易失是指数据仓库中的数据一般是历史数据,能够真实反映企业经营历史;时变性则是说,数据不是不变的,需要随着分析决策的需要发生变化,比如导入新的数据、产生冗余数据以支持推理决策等等。

数据挖掘实验室


数据仓库的数据源分为内部数据和外部数据。就该系统来说,内部数据数是来自商场原系统提供数据和商场当前交易信息;外部数据是来自其他商场的数据。原系统提供的数据可以保证可靠性、一致性以及数据量的需要,来自其他商场的数据可能是恨不规范和有限的,但是对于比较分析十分必要。为了适应数据仓库构建的要求,还需要将从不同数据源获得的数据按照确定主题的要求进行再组织,建立元数据等等,一些操作性数据也要去除。
可获得的数据已经结构化,并且放在符合一定范式的表中,能够很好的支持数据仓库的主题。应当进一步按照不同的粒度组织数据,以便获取不同抽象级别的决策信息。
3.    环境分析
系统属于“经济型”的数据仓库系统,对软硬件要求较低,原管理系统的关系数据库平台可以转换成新系统的运行平台,但是,要保证数据仓库的运行平台应该与业务系统运行平台相独立。

三、    系统设计
数据仓库的系统设计阶段包括概念设计、逻辑设计和详细设计。在设计阶段,开发者需要设计出系统的基本模型、数据的组织形式等。
1.    系统的体系结构
数据仓库系统一般由数据仓库数据记载工具、数据仓库、OLAP工具和数据展示端组成。 数据挖掘研究院
数据加载工具即所说的ETL,它将不同数据源的数据经过收取、清洗、转换和加载最终存入数据仓库中;数据集市是针对某一具体应用的 “数据仓库”,其数据主要由数据仓库复制而来,本系统中的数据集市的概念并不强,因为系统目标比较单一,尚没有必要派生出面向具体应用的数据集市。系统结构包括数据集市主要考虑系统的可扩展性。OLAP用于对数据进行多角度的存取和访问,满足客户特定的查询请求。数据展示端就是将OLAP的结果以图形、表格、报告等形式展示给用户的工具。这样,系统的体系结构如图一。
图一 商店数据仓库系统结构图

2.    数据的概念模型
数据仓库的实现依赖与数据库,数据仓库本质上是一个大型的关系型数据库,数据的组织与关系数据库相似,E-R数据仓库中的数据与数据库中的数据又有显然的不同。数据库中的数据存入数据仓库时需要进行必要的反规范化处理,这样能够保持数据仓库中数据必要的冗余,避免分析时涉及过多的表。

3.    主题域分析
在系统中我们关注的是“顾客购买商品”的有用信息,所有设计均以获取顾客购物的规律和趋势为目的。为了达到推销商品的目的,根据数据仓库主题的分析,选择商品和顾客两个主题作进一步设计,作为数据仓库的主题域。各主题域中相关的关系表具体如下:
(1)    商品主题域P:该主题域的数据表主要包括
商品的固有信息P1(商品编号Pno,商品名称,商品类别)
商品销售信息P2(商品编号Pno,顾客编号,售价,日期,销售量)
商品的库存信息P3(商品编号Pno,库房号,库存量,日期)
    此主题域的主题码为商品编号。三个关系表可以通过商品编号Pno关联。商品信息数据来自库存数据和交易数据。商品的固有信息数据在商品入库时已经确定,可以来自库存信息而不是采购信息。商品的采购信息对于分析顾客购买趋势并没有必要,这里不做讨论。
(2)    顾客主题域C:该主题域的数据表主要包括
顾客的固有信息C1(顾客编号Cno,姓名,性别,出生日期,文化程度,地址,电话)
顾客的购物信息C2(顾客编号Cno,商品编号,售价,日期,购物量)
此主题域的主题号为顾客编号。顾客信息数据来自顾客注册商场会员时填写的固定信息数据,以及交易数据中的购物信息数据。
在本系统中,数据粒度主要分为四个等级,按笔记录、按日记录、按月记录和按年记录。各个主题域中的关系表都可以根据这四种粒度作进一步划分产生新表,新表可以直接用于OLAP或者数据挖掘。
4.    星形模型设计 数据挖掘实验室
(1)    星形模型图
根据主题的分析和设计,系统采用星形模式组织数据,以销售事实表为中心,有关数据维的信息在维表中得以细化。销售事实表和三个维表通过维表的主键分别相连,从而构成一个整体。图三是系统的星形模型图。

图三 系统星形模型图


(2)    星形模型的说明
每个数据仓库都包含一个事实表,事实表中存放大量的业务数据,数据具有较小的冗余,往往是决策分析所必须的重要数据。本系统主要力图找出顾客购买商品的规律,从而将商品推销给特定的顾客群。因此选择销售信息表作为系统事实表,该表记录了销售信息重数据,包括商品编号、顾客编号、日期、销售量和销售金额五个属性。销售量和销售金额并不是简单的因子和乘积的关系,因为销售的可能不止一种商品,而商品的单价可能不同。
事实表通过外键与顾客、商品和时间三个维表相关联。维表是事实表的附属表,表示查询事实表的特定角度;维表的属性就是维的层次,表征分析数据的不同粒度。时间维是数据仓库常用的维,时间维有年、月、日三个属性,他们可以由独立的填充程序生成。系统采用这个维度划分足以满足要求。商品维有商品编号、商品类别两个属性,他们来自商品采购入库时管理系统的输入数据。商品维数据可以来自管理信息系统的商品信息文件。商品也分为多个商品类别。顾客维数据来自顾客固有信息表和交易记录。顾客维数据主要包括顾客的文化程度、顾客住址、顾客的收入以及顾客的爱好兴趣等。 数据挖掘研究院
(3)    星形模型的实现
星形模型的实现比较简单,事实表和维表都可以在关系数据库中以关系表的形式存储。对于一些比较大型的星形模型,数据量是一个不得不考虑的问题。不同的维以及维的多个层次将使事实表变得十分庞大。在这种情况下,雪花模型是可以考虑的选择。
本系统比较简单,完全可以用四个关系表存储事实表和维表。事实表的主键是各个维表主键的组合。具体的设计如下:
销售事实表(商品编号,顾客编号,日期,销售量,销售额)
顾客维表(顾客编号,姓名,性别,出生日期,地址,电话,学历,婚姻情况,职业,资产)
时间维表(年,月,日)
顾客维表应该是可扩充的,一方面有些属性是可分解的,比如地址和电话;另一方面,随着时间的推移,添加某些属性是必要的。
5.    元数据
元数据是数据仓库中关于数据的数据,用于记录数据仓库中数据的定义、数据的组织方式以及数据处理的信息,在系统有十分重要的位置。数据仓库使用过程中,经常会根据分析和决策的需要进行修改和完善,这项工作的前提是对元数据的修改和扩充。
在系统设计部分对主题的定义以及主题表的设计等信息可以直接存入系统,作为系统的元数据,供数据管理和分析使用。
6.    数据粒度和数据分割
粒度是数据仓库中数据综合程度的一个度量。数据粒度越大,数据的抽象级别越高,也就意味着损失了更多的细节。为了满足数据仓库多样性的查询,数据仓库往往不使用单一的粒度,而是选择多重粒度模型。比如按照时间,销售信息表可以分为日销售信息、月销售信息和年销售信息,甚至为了分析某顾客的购买行为可以选择交易单位——笔,作为数据分析的粒度。
在确定的两个主题域中按四个时间粒度组织数据。具体如下:
(1)    商品主题域
商品销售信息划分维按笔记录P2.1、按日销售记录P2.2、按月销售记录P2.3和按年销售记录P2.4。
商品库存信息划分维按笔记录P3.1、按日销售记录P3.2、按月销售记录P3.3和按年销售记录P3.4。
(2)    顾客主题域
顾客购物信息划分为按笔记录C2.1、按日购物记录C2.2、按月购物记录C3.3和按年购物记录C3.4。
数据分割是指把数据分散存储到多个物理存储单元中,以便进一步处理。分散存储主要是为了实现数据仓库的重构或者重组,建立数据索引,执行顺序扫描等等。数据分割一般要考虑数据量、数据分析实际情况以及数据粒度划分等因素。数据分割的依据和粒度要根据业务需要和业务特点进行,常用的分割依据是时间。在本系统中,为了便于OLAP分析,将每天的销售信息存储在一起,将同一商品的销售信息存储在一起。

数据挖掘研究院


7.    数据挖掘与OLAP设计
    顾客的信息是分散的,为了确定特定的顾客群,出了使用数据查询设置条件将顾客分类,还可以使用数据挖掘技术获取潜在的顾客群定义。
数据挖掘通过关联分析、分类和聚类方法,从数据仓库所存储的数据中获取模式或者规则等有用信息。方法在系统中的应用主要是找出对象之间的关联信息。比如顾客在购买某种商品的时候会同时购买那些商品,某位顾客购物时会有那些顾客同时购物(这只在朋友或同事关系时才有用)等等。通过得到的有用信息,商店可以调整商品的摆放位置以提高商品销售额;或者,同时向某位顾客关系网内的顾客发布购物信息,以促使同事购物等等。
OLAP技术是与数据仓库技术相伴发展起来的,是分析处理数据仓库中海量数据的有效手段。通过OLAP的切片、切块、旋转和上探下钻等操作,可以对数据仓库中的数据进行深入分析,获得多个角度、不同层面的分析数据。比如,可以查询某种商品在时间维“月”维度上的分析数据,通过比较分析各个月的销售情况,可以调整该商品的进货数量或者零售单价以增加销售额,或者预测该商品下个月可能的销售情况。
为了分析顾客的购物规律,对一些购买力比较强的客户,选择时间维上“月”维度,对其购物数据进行OLAP分析,找出规律性购买的商品,在下个月将效益好的商品主动推销给顾客。或者,在可能的购买时间之前主动相顾客广告他所感兴趣的商品信息,等等。

四、    总结

本文简单说明了数据仓库工程,针对商店的具体需求,分析了主题以及数据对主题的支撑,设计了系统模型和系统结构,说明了组织数据的星形模型。从理论上为商店设计了一个用以分析顾客购买趋势的数据仓库系统。
本文讨论比较浅显,甚至包含有些错误,需要通过进一步学习加以提高和修正。

参考资料:

[1]    数据仓库与决策支持系统,徐洁磐 科学出版社 2005.4
[2]    数据仓库和数据挖掘,苏新宁 杨建林 江念南 栗湘 清华大学出版社 2006.4
[3]    数据仓库与数据挖掘原理及应用,王丽珍 周丽华 陈红梅 邹力鹍 科学出版社2005.7
[4]    基于数据仓库的汽车售后服务OLAP系统的研究与实现,时文强 西南交通大学硕士论文 2006.3
[5]    数据仓库技术在烟草生产管理中的应用研究,陆晓东 同济大学硕士论文 2005.12
[6]    数据仓库应该保存客户什么样的信息,李桂香,商业经理人 2006.3
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?