当前位置:文档之家› 基于数据仓库技术的决策支持系统的设计与实现

基于数据仓库技术的决策支持系统的设计与实现

基于数据仓库技术的决策支持系统的设计与实现
基于数据仓库技术的决策支持系统的设计与实现

第一章引言

1.1 问题的提出

我国的电信业,尤其是移动通信业,起步比较晚,但发展非常快,对许多

业务的决策和方向的把握都是在摸索中进行的,某些立项缺乏统一意见和充足的科学依据,带有一定程度的盲目性。另一方面,经过多年运营,积累了庞大的业务数据,如计费中心的计费数据、客服中心的用户信息数据等,这些海量数据中包含着宝贵的经验和商业信息,可以很好地拿来借鉴今后的业务运作。但是这些数据信息隐藏在庞大、复杂的数据库里面,许多有价值的信息并没有直接表现出来,而是掩盖在无聊的数据后面。多数情况下,我们不得不用到某些分析工具,以期取得丰富而又客观翔实的商业信息,用于开发更大的市场和提供更完善的服务。

到目前为止,电信业尚无比较完备的分析工具,然而另一方面,电信业又

面临着许多急于解决的问题,如:话费流失问题、新业务开展问题、基站分配问题、批价问题等等。以话费流失为例,我国电信业每年仅此项损失就达数亿元人民币之巨,基本上无法追回。如何尽快避免或尽量减免这一损失,就显得极为迫切和必须。

在这种背景下,数据仓库技术以及其上的一些分析挖掘工具就应运而生了,

如联机分析处理、数据挖掘等等。

决策支持系统(DSS-Decision Support System)是70 年代由美国M.S.Scott Morton 提出,迅速发展起来的新型学科。决策支持系统是综合利用大量数据,有机组合众多模型(数学模型与数据处理模型等),通过人机交互,辅助各级决策者实现科学决策的系统。

数据仓库DW(Data Warehouse)建立在传统事务型数据库的基础之上,

为企业DSS 及数据挖掘系统提供数据源。它从原事务数据库中将分析型数据与事务型数据相分离,单独存放而形成数据集合。数据仓库就是要把分散存放在企业各个地方的数据集中到一起,并利用这些数据制定出更好的决策。

联机分析处理OLAP(On Line Analysis Processing)是数据仓库上的分析

应用工具。它建立在多维数据视图的基础上,主要有在线性和多维分析两个特点。

数据挖掘DM(Data Mining)是从大量数据中提取出可信的、新颖的、有

效的并能被人理解的模式的高级处理过程。

4

1.2 国内外发展现状

目前,各大数据库厂商均在数据仓库项目上提出了风格各异、内容相似的

数据仓库全面解决方案,比较知名的有Oracle、Sybase、Informix、 IBM、NCR、CA 等公司。

Sybase 拥有一个独特而强有力的点对点方案,用来设计、建立和管理数据

仓库和数据集市。各个部门之间通过集中的元数据进行交互,具有完整性、集中性和灵活性等特点。使用的工具也具有很多优越性能,如Power Designer Warehouse Architect、Power Stage、Adaptive Server IQ、Power Dimensions 等。

Sybase 的解决方案及其组成具有以下特点:快速实现、数据集市与中心仓库的无缝集成、极高的查询速度、高效的数据压缩。

Oracle 提出一个面向决策支持应用的数据仓库解决方案,开发出了Oracle Warehouse Builder、Oracle8i 数据库、Oracle Express 等系列工具,其中Oracle8i

直接对分区键值作更新,有利于大量重复操作;还在SQL 引擎内建立强大的指令集,如扩展了CUBE 和ROLLUP SQL 操作,支持对表进行抽样查询。

Informix 为促使 IT 专业人员迅速建立和运用数据仓库和数据集市,提供了

尖端决策方案套装,这一合成的产品和服务是专为概括高级关键商务分析的决策支持环境设计的。为关键商务数据仓库提供世界一流的数据仓库产品和服务,及工业领先的工具,包括:Informix 的专家级数据库设计,具有超级的可操作性,伸缩性和广泛性。为建立和展开分析应用的合成工具,包括数据抽取,转换,清理和装载。提供了基于ROLAP 的多维数据分析、导向、汇报以及一整

套编程工具和APIs。值得一提的是,Informix 的OLAP 工具METACUBE 在汉

化方面做了大量的工作,基本能够满足国内用户的需求。

其他公司的解决方案大体类似,只是具体开发工具在功能上有所不同。这

些国外公司的最大特点是各种开发工具齐全,从数据仓库模型设计、数据抽取工具、数据库管理系统到OLAP 分析工具。用户只需要面对一个厂商就可以获

得全部的支持和服务。而国内公司则没有这样的技术优势。

在国内,数据仓库刚刚起步,从事这方面研究的学校和公司不多,主要是

知识发现(数据挖掘)领域的研究,并且是利用第三方开发工具系统集成,比较知名的有:中青旅尚洋电子技术有限公司、亚信德康通信技术有限公司、亿阳信通有限公司、巨阳科技开发有限公司等。

根据数据仓库技术国际著名刊物 DM Review 的评论,有国外一些电信公司

采用决策支持通用平台,如新加坡电信,英国电信等。目前已经在我国设立办事处或代理机构的厂商的产品有:Brio,SAS,Clementine,Business Object,5

SPSS,Oracle,Informix,Sybase,Pilot 等,其优点是平台系统而完整,不足之

处在于存在本地化问题等,往往需要二次开发,无法直接适应中国电信市场的需要。

1.3 主要工作及成果

本文在深入研究数据仓库、数据挖掘技术的基础上,设计并实现了一个DSS

系统。主要完成了以下几个方面的工作:

建造了一个数据仓库管理系统,并运用聚类、分类算法和 C5 算法进行用

户信用度分析和客户行为特征分析。

提出并实现了一个改进的聚类算法。传统系统聚类算法仅限于样本聚类,

在聚类指标过多并且指标之间存在依赖关系的情况下正确度不高。本文提出并实现的多重系统聚类算法,将样本聚类与变量聚类结合起来,在不同的指标组上分别聚类,然后进行二次(或多次)聚类,在很大程度上提高了算法的正确度。

6

第二章数据仓库技术

2.1 基本概念

随着 IT 业的发展,业界数据规模的不断扩大。为了以合理的费用,向任

何地点需要数据的人提供高质量的数据,1992 年William H. Inmon 提出了取得广泛认可的数据仓库概念:集成的、面向主题的、随时间变化的不可修改的数据集合。

从上面的定义,我们可以知道,数据仓库首先是一个数据的集合,在这一

点上,它与传统意义上的数据库是一致的。实际在物理上,数据仓库也主要是以关系表的形式实现的。

数据仓库有四大主要特点:

面向主题的。是相对于传统数据库的面向应用而言的。所谓面向应用,指

的是系统实现过程中主要围绕着一些应用或功能。而面向主题则考虑一个个的问题域,对问题域涉及到的数据和分析数据所采用的功能给予同样的重视。

集成的。数据仓库中的数据来自各个不同的数据源(操作数据库),由于历

史的原因,各操作数据库的组织结构往往是不同的,在这些异构数据载入到数据仓库之前,必须经历一个集成过程,或称为抽取过程。

随时间变化的。数据仓库以维的形式对数据进行组织,维是数据仓库技术

中很重要的一个概念。通常可以这样理解一个维:维是人们看待事物的一种角度。维具有层次性。

不可修改的。与面向应用的事务数据库对数据作频繁的插入、更新操作不

同的是,对于数据仓库中数据的操作仅限于数据的初始导入和记录查询。在数据载入数据仓库之后,一般不允许随意修改。

2.2 数据仓库简介

数据仓库是一种结构化的数据环境,为决策支持系统提供数据源。它可以

帮助企业管理者准确了解企业的状况,从而进行预测,制定计划并作出明智的决策。

数据仓库作为整个企业的业务数据集成库,从众多数据源中集成数据,它

包含庞大的企业级数据,其实质是由多种技术和服务组成的完整的解决方案。数据仓库处理的数据与一般的信息系统的数据不同,它来自不同的分散数据源,包括操作数据、历史数据、外部数据等,对这些数据进行提炼和综合,集成到一个单一的关系数据仓库中;对这个集成的数据仓库进行管理,将其规范为面7

向主题的格式,以便于最终用户进行数据访问和分析。

数据仓库由可操作的外部数据源、一个/多个数据仓库和一个/多个数据分

析工具组成。构造数据仓库,首先要从数据源(如联机信息系统、电子邮件消息等)中抽取、集成、转换、聚合和复制数据,并存储到数据仓库中;然后,这其中的一部分数据再被聚合、复制到数据集市;最后,用户用分析工具创建电子报表,进行查询操作,从而实现决策分析。

2.3 数据仓库的关键技术

在技术上可以根据数据的工作过程分为:数据的抽取、存储和管理以及数

据的表现三个方面。在此,我们将分别讨论每一个环节。

2.3.1.数据的抽取

数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环

境,它需要通过抽取程序将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面。数据仓库的数据不要求实时响应,因此数据抽取可以定时进行,但多个抽取操作执行的时间、相互的顺序、成败对数据仓库中信息的有效性则至关重要。

目前市场上提供很多数据抽取工具(例如Informix 的ETL---Extract Transform Loader 和Sybase 的Power Stage)。这些工具通过用户选定源数据和目标数据的对应关系,会自动生成数据抽取的代码。数据抽取过程涉及数据的转换,但抽取工具支持的数据种类有限;这种情况使得抽取工具往往不能满足要求。因此,实际的数据仓库实施过程中往往不一定使用抽取工具。整个抽取过程能否因工具的使用而纳入有效的管理、调度和维护则更为重要。

经过抽取后的数据记录应为格式统一、业务信息完整的数据记录。

2.3.2.存储和管理

数据仓库的关键是数据的存储和管理。数据仓库的组织管理方式决定了它

有别于传统数据库的特性,同时也决定了它对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库核心,则需要从数据仓库的技术特点着手分析。

数据仓库遇到的第一个问题是对大量数据的存储和管理。这里所涉及的数

据量比传统事务处理大得多,且随时间的推移而累积。从现有技术和产品来看,只有关系数据仓库系统能够担当此任。关系数据仓库经过近30 年的发展,在数8

据存储和管理方面已经非常成熟。目前不少关系数据仓库系统已支持数据分割技术,能够将一个大的数据仓库表分散在多个物理存储设备中,进一步增强了系统管理大数据量的扩展能力。采用关系数据仓库管理数百个GB 甚至到TB 的数据已是一件平常的事情。

数据仓库要解决的第二个问题是并行处理。在传统联机事务处理应用中,

用户访问系统的特点是短小而密集;对于一个多处理机系统来说,能够将用户的请求进行均衡分担是关键,这便是并发操作。而在数据仓库系统中,用户访问系统的特点是庞大而稀疏,每一个查询和统计都很复杂,但访问的频率并不是很高。此时系统需要有能力将所有的处理机调动起来为这一个复杂的查询请求服务,将该请求并行处理。因此,并行处理技术在数据仓库中比以往更加重要。

数据仓库的第三个问题是针对决策支持查询的优化。这个问题主要针对关

系数据仓库而言。在技术上,针对决策支持的优化涉及数据仓库系统的索引机制、查询优化器、连接策略、数据排序和采样等诸多部分。普通关系数据仓库采用B 树类的索引,对于性别、年龄、地区等具有大量重复值的字段几乎没有效果。而扩充的关系数据仓库则引入了位图索引的机制,以二进制位表示字段的状态,将查询过程变为筛选过程,单个计算机的基本操作便可筛选多条记录。由于数据仓库中各数据表的数据量往往极不均匀,普通查询优化器所得出的最佳查询路径可能不是最优的。因此,面向决策支持的关系数据仓库在查询优化器上也做了改进,同时根据索引的使用特性增加了多重索引扫描的能力。以关系数据仓库建立的数据仓库在应用时会遇到大量的表间连接操作,而连接操作

对于关系数据仓库来说是一件耗时的事儿。扩充的关系库中对连接操作可以做预先的定义,我们称之为连接索引,使得数据仓库在执行查询时可直接获取数据而不必实施具体的连接操作。数据仓库的查询常常只需要数据仓库中的部分记录,决策支持的关系数据仓库在此做了改进,提供了这一功能。此外,在大容量数据环境中需要有足够短的系统相应时间。因此,一些数据仓库系统增加了采样数据的查询能力,在精确度允许的范围内,大幅度提高系统查询效率。数据仓库的第四个问题是支持多维分析的查询模式,这也是关系数据仓库

在数据仓库领域遇到的最严峻的挑战之一。用户在使用数据仓库时的访问方式与传统关系数据仓库有很大的不同。对于数据仓库的访问往往不是简单的表和记录的查询,而是基于用户业务的分析模式,即联机分析。它的特点是将数据想像成多维的立方体,用户的查询便相当于在其中的部分维(棱)上施加条件,对立方体进行切片、分割,得到的结果则是数值的矩阵或向量,并将其制成图表或输入数理统计的算法。

9

2.3.3.数据的表现

它们主要集中在多维分析、数理统计和数据挖掘方面。

多维分析是数据仓库的重要表现形式,由于MOLAP(多维OLAP)系统是专

用的,因此,关于多维分析领域的工具和产品大多是ROLAP(关系OLAP)工具。在实际工作中,客户需要通过对数据的统计来验证他们对某些事物的假设,以进行决策。数据挖掘强调的不仅仅是验证人们对数据特性的假设,而且它更要主动地寻找并发现蕴藏在数据之中的规律。因此,在当前的数据仓库应用中,有效地利用数理统计就已经能够获得可观的效益。

2.4 数据仓库和数据库的区别

数据仓库和数据库有多方面的区别,下表从几个方面加以比较:

数据库数据仓库

联线处理方式OLTP OLAP

数据源单一数据源多数据源集成

数据属性动态除非刷新,否则为静态

数据内容当前值概要值,计算值,归档值

数据结构复杂, 适于OLTP 简单,适于OLAP

数据存取频率高低

数据修改方式直接修改不直接修改

数据存取类型重复的读和写不重复,只读

系统响应时间秒级分级

2.5 数据仓库多维模型设计

2.5.1 多维模型的设计原则:

数据仓库与传统数据库所不同的是表间较少以二维关系型方式连接,而以

多维形式关联。最为流行且被业界认可的逻辑结构有星型结构和雪花型结构,其中以星型结构最常被人们采用。

下图是数据仓库逻辑结构的一个实例,这个例子采用的是星型结构。星型

模式中间有一个单一对象,沿半径向外连接到多个对象。它反映了最终用户对商务查询的看法,称为“事实表”(Fact Table),与之相连的对象称为“维表”(Dimension Table)。图中事实表中存储了键属性(时间代码、地区代码、年10

龄代码等),对事实表的查询就是获取指向维表的指针表。当对事实表的查询与对维表的查询结合在一起时,就可以检索大量的信息。通过联合,维表可以对查找标准细剖和聚集。维表通过外键与事实表相关联。

雪花模式:雪花模式是对星型模式的扩展,每一个点都沿半径向外连接到

多个点。雪花模式对星型模式的维表进一步标准化,它的优点是通过最大限度地减少数据存储量以及把最小的标准化表(而不是大的非标准化表)联合在一起来改善查询性能。由于采取了标准化及较低的粒度,雪花模式增加了应用程序的灵活性,当然同时也增加了用户必须处理的表的数量和某些查询的复杂性。图 2.1:客户群体特征事实表

2.5.2 多维模型的设计方法:

多维数据模型由事实表和维表组成。事实表中一个索引对应一个维表,常

用的统计信息放在事实表中。维表分得尽可能的细致、方便,维表之间相互独立,不同维表之间不能有相同的主键和外键。要根据数据之间的基本的内在联系组织数据,而不是根据现有的分析主题组织数据。

下面是一个实例:

drop table f_cdr;

drop table d_account;

11

create table d_account(

sub_id integer not null,

name char(50),

postal_code char(6),

id_name char(10),

id_code char(20),

contact_person char(20),

contact_phone char(40),

address char(60),

primary key (sub_id)

) maxrows per segment 40000;

create synonym det_account for d_account;

drop table d_period;

create table d_period (

per_key integer not null,

day char(20),

month char(10),

year char(6),

current_flag char(1),

primary key (per_key)

) maxrows per segment 400;

create synonym det_period for d_period; drop table d_duration;

create table d_duration(

dur_key integer not null,

dur_seg char(40),

primary key (dur_key)

) maxrows per segment 10;

create synonym det_duration for d_duration; drop table d_time;

create table d_time (

time_key integer not null,

minute char(6),

hour char(2),

promo_desc char(10),

primary key (time_key)

) maxrows per segment 1440;

create synonym det_time for d_time;

drop table w_area;

create table w_area (

area_code char(8) not null,

area_tag char(8),

city char(20),

province char(10),

region char(10),

primary key (area_code)

) maxrows per segment 600;

12

create synonym d_orig_area for w_area; create synonym det_area for w_area;

drop table d_route;

create table d_route(

route_key char(10) not null,

route_desc char(10),

primary key (route_key)

) maxrows per segment 1000;

create synonym det_route for d_route; create table f_cdr (

imsi char(15) not null,

calling_time timestamp not null,

sub_id integer not null,

per_key integer not null,

time_key integer not null,

dur_key integer not null,

orig_area_code char(8) not null,

route_key char(10) not null,

base_fee decimal(7,3),

idd_fee decimal(9,3),

sub_fee decimal(9,3),

ddd_fee decimal(9,3),

gat_fee decimal(9,3),

roam_fee decimal(7,3),

extra_fee decimal(7,3),

duration integer,

calling_count integer,

primary key (imsi, calling_time),

foreign key (imsi) references d_imsi (imsi),

foreign key (sub_id) references d_account (sub_id),

foreign key (per_key) references d_period (per_key),

foreign key (time_key) references d_time (time_key),

foreign key (dur_key) references d_duration (dur_key),

foreign key (route_key) references d_route (route_key),

foreign key (orig_area_code) references d_orig_area (area_code),

) maxsegments 2 maxrows per segment 10000000;

2.6 数据仓库的成功案例

在数据仓库应用领域,从电信、金融到制造、餐饮零售,都有不少成功的

案例。如MCI 通过Informix 公司为其建立数据仓库应用,数据仓库规模为3TB,能被1 万个用户访问。借助于数据仓库,MCI 公司可以分析存储其公司范围内几乎全部的美国消费者信息,以此增强公司的竞争地位。

美国百事可乐快餐集团也建立了自己的数据仓库解决方案,各连锁快餐厅

13

使用数据仓库技术为其提供及时、有效的信息,它们包括:顾客对某个快餐厅的喜好,总体购买行为,快餐厅地理位置的选择等等,用于集团对所有快餐厅的最终管理和评估。这些信息对于集团来说是极其重要且有价值的。

Sybase 公司与美国财政部的国内税收服务部门(IRS)合作开发的项目获

得了Data Warehousing Institute(TDWI)颁发的1999 年度数据库最佳实践奖。NCR 公司的”电信业解决方案”– Fraud SENTRY 等。

在国内也有不少成功的数据仓库应用案例。在目前国内采用的同类产品,

可分为开发专用的系统、引进国外的软件、使用通用决策支持基础平台等。见诸报道的专用系统有国内新太公司的”邮电智能办公决策管理系统” - IntraSuite,亚信德康的“金眼睛”等。

第三章联机分析处理与数据挖掘

14

3.1 联机分析处理

传统的数据库管理系统建立在事务型数据的基础之上,注重的是数据库的

安全、高效运作以及维持大量细节数据的一致性、安全性以及完整性这样的事

务性操作,即OLTP(On Line Transaction Processing )。为了保证系统的高效运作及快速响应,不可能维持决策分析所需的大量历史数据。此外,系统在运行过程中产生的数据大多并不能直接拿来做决策支持分析之用,而首先要作一些预处理工作,比如汇总、抽取等,这样的预处理工作也是OLTP所不能完成的。

要想得到对决策有用的信息或对数据仓库中的数据做灵活的、多角度的探

察,则还必须借助一些分析展示工具。因此,就在这样一个背景下,1993年

E.F.Codd首次提出了联机分析处理系统(OLAP)的概念。

3.1.1 OLAP 的概念及特征

联机分析处理OLAP 是一类软件技术,它使分析人员、管理人员通过对信

息的多种可能的观察进行快速、一致和交互性的存取以获得对信息的深入理解。OLAP 是数据仓库上的分析展示工具,它建立在数据多维视图的基础上,可以提供给用户强大的统计、分析、报表处理功能及进行趋势预测的能力。主要有两个特点,一是在线性(On Line),体现为对用户请求的快速响应和交互式操作;二是多维分析(Multi Dimension Analysis),数据的多维视图使用户能从多角度、多侧面、多层次地考察包含在数据中的信息,这正是OLAP 技术的核心所在。根据对数据组织方式的不同,OLAP 可分为两种:基于多维数据库的

OLAP(MOLAP)和基于关系数据库的OLAP(ROLAP);前者响应速度快、执行

效率高,但由于所有的预处理操作都是预先定义好的,限制了它的灵活性。与之相比,后者由于建立在数据仓库的基础上,灵活性、扩展性要高得多,并且支持大数据量和较多维数的能力也要强于前者,因此,虽然在响应速度、执行效率上差一点,仍然得到了广泛的应用。就软件技术而言,数据仓库的核心是关系数据仓库,而让集成的数据发挥效益,则需要一个先进的关系型联机分析处理(ROLAP)工具。这种工具应能支持并行数据查询(PDQ)和操作,支持

表分割技术(Table Cross),支持多种DSS 索引等等。因此现有的OLAP 工具大多基于后者。关于二者的更详细的区别,请参见文献[46]。

目前,针对OLAP 技术的研究领域相当活跃,对OLAP 的理解也不断深入。有

人提出了OLAP 的更为简洁的定义,如Nigel Pendse 提出的FASMI(Fast

Analysis Of Shared Multidimensional Information)。

15

3.1.2 OLAP 的结构

OLAP 是建立在客户/服务器结构之上的。它要对来自基层的操作数据进行

多维化或预综合处理,故它是一个三层的客户/服务器体系结构。

OLAP 对数据仓库中数据的操作是针对多维数据视图或称为超立方体进行

的。对立方体的典型操作有:切片、切块以及旋转等:

??切片是指选定多维数组的一个二维子集;

??切块是指选定多维数组的一个三维子集;

??旋转指改变一个立方体显示的维方向,使人们可以从不同的角度更加清晰

直观地观察数据

图 3.1 是典型OLAP 操作的抽象图:

3.2 数据挖掘

数据挖掘涵盖了广泛的计算机技术,涉及到机器学习、模式识别、统计学、

智能数据库、知识获取、数据可视化、高性能计算、专家系统等多个领域。根据人类学习的不同模式人们提出了很多机器学习方法,如:实例学习、观察和发现学习、神经网络和遗传算法等等。其中某些常用且较成熟的算法已被人们运用于实际的应用系统及智能计算机的设计和实现中。

数据挖掘包括在数据中查找模式,传统上这是属于分析专家的领域。其中

一个主要的问题是统计上重要的模式没有商业价值,要借助于商业知识和日常感觉,而不是IT 经验来实现。

数据挖掘通常用于电信、金融、零售、直销、银行贷款欺诈检测及欺诈分

析、健康保障行业、电视台电视栏目收视率分析、交通流量分析、罪犯特征分析、保险风险分析、药品和化学成分的影响分析等。这种投资回报有时是超出想象的。例如一位客户采用Clementine 软件处理了一家环保超标的工厂的数据,切片

切块

旋转

年份地域

图 3.1: 对超立方体的典型操作

16

这项改进为公司节约了计划 10 万美元的预期投资。

3.2.1 数据挖掘的概念

数据挖掘是从大量数据中提取出可信的、新颖的、有效的并能被人理解的

模式的高级处理过程。

下面我们对这个定义作一些解释:

数据:数据是指一个有关事实F 的集合,它是用来描述事物有关方面的原

始信息的。

模式:模式给出了数据特性或数据之间的关系,是对数据包含信息更抽象

的描述。对于集合F 中的数据,我们可以用语言L 来描述其中数据的特性,得出一个表达式E,E 所描述的数据是集合F 的一个子集FE。只有当表达式E 比

列举所有FE 中元素的描述方法更为简单时,我们才可称之为模式。如:“如果成绩在81-90 之间,则成绩优良”可称为一个模式,而“如果成绩为81、82、83、84、85、86、87、88、89 或90,则成绩优良”就不能称之为一个模式。

可信:通过数据挖掘从当前数据中所发现的模式必须有一定的正确程度,

否则数据挖掘就毫无作用。可以通过新增数据来检验模式的正确性,我们用c 表示模式E 的可信度c = C(E,F)。

新颖:经过数据挖掘提取出的模式必须是新颖的,至少对系统来说应该如

此。模式是否新颖可以通过两个途径来衡量:其一是得到的数据,通过对比当前得到的数据和以前的数据或期望得到的数据之间的比较来判断该模式的新颖程度;其二是通过其内部所包含的知识,通过对比发现的模式与已有的模式的关系来判断。通常我们可以用一个函数来表示模式的新颖程度N(E,F),该函数的返回值是逻辑值或是对模式E 的新颖程度的一个判断数值。

有效:提取出的模式应该是有意义的,这可以通过某些函数的值来衡量。

用u 表示模式E 的有作用程度,u = U(E,F)。

可被人理解:数据挖掘的一个目标就是将数据库中隐含的模式以容易理解

的形式表现出来,从而帮助人们更好地了解数据库中所包含的信息。当然一个模式是否容易被人理解,这本身就很难衡量,比较常用的方法是对其简单程度进行衡量。我们假定模式E 的简单度(可理解度)为S,则可用函数S(E,F) 来衡量。

处理过程:数据挖掘是一个多步骤的处理过程,包括数据预处理、模式提

取、知识评估及过程优化。

上面介绍的各种度量函数都只是从不同角度对所发现的模式进行评价,一

般为方便起见,往往采用权值来对所发现的模式进行综合评判。在某些数据挖17

掘系统中,利用函数来求得模式E 的权值i = I (E,F,C,N,U,S);而在其他一些系统中,通过对求得的模式的不同排序来表现模式的权值大小。

3.2.2 数据挖掘技术的工业标准

数据挖掘技术的工业标准 CRISP-DM 是英文“CRoss Industry Standard Process for Data Mining”(数据挖掘技术的工业标准过程)的缩写,是基于经验的,

集中于解决业务问题的,数据挖掘技术的业界规范。1997 年数据挖掘技术报告Data Mining Report 指出,CRISP-DM 确立了数据挖掘技术的工业规范,提供了数据挖掘过程的所有策略。数据挖掘本质上是根据经验来学习。恰当的数据展示了企业积累的经验;通过CRISP-DM 可以理解数据及建立数据模型可使商务活动能吸收过去积累的经验。职业的商务人员能发现那些对商务活动真正重要的东西,避免无谓的浪费时间。

CRISP-DM 最早由英国ISL 公司在其著名软件Clementine 中提出,其倡导

者包括ISL,NCR, Daimler-Benz, OHRA 等著名公司,并得到了欧洲议会的支持。CRISP-DM 提出的目的是开发一种产业界用户和工具开发商共同认可的数据挖掘过程模型。

CRISP-DM 在世界范围内超过100 个成员公司的支持,其中包括:

数据挖掘技术开发商,有 IBM, SAS, SGI, Data Distilleries, Magnify 等;系统提供商,有 Cap Gemini,ICL Retail 等;

最终用户,包括 BT, Daimler-Benz, ABB, Lloyds Bank, AirTouch 等。

3.2.3 数据挖掘的处理过程

数据挖掘是一个高级处理过程,它从数据集中识别出以模式表示的知识。

数据挖掘包括以下步骤:

1.数据准备

数据挖掘的处理对象是大量的数据,这些数据一般存储在业务数据库系统

中,是长期积累的结果。但往往不合适直接在这些数据上进行知识挖掘,需要做一些准备工作,也就是数据的预处理。数据预处理包括数据的选择(选择相关数据)、净化(消除噪音、冗余数据)、推测(推算缺值数据)、转换(离散型

数据与连续型数据之间的转换)、数据缩减(减少数据量)等。

数据准备是数据挖掘的第一个步骤,也是比较重要的一个步骤。数据准备

是否做好将影响到数据挖掘的效率和准确度以及最终模式的有效性。

2.数据分析

数据分析是数据挖掘中最为关键的步骤,它根据数据挖掘的目标,选取相

应算法的参数,分析数据,得到可能形成知识的模式模型。目前采用较多的技术有决策树、分类、聚类、粗糙集、关联规则、神经网络、遗传算法等。

18

3.模式的评估、解释

通过上面步骤所得到的模式,有可能是没有意义或没有实用价值的,因此

需要评估,确定哪些是有效的、有用的模式。此外,大部分模式是用数学手段描述的表达式,很难被人理解,还需要将其解释成可理解的方式以呈现给用户,亦即上文说的数据展示。

4.知识运用

发现知识是为了运用,如何使知识能被运用也是数据挖掘的步骤之一。运

用知识有两种方法:一种是只需看知识本身所描述的关系或结果,就可以对决策提供支持;另一种是要求对新的数据运用知识,由此可能产生新的问题,而需要对知识做进一步的优化。

数据挖掘过程可能需要多次的循环反复,每一个步骤一旦与预期目标不

符,都要回到前面的步骤,重新调整,重新执行。

3.2.4 数据挖掘的典型模式

模式有很多种,按功能可分有两大类:预测型(Predictive)模式和描述型(Descriptive)模式。

预测型模式是可以根据数据项的值精确确定某种结果的模式。挖掘预测型

模式所使用的数据也都是可以明确知道结果的。例如,根据各种动物的资料,可以建立这样的模式:凡是胎生的动物都是哺乳类动物。当有新的动物资料时,就可以根据这个模式判别此动物是否是哺乳动物。

描述型模式是对数据中存在的规则做一种描述,或者根据数据的相似性把

数据分组。描述型模式不能直接用于预测。例如,在地球上,70%的表面被水覆盖,30%是土地。

在实际应用中,根据模式的实际作用往往可以细分为以下六种:

分类(Classification)、回归(Regression)、时间序列(Time Series)、聚类

(Clustering)、相关分析(Association Analysis)、序列发现(Sequence Discovery)。

分类和回归主要用于预测,相关分析和序列发现主要用于描述,聚类则二者皆

可。

1.分类(Classification)

分类模式是一个分类函数(分类器),能够把数据集中的数据项映射到某个

给定的类上。分类模式往往表现为一棵分类树,根据数据的值从树根开始搜索,沿着数据满足的分支往上走,走到树叶就能确定类别。给定类的属性不能太多,也就是树的分支不能太多。

2.回归(Regression)

19

回归用一系列已经存在的数值和它们的属性来预测连续型变量的数值。

与分类不同的是,分类的输出是离散型的变量,回归输出的是连续型的变量。3.时间序列(Time Series)

与回归类似,时间序列也用于预测,所不同的是,时间序列基于时间的各

个层次,如一周七天,一年十二月。

4.聚类(Clustering)

聚类模式以“物以类聚”的原则将数据划分到不同的组中,使组之间的差

别尽可能大,组内的差别尽可能小。与分类模式不同,进行聚类前并不知道将要划分成几个组和什么样的组,也不知道根据哪一(几)个数据项来定义组。一般来说,业务知识丰富的人应该可以理解这些组的含义,如果产生的模式无法理解或不可用,则该模式可能是无意义的,需要回到上阶段重新组织数据。5.相关分析(Association Analysis)

相关分析用于描述发生在给定事件中数据项之间的关联关系。当事件 A

发生时,事件B 发生的概率。例如“在购买面包和黄油的顾客中,有90%的

人同时也买了牛奶”就是一条关联规则。

用于关联规则发现的对象主要是事务型数据库。如果不考虑关联规则的支

持度和可信度,那么在事务数据库中存在无穷多的关联规则。事实上人们只对满足一定的支持度和可信度的关联规则感兴趣。关联规则发现算法的问题也就是:给定一个事务数据库D,求出所有满足最小支持度Minsup 和最小可信度Minconf 的关联规则。

6.序列发现(Sequence Discovery)

序列模式与关联模式相仿,把数据之间的关联性与时间联系起来。为了发

现序列模式,不仅需要知道事件是否发生,而且需要确定事件发生的时间。例如,在购买彩电的人们当中,60%的人会在3 个月内购买影碟机。

在解决实际问题时,经常要同时使用多种模式。同时,挖掘同一种模式或

实现同一种功能,可能会有多种算法可以采用,这就需要根据具体情况,选择针对问题空间最为合适的算法。

3.3 OLAP 与DM 的区别

OLAP 与DM 都是数据库(数据仓库)上的分析工具,在实际应用中各有侧重。

最主要的区别是:前者是用户驱动的,分析专家提出一个假设,然后使用OLAP 验证它,后者是数据驱动的,挖掘工具作用于数据生成一个假设。前者建立在多维视图的基础之上,强调执行效率和对用户命令的及时响应,而且其直接数据源一般是数据仓库;后者建立在各种数据源的基础上,重在发现隐藏在数据深层20

次的对人们有用的模式(Patterns),一般并不过多考虑执行效率和响应速度。

在上一节我们已经讨论过,数据挖掘的过程可以分为四个阶段:数据准备、

数据分析、模式的评估解释以及知识展示。我们可以看到,在数据挖掘过程的这四个阶段,引入数据仓库、OLAP 的相关特点都是有必要的:

首先,在数据准备阶段,数据挖掘工具需要的数据是一些经过净化、集成

处理的数据,通常这种处理过程也是昂贵的;而数据仓库作为OLAP 的数据源,存储的就是这样的数据,它能为OLAP 提供数据,当然也可以为DM 提供数据。其次,在数据挖掘的过程中,人们往往需要对数据作钻探性(exploratory)

分析,比如,挖掘所需的数据可能只是一部分、一定范围的数据。因此,对多维数据模型的切片、切块、下钻等操作,同样可以应用于DM 的过程中。也就

是说,可以将DM 建立在多维模型(或说超级立方体)的基础之上。此外,用户

有时还可能动态地提出挖掘要求、选择挖掘算法。

最后,在知识展示阶段,在大规模数据集上挖掘出的知识,往往需要量化

并写回到数据仓库中,然后以超立方体的形式通过OLAP 工具进行展示。在传统的关系数据库应用中,对同一个主题,任何不同的查询过程所得到结果是相同的。而数据挖掘则不然,对同一个问题,运用不同的挖掘算法,得出的结果可能大相径庭。

根据立方体计算和数据挖掘所进行的次序的不同组合可以有以下一些模

式:

??先进行立方体计算,后进行数据挖掘。在进行数据挖掘前,先对多维数据进行一定的立方体计算,以选择合适的数据范围和恰当的抽象级别;

??先对多维数据作数据挖掘,然后再利用立方体计算算法对挖掘出来的结果

做进一步的深入分析;

?? 立方体计算与数据挖掘同时进行,在挖掘的过程中,可以根据需要对数据视图做相应的多维操作。这也意味着同一个挖掘算法可以应用于多维数据视

图的不同部分;

第四章决策支持系统及其实现

对电信运营商来说,话费流失以及吸引新客户和保留大客户是他们最为关

心的两个问题。

所谓话费流失,指的是电信用户使用移动通信服务而不付费,直至被停机,

然后再以其他户名入网继续恶意消费。其表现形式有多种,如利用呼叫转移、21

利用漫游等。由于移动通信的欺诈行为形式多样,技术手段高明而且隐蔽,因此解决问题的方案也很复杂。其中一个比较好的思路是从分析用户信息和帐务数据入手,为每一用户赋予一定的信用级别,对不同信用级别的用户分别采用不同的预防措施或给予不同的关注程度,从而尽早发现不良用户的异常行为,提前采取措施,减少欺诈行为的发生。

挖掘新客户是电信运营企业关心的另一个重点。因为其主要利润并不是来

自于产品或服务的初始销售,而是来自于用户对产品或服务的后续消费。因此,对这些企业来说,如何能尽量多地挖掘潜在客户、吸引客户采用公司的服务或产品,是增加利润的关键一步。潜在客户发现的做法是分析客户行为,将客户的行为分为若干类别。在客户行为类别统计分析的基础上,统计分析各类别行为的用户基本信息,找出具有某些行为的用户的基本特征,然后,根据这些特征制定相应的营销或优惠政策,以刺激这类客户的消费。

由此可见,信用度分析和客户行为分析是反欺诈和潜在客户挖掘的基础,

也是电信运营企业决策支持系统的重要功能部分。本文所做的工作,正是基于这样一种思路实现了一个DSS 系统。

4.1 系统概述

考虑到应具有开放性、易扩展、低成本、管理及使用方便等特性,该系统

采用数据库服务器端(Unix Agent Server)、Windows NT 和PCs 三层体系结构,保证系统的开放性和对技术发展的适应性。

三层体系结构支持所有运行于Web 浏览器上的用户。中间层是运行

Windows NT 的PC 机或服务器,其目的是管理象OLAP 分析引擎这样的共享OLE Automation Servers。OLAP 分析引擎也安装在中间层,处理所有Web

浏览器使用者提交的查询任务。

来自联机事物处理系统(OLTP)的业务数据,如计费系统,客户服务系统,

财务系统,客户信息数据库的数据,被存储在业务数据库中,应用程序一般具有读写权限;

数据仓库设在单独的数据仓库服务器上,由业务数据库备份、历史数据库、

中间结果数据库(或者为决策支持系统建立独立的数据集市)、发布数据库组成。此间所有的数据转换任务,如数据备份、查询、统计、OLAP 分析、数据挖掘等,由决策支持系统的任务管理器统一调度,这些任务可以细分为:

业务数据备份。业务数据经过定期或定时备份到数据仓库中的备份业务数

据库中;

建立历史数据库。由数据分析和挖掘工具经数据清洁、查询、提取、格式

转换、统一、多表联接,将数据转换到专门的历史数据库中;

22

建立面向主题的中间结果数据库或从属数据集市。所有数据由历史数据库

集中管理,按照专门的主题,将数据的中间结果和中间文件组成中间结果数据库或从属数据集市。这些操作不允许改变原有的历史数据库,具有只读权限;分析,挖掘,准备发布数据。将查询、统计、分析、挖掘等产生的文件被

以转换后的格式保存到发布数据库中。任务管理器还具有菜单定制,用户密码管理,批处理任务设置,发布网页动态合成,访问数据仓库等管理功能。

终端用户可以通过分级密码访问数据库,浏览在局域网中发布的信息。

Ethernet

X-windows终端

数据仓库服务器

笔记本

台式PC

Unix/NT

大型数据库软件

数据分析和挖掘工

Windows 98/NT

任务管理器

X-Windows仿真终

浏览器

图 4.1 网络拓扑图

决策支持解决方案网络拓扑图可用图4.1 表示。数据仓库服务器包括大型

数据仓库软件,数据分析和挖掘工具;客户端包括决策支持任务管理器,配套软件,浏览器等。

4.2 模块描述

要建立一个数据仓库,一般分为六个步骤:

1.分析主题设计

2.维设计和维表设计

3.数据仓库结构定义

4.导入数据

5.CUBE 设计

6.建立挖掘模型

这六个步骤有的已在前文阐述过,有的属于电信业务范畴,所以这里重点

介绍数据挖掘模型的建立。

23

在建模阶段,精通数据挖掘的专业人员,根据实际问题的不同,选择合适

的挖掘算法以及数据仓库/集市中的训练数据进行训练学习,并得到相应的模型。一般来说,建模的复杂度取决于多种因素,如数据库/仓库大小、建模训练集属性多少、挖掘算法性能以及操作者的熟练程度等。

模型一旦建立并经历史数据验证有一定的可靠性之后,就可以进入动态评

分过程。用户就可以根据需要对新数据动态进行评分,也可以对数据库中某一部分数据执行评分操作。

数据挖掘模块主要有两个方面的分析:

群体分析:利用聚类或分类算法,把企业客户按照某种规则分为若干群体。

行为分析:根据客户以前的消费行为,分析某几类有显著特征的行为模式,

并据此对客户未来的行为进行预测。

上述两种建模技术均可以被用来提高企业营销目标对象的准确性并提高相

应的收益。为达到这个目的,目前有很多的分析工具可以被应用,如:

交叉报表工具

基于机器学习的数据挖掘工具工具如 Clementine、Intelligent Miner 等

基于统计学的分析工具,如 SAS、SPSS 等

神经网络

下面依次介绍各基本功能模块:

4.2.1 客户信用度管理

根据影响客户信用度的主要因素,对用户的帐务数据进行分类,建立分类

模型,并对用户进行评分,给出用户的信用度级别;

影响客户信用度的主要因素有:

1.交费的及时度

2.用户的社会性质

3.用户的通话业务量

4.用户申请的业务数量

5.用户申请的业务种类和用户的投诉情况

?? 客户信用度等级描述。详细描述客户信用度等级的具体含义。

?? 信用等级分布表示。客户的利润、客户的基本信息和行为分类如时间

段、业务类型等的分布表示。类似于客户行为分析。

?? 信用度的相关分析。分析影响用户信用度的因素之间的概率依赖关系、

强度及其可信度。这一方面用于预测客户信用度的发展趋势,当发生

变化时,对其信用等级进行相应的调整。

24

?? 利用以上的结果,给出从一个信用度等级到另一个信用度等级变化可

能性大的客户。

4.2.2 防欺诈策略管理

防欺诈策略分析建立在信用度管理的基础之上。

?? 分析防欺诈策略的相关变量:高额话费额度、欠费停机额度和用户具

有不同的欠费停机额度等。

?? 指定防欺诈策略

?? 分析信用度、客户的满意程度、高额话费警告额度和停机额度之间的

关系。根据分析结果调整用户的基本信息。

?? 分析信用度、客户的满意程度和用户催缴周期、催缴频度之间的关系。4.2.3 客户行为与潜在客户分析与管理

客户行为分析的思路是将客户的行为分为若干类别,对具有某一类行为特

征的用户,分析其基本信息,以期找出客户行为和客户基本特征两者之间的若干潜在关系。

客户行为分析的依据是对用户话单数据的分类,因为数据量庞大,故对高

效分类算法的选择显得尤为重要。

潜在客户分析则是在行为分析的基础上,根据某种业务或业务组合与客户

基本信息特征之间的相关度分析,建立两者之间的相关度定量关系模型,由此得出与某种业务或业务组合最为相关的客户群体。

潜在客户分为两类:

?? 未采用任何业务的争取对象

?? 使用某一种或几种业务的已有用户

对于前者,为营销部门提供科学的依据,采取更为灵活的优惠销售策略以

吸引更多的新用户是最终目的,为此,需要待开发地区和人群的相关社会资料,如职业构成、年龄层次、受教育程度以及收入等级、期望通信支出等等。这些信息数据往往较难得到,可以通过各种途径,如问卷调查、电话咨询记录,第三方资料共享等。

而对于后者,则以争取用户采用更多业务种类为目的。对任意一种业务组

合,通过分析其用户的基本信息以获取这部分用户的相应特征,那么,具有相同或相似特征而只采用其中某一种业务的用户就是另外几种业务的潜在用户。这样的分析,由于用户基本资料已记录在案,因此在可操作性上较前者为高。

4.2.4 趋势分析

趋势分析主要指业务预测,是针对电信量发展的短期预测。它建立在对大

25

量数据(业务资料数据、社会基础资料数据、市场调查资料、其他运营者资料数据)统计分析的基础上,通过模型运算、统计分析等数据处理手段,完成对电信企业的业务发展、用户需求数量、用户分布、市场占有等几方面的预测分析。

从上面介绍的数据挖掘子系统各模块的介绍中可以看出,信用度分析及客

户行为分析是每个部分的基础,也是系统设计的重点,在下文中,我们将给出信用度分析及客户行为分析的数据流图,并简单介绍基于分类的潜在客户挖掘处理。

4.3 信用度及行为分析处理数据流图

4.3.1 客户信用度分析

客户信用度分析可以分为两步:

1.系统初装时,没有用户的信用度级别信息,这时采用无监督分类算法(聚类),按照用户的帐务行为信息将其分为若干类。在此基础上,依照每类指标的统计数据和一定的等级评定规则,将各类的信用度赋予高低级别;

2.在系统运行过程中,用户(指本系统用户)可能会对已有信用度级别提出异议,或加以修改,这样,对做了相应级别修正后的用户数据,采用有监督的分类学习,就会得到更为准确的分类模型,而且,这个模型也是不断在更新的。相应地,随着用户信用行为特征的变化,其信用级别也会不断变动。

作为信用度类别分类依据的用户帐务信息数据包括:

1).开户平均时长;

2).欠费次数;

3).金额(如本月欠费,则为欠费金额,此值为负,如本月不欠费,则为通

话费用)。

4).欠费时长;

5).帐务人社会性质。

(一)信用度初始化:(图中号码表示相应操作的先后顺序)

26

图 4.1 信用度初始化

注:1.这里的聚类分析是无监督分类学习算法,采用贝因斯聚类算法Autoclass;

2.类别模型 1 是一个初始模型,说明样本数据分为几类,每一类都有哪些

数据样本,但每一类的信用度级别高低并没有明确区分,按照每类用户的各指标的统计信息以及等级评定规则,分出各类级别高低顺序,就得到修正的类别模型1。

3.等级评定规则的制定较为困难,按照对影响信用度级别的各指标的权

重大小的理解不同,评定规则也不同,在这里,我们采取另外一种思路,从各类别用户的利润贡献角度来考察其级别等级,利润的计算可用如下公式:

利润=平均通话金额-平均欠费时长*平均欠费金额*0.01-平均坏帐

其中:

假设向用户收取的滞纳金为每天 1%;

平均通话金额=平均开户时长*平均通话金额(反映在金额字段为正值);

平均欠费金额反映在金额字段为负值;

平均坏帐来自于坏帐历史记录表;

4.抽样过程:抽样的原则是样本尽量具有代表性,且数据量能保证学习耗

时不是太多,在这里我们用一个随机数产生器随机产生要抽取的样本:

历史帐务信息数据库

抽样

抽样样本数据

聚类分析类别模型1

等级定义

修正的类别模型1

等级评分

等级评定规则

1

2

3

4

5

统计

类别统计信息

6

7 7

8

9

9

信用度模型更新

10 11 模块

27

图 4.2 数据抽样

(二)信用度模型更新:(图中号码表示操作先后顺序)

图 4.3 信用度模型更新

注:1.训练样本的确定采用一定的抽样算法,这里的样本数据除了上一阶段的用户帐务信息外,还包括每一用户的级别信息。所以此时的抽样过程与信用度初始化时所用抽样算法有所不同,因为是要采用有监督的分类学习算法,故所有经过人为信用度级别设定的帐务记录,都要被抽取。

2.有监督的分类学习采用C5

初始化后的帐务历史数据库

信用度人为

设定

抽样

训练样本数据

有监督分类学

分类模型

1

2

3 4

上月帐务数据用户基本信息库

信用度历史记录

用户信

用度更

新模块

1

5

历史帐务数据库

抽取

帐务记录ID

抽样

随机数

发生器

供学

习用

样本

数据

28

(三)用户信用度级别更新:

图 4.4 信用度级别更新

注:评分后用户类别信息除了放入帐务数据库以利于下一次模型更新外,同时插入用户基本信息数据库,同时触发营销及仓库接口部分的数据作相应更新。(四)新开用户信用度设定:

用户的信用度级别设定是由用户的帐务信息决定的,而新开用户没有任何

帐务记录,故根据已有的信用度模型无法设置其信用度。考虑到有不同帐务行为的用户有不同的基本信息,即某种信用等级的用户具有相似的基本信息,我们可以分析新开户的基本信息,与各个信用等级的用户基本信息做比较,以确定他属于哪个信用级别,分为以下两步:

(1)分类模型确定

(2)新开户信用等级评定

当月帐务数据库

分类模型

评分

用户基本信息库

信用度历史记录库

营销接口

仓库接口

29

图 4.5 新开用户信用度设定

注:1.这里的抽样主要为保证分类学习效率而取少量数据,在学习器容许的情况下,抽样的比率即参与学习的样本越大越好;

数据仓库模型的设计

2.5数据仓库模型的设计 数据仓库模型的设计大体上可以分为以下三个层面的设计151: .概念模型设计; .逻辑模型设计; .物理模型设计; 下面就从这三个层面分别介绍数据仓库模型的设计。 2.5.1概念模型设计 进行概念模型设计所要完成的工作是: <1>界定系统边界 <2>确定主要的主题域及其内容 概念模型设计的成果是,在原有的数据库的基础上建立了一个较为稳固的概念模型。因为数据仓库是对原有数据库系统中的数据进行集成和重组而形成的数据集合,所以数据仓库的概念模型设计,首先要对原有数据库系统加以分析理解,看在原有的数据库系统中“有什么”、“怎样组织的”和“如何分布的”等,然后再来考虑应当如何建立数据仓库系统的概念模型。一方面,通过原有的数据库的设计文档以及在数据字典中的数据库关系模式,可以对企业现有的数据库中的内容有一个完整而清晰的认识;另一方面,数据仓库的概念模型是面向企业全局建立的,它为集成来自各个面向应用的数据库的数据提供了统一的概念视图。 概念模型的设计是在较高的抽象层次上的设计,因此建立概念模型时不用考虑具体技术条件的限制。 1.界定系统的边界 数据仓库是面向决策分析的数据库,我们无法在数据仓库设计的最初就得到详细而明确的需求,但是一些基本的方向性的需求还是摆在了设计人员的面前: . 要做的决策类型有哪些? . 决策者感兴趣的是什么问题? . 这些问题需要什么样的信息? . 要得到这些信息需要包含原有数据库系统的哪些部分的数据? 这样,我们可以划定一个当前的大致的系统边界,集中精力进行最需要的部分的开发。因而,从某种意义上讲,界定系统边界的工作也可以看作是数据仓库系统设计的需求分析,因为它将决策者的数据分析的需求用系统边界的定义形式反映出来。 2,确定主要的主题域 在这一步中,要确定系统所包含的主题域,然后对每个主题域的内

数据仓库设计指南

数据仓库设计指南 在一般的数据仓库应用系统中,根据系统体系结构的不同,数据仓库设计的内容和范围不尽相同,并且设计方法也不尽相同,下面的两幅图示分别表示带有ODS的数据仓库应用系统体系结构和不带ODS的数据仓库应用系统体系结构。本文将说明两个体系结构上的差异以及这种差异造成的设计方法的不同,并且重点介绍带有ODS的体系结构中数据仓库的设计方法。GV1 =p}` 在数据仓库的设计指导思想中,数据仓库的概念定义是非常重要的,数据仓库概念规定了数据仓库所具有的几个基本特性,这些特性也正是对数据仓库设计结果进行检验的重要依据。M)_m= }d 根据Bill.Inmon的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统”。_R)tJ Ro ODS(Operational Data Store)是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据。4\&P~kI 一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用:#:1< R\H6m 1)在业务系统和数据仓库之间形成一个隔离层。[t"C/;S! 一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中,从这些业务系统对数据进行抽取并不是一件容易的事。因此,ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极大降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。,8mPV{U KU 2)转移一部分业务系统细节查询的功能 Cr

数据仓库设计的21条原则:7个步骤,7个禁忌和7种思路

高效实现数据仓库的七个步骤 数据仓库和我们常见的RDBMS系统有些亲缘关系,但它又有所不同。如果你没有实施过数据仓库,那么从设定目标到给出设计,从创建数据结构到编写数据分析程序,再到面对挑剔的用户的评估,整个过程都会带给你一种与以往的项目完全不同的体验。一句话,如果你试图以旧有的方式创建数据仓库,那你所面对的不是预算超支就是所建立的数据仓库无法良好运作。 在处理一个数据仓库项目时需要注意的问题很多,但同时也有很多有建设性的参考可以帮助你更顺利的完成任务。开放思维,不断尝试新的途径,对于找到一种可行的数据仓库实现方法来说也是必需的。 1. 配备一个全职的项目经理或你自己全面负责项目管理 在通常情况下,项目经理都会同时负责多个项目的实施。这么做完全是出于资金和IT资源方面的考虑。但是对于数据仓库项目的管理,绝对不能出现一人身兼数个项目的情况。由于你所处的领域是你和你的团队之前没有进入过的领域,有关数据仓库的一切-数据分析、设计、编程、测试、修改、维护-全都是崭新的,因此你或者你指派的项目经理如果能全心投入,对于项目的成功会有很大帮助。 2. 将项目管理职责推给别的项目经理 由于数据仓库实现过程实在是太困难了,为了避免自虐,你可以在当前阶段的项目完成后就将项目管理职责推给别的项目经理。当然,这个新的项目经理一定要复合第一条所说的具有全职性。为什么要这么做呢?首先,从项目经理的角度看,数据仓库实施过程的任何一个阶段都足以让人身心疲惫。从物理存储设备的开发到Extract-Transform-Load的实现,从设计开发模型到OLAP,所有阶段都明显的比以前接触的项目更加困难。每个阶段不但需要新的处理方法、新的管理方法,还需要创新性的观点。所以将管理职责推给别的项目经理不但不会对项目有损害,还可以起到帮助作用。 3.与用户进行沟通 这里所讲的内容远比一篇文章本身要重要的多。你必须明白,在数据仓库的设计阶段,那些潜在用户自己也不清楚他们到底需要数据仓库为他们做什么。他们在不断的探索和发现自己的需求,而你的开发团队也在和客户的接触中做着同样的事情。更加频繁的与客户接触,多做记录,

数据仓库-系统设计说明书

归一大数据平台 数据仓库 系统设计说明书受控不受控

修改变更记录:

目录 1引言 (5) 1.1文档编制目的 (5) 1.2背景 (6) 1.3词汇表 (6) 1.4参考资料 (6) 2总体设计 (7) 2.1软件体系结构 (7) 2.2系统运行体系......................................................................... 错误!未定义书签。 2.2.1运行体系图..................................................................... 错误!未定义书签。 2.2.2程序/模块对应表............................................................ 错误!未定义书签。 2.3系统物理结构 (7) 2.4技术路线 (8) 3系统接口设计 (8) 3.1用户接口 (8) 4子系统/模块设计 (8) 4.1数据仓库 (8) 4.1.1ODL(操作数据)层设计 (8) 4.1.2BDL(数据仓库)层设计 (10) 4.1.3IDL(宽表)层设计 (11) 4.1.4PDL(应用)层设计 (12) 4.1.5PUB(维度)层设计 (15) 4.1.6数据导出设计 (16) 5数据结构与数据库设计 (17) 6外部存储结构设计 (17) 7故障处理说明 (17) 8尚需解决的问题 (18)

编写指南: 本模板力图给出系统设计阶段可能包括的基本信息,重点在于和需求分析文档相联系。描述系统整体情况。如果某个章节在项目或当前阶段中无法描述,则可保留其标题,注明“不

数据仓库的开发设计过程

数据仓库之路 FAQ FAQ目录 一、与数据仓库有关的几个概念 (3) 1.1 目录 (3) 二、数据仓库产生的原因 (8) 三、数据仓库体系结构图 (11) 四、数据仓库设计 (12) 4.1 数据仓库的建模 (12) 4.2 数据仓库建模的十条戒律: (13) 五、数据仓库开发过程 (14) 5.1 数据模型的内容 (14) 5.2 数据模型转变到数据仓库 (14)

5.3 数据仓库开发成功的关键 (15) 六、数据仓库的数据采集 (16) 6.1 后台处理 (17) 6.2 中间处理 (17) 6.3 前台处理 (18) 6.4 数据仓库的技术体系结构 (18) 6.5 数据的有效性检查 (20) 6.6 清除和转换数据 (20) 6.7 简单变换 (22) 6.8 清洁和刷洗 (24) 6.9 集成 (25) 6.10 聚集和概括 (27) 6.11 移动数据 (27) 七、如何建立数据仓库 (30) 7.1 数据仓库设计 (31) 7.2 数据抽取模块 (32) 7.3 数据维护模块 (33)

一、与数据仓库有关的几个概念 1.1 目录 ?Datawarehouse ?Datamart ?OLAP ?ROLAP ?MOLAP ?ClientOLAP ?DSS ?ETL ?Adhocquery ?EIS ?BPR ?BI ?Datamining ?CRM ?MetaData Data warehouse 本世纪80年代中期,“数据仓库之父”William H.Inmon先生在其《建立数据仓库》一书中定义了数据仓库的概念,随后又给出了更为精确的定义:数据仓

数据仓库设计的21条原则

数据仓库设计的21条原则:7个步骤,7个禁忌和7种思路(转) 高效实现数据仓库的七个步骤 数据仓库和我们常见的RDBMS系统有些亲缘关系,但它又有所不同。如果你没有实施过数据仓库,那么从设定目标到给出设计,从创建数据结构到编写数据分析程序,再到面对挑剔的用户的评估,整个过程都会带给你一种与以往的项目完全不同的体验。一句话,如果你试图以旧有的方式创建数据仓库,那你所面对的不是预算超支就是所建立的数据仓库无法良好运作。 在处理一个数据仓库项目时需要注意的问题很多,但同时也有很多有建设性的参考可以帮助你更顺利的完成任务。开放思维,不断尝试新的途径,对于找到一种可行的数据仓库实现方法来说也是必需的。 1. 配备一个全职的项目经理或你自己全面负责项目管理 在通常情况下,项目经理都会同时负责多个项目的实施。这么做完全是出于资金和IT资源方面的考虑。但是对于数据仓库项目的管理,绝对不能出现一人身兼数个项目的情况。由于你所处的领域是你和你的团队之前没有进入过的领域,有关数据仓库的一切-数据分析、设计、编程、测试、修改、维护-全都是崭新的,因此你或者你指派的项目经理如果能全心投入,对于项目的成功会有很大帮助。 2. 将项目管理职责推给别的项目经理 由于数据仓库实现过程实在是太困难了,为了避免自虐,你可以在当前阶段的项目完成后就将项目管理职责推给别的项目经理。当然,这个新的项目经理一定要复合第一条所说的具有全职性。为什么要这么做呢?首先,从项目经理的角度看,数据仓库实施过程的任何一个阶段都足以让人身心疲惫。从物理存储设备的开发到Extract-Transform-Load的实现,从设计开发模型到OLAP,所有阶段都明显的比以前接触的项目更加困难。每个阶段不但需要新的处理方法、新的管理方法,还需要创新性的观点。所以将管理职责推给别的项目经理不但不会对项目有损害,还可以起到帮助作用。 3.与用户进行沟通 这里所讲的内容远比一篇文章本身要重要的多。你必须明白,在数据仓库的设计阶段,那些潜在用户自己也不清楚他们到底需要数据仓库为他们做什么。他们在不断的探索和发现自己的需求,而你的开发团队也在和客户的接触中做着同样的事情。更加频繁的与客户接触,多做记录,并让你的团队更关注于项目需求讨论的结果而不是讨论的过程本身。 既然你和客户的交流是为了了解存储的数据是何种类型以及如何有效存储数据,你也许需要(和你的用户一起)采用一种新的方法观察数据,而不是直接处理数据。你可以尝试从中找出隐藏的信息,比如在一段时期内的数字涨落等。不要试图追寻项目需求的答案,而是要让答案找上门来。 4. 以技术/信息库作为领导 由于数据仓库实施的各个阶段都有很大不同,因此你需要有人能起到维持整个项目的连续进行的作用,不过这个职责并不需要那种全职性。项目实施有三个重要方面:架构、技术和业务。将架构作为重点可以保证在整个项目中,数据仓库的架构从物理层往上,都会受到良好的维护。而我们应该将技术作为重点,因为开发团队和关键用户都在使用他们以前从未用过的工具,必须有人监督开发过程以及工具使用的一致性。 最后,在数据仓库的应用过程中浮现出来的业务需求必须被详细分析和记录,以促机开发过程持续下去。如果用户不能很好的与开发人员以及其它用户沟通,那么数据分析和度量方面的开发进程就会延期,所以必须有人关注业务方面的开发,推动开发进入更高级别。 5. 跳出反复修改程序的陷阱 第一次实现的数据仓库肯定不会是最终交付的版本。为什么呢?实际上在真正见到产品前,你无法确定

数据仓库设计文档模板

数据仓库设计与实现 学号 128302106 姓名江晨婷 成绩 教师张丹平 二O一五年四月

数据仓库建设方案设计与实现 摘要:本文以博士学位调查为基础,创建方案,设计与实现数据仓库,通过对当前各种主流数据仓库软件在性能、价格等方面的对比,充分考虑统计业务、单位数量等实际情况,本系统决定采用SQL Server 2005数据仓库软件来构建综合信息分析系统的数据仓库。 关键词:数据仓库;联机分析;数据挖掘;博士学位 一、概述 数据仓库的设计一般从操作型数据开始,通常需要经过以下几个处理过程;数据仓库设计——数据抽取——数据管理。 1.数据仓库设计 根据决策主题设计数据仓库结构,一般采用星型和雪花模型设计其数据模型,在设计过程中应保证数据仓库的规范化和体系各元素的必要联系。 2.数据抽取 根据元数据库中的主题表定义、数据源定义、数据抽取规则定义对异地异构数据源进行清理、转换、对数据进行重新组织和加工,装载到数据仓库的目标库中。 3.数据管理 数据管理分为目标数据维护和元数据维护两方面。目标数据维护是根据元数据为所定义的更新频率、更新数据项等更新计划任务来刷新数据仓库,以反映数据源的变化,且对时间相关性进行处理。元数据是数据仓库的组成部分,元数据的质量决定整个数据仓库的质量。当数据源的运行环境、结构及目标数据的维护计划发生变化时,需要修改元数据。 二、博士学位授予信息年度数据统计分析 1.按主管部门统计 从主管部门的角度,分析在一个时间段(年)内,各主管部门所授予的博士学位信息统计。可回答如“2008,由某部门主管的,博士学位授予一共有多少,其平均学习年限是多少,脱产学习的有多少人?”等问题。具有表格和图形两种方式来展示分析结果。典型报表格式如表1所示

数据仓库设计与实现

数据仓库的设计与实现

第1章数据仓库的设计与实现 1.1数据仓库设计过程 数据仓库的设计一般从操作型数据开始,通常需要经过以下几个处理过程;数据仓库设计——数据抽取——数据管理。 一、数据仓库设计 根据决策主题设计数据仓库结构,一般采用星型和雪花模型设计其数据模型,在设计过程中应保证数据仓库的规范化和体系各元素的必要联系。 二、数据抽取 根据元数据库中的主题表定义、数据源定义、数据抽取规则定义对异地异构数据源进行清理、转换、对数据进行重新组织和加工,装载到数据仓库的目标库中。 三、数据管理 数据管理分为目标数据维护和元数据维护两方面。目标数据维护是根据元数据为所定义的更新频率、更新数据项等更新计划任务来刷新数据仓库,以反映数据源的变化,且对时间相关性进行处理。元数据是数据仓库的组成部分,元数据的质量决定整个数据仓库的质量。当数据源的运行环境、结构及目标数据的维护计划发生变化时,需要修改元数据。 1.2需求分析与决策主题的选取 通过对管理者和各级别的用户的数据分析需求进行调研,我们收集并整理出了用户的决策分析需求如下: 1.2.1 博士学位授予信息年度数据统计分析 一、按主管部门统计 从主管部门的角度,分析在一个时间段(年)内,各主管部门所授予的博士学位信息统计。可回答如“2008,由某部门主管的,博士学位授予一共有多少,其平均学习年限是多少,脱产学习的有多少人?”等问题。具有表格和图形两种方式来展示分析结果。典型报表格式如表1所示。

表1 200__年度授予博士学位情况统计表(按主管部门统计) 表1续200__年度授予博士学位情况统计表(按主管部门统计) 二、按性质类别统计

数据仓库-系统设计说明书

系统设计说明书 归一大数据平台 数据仓库 系统设计说明书

修改变更记录:

目录 1引言5 1.1文档编制目的 (5) 1.2背景 (6) 1.3词汇表 (6) 1.4参考资料 (6) 2总体设计7 2.1软件体系结构 (7) 2.2系统物理结构 (7) 2.3技术路线 (8) 3系统接口设计8 3.1用户接口 (8) 4子系统/模块设计8 4.1数据仓库 (8) 4.1.1O DL(操作数据层)设计 (8) 4.1.2B DL(事物层)设计 (10) 4.1.3I DL(宽表层)设计 (11) 4.1.4P DL(应用层)设计 (12) 4.1.5P UB(维度)库设计 (15) 4.1.6业务账(数据集市)库 (16) 4.1.7数据导出设计 (16) 5数据结构与数据库设计17 6外部存储结构设计

17 7故障处理说明17 8尚需解决的问题18

编写指南: 本模板力图给出系统设计阶段可能包括的基本信息,重点在于和需求分析文档相联系。描述系统整体情况。如果某个章节在项目或当前阶段中无法描述,则可保留其标题,注明“不适用”;如果需要对本模板的个别章节详细描述,也可将其形成单独的文档,成为本文档附件。 若文档中的某个章节已经在其他项目文档中加以描述,可保留标题,注明“参见(文档编号)(文档名称)(条款)”。 形成正式文档后须删除斜体字内容。 0 报告编制要求 这里列出本系统设计报告编制的经验性要求,须由系统设计人员参照其进行裁剪以确定本次报告编制的相关规定。

1引言 1.1文档编制目的 指导开发人员进行后期的开发工作; 指导测试人员进行解决方案级的系统测试; 1.2背景 叙述系统设计阶段的目标、作用范围以及其他应向读者说明的理解本报告所需的背景,如与公司其它软件之间的联系等。 1.3词汇表 列出本系统设计说明书中专门术语的定义、英文缩写词的原词组和意义、项目组内达成一致意见的专用词汇,同时要求继承全部的先前过程中定义过的词汇。 词汇名称词汇含义备注 备注中注明该词汇的来源,或有其他更详细的解释的文档位置;以及对该词汇的其他叫法。 1.4参考资料 需求规格说明书 系统架构设计说明书

数据仓库复习题

第一章概述 1.数据挖掘的定义?(书P2,PPT_P8) 从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 2.数据挖掘的源是否必须是数据仓库的数据?可以有哪些来源?(PPT_P14) 关系数据库、数据仓库、事务数据库、高级数据等 3.数据挖掘的常用方法?(P4、PPT_P29) 聚类分析、决策树、人工神经网络、粗糙集、关联规则挖掘、统计分析等 4.数据挖掘的过程包括哪些步骤,每一步具体包括哪些内容?(书P2-3,PPT_P17-19) 确定业务对象、数据准备、数据挖掘、结果分析与知识同化。 5.数据挖掘与数据仓库的关系(联系和区别)?书P6-7,PPT_P45-46 联系:1,数据仓库为数据挖掘提供了更好的,更广泛的数 据源 AHA12GAGGAGAGGAFFFFAFAF

2,数据仓库韦数据挖掘提供了新的支持平台。 3,数据仓库为更好地使用数据挖掘工具提供了方便 4,数据挖掘对数据仓库提供了更好的决策支持。 5,数据挖掘对数据仓库的数据组织提出了更高的要求 6,数据挖掘还为数据仓库提供了广泛的技术支持 区别:数据仓库是一种存储技术,它包含大量的历史数据、当前的详细数据以及综合数据,它能为不同用户的不同决策需要提供所需的数据和信息。~~数据挖掘是从人工智能机器学习中发展起来的,它研究各种方法和技术,从大量的数据中挖掘出有用的信息和知识。 第二章数据仓库 1.数据仓库的定义 数据仓库——是一个面向主题的、集成的、随时间而变化的、不容易丢失的数据集合,支持管理部门的决策定制过程。2.数据仓库数据的四大基本特征: 面向主题的、集成的、不可更新的、随时间变化的。 3.数据仓库体系结构有三个独立的数据层次: AHA12GAGGAGAGGAFFFFAFAF

数据仓库主题设计及元数据设计

明确仓库的对象:主题和元数据 大多数商务数据都是多维的,所以采集和表示三维以上的数据不能完全借用业务数据库设计中的方法,必须有一种新的方法来表达多维数据。现阶段流行的有2种方法,一是面向对象方法,即把商务数据抽象为对象,再使用Rational Rose等对象建模工具来表达这些对象;另一种方法就是使用信息包图,这是一种简便且高效的方法,在项目中使用的普及率很高。 信息包图实际上是自上而下数据建模方法的一个很好的工具。自上而下的建模技术从用户的观点开始设计。用户的观点是通过与用户交流得到的,可以进一步明确用户的信息需求。自上而下的方法几乎考虑了所有的信息源,以及这些信息源影响商务活动的方式,它使得设计者可以围绕着一个通常的主题或商务领域进行信息包的开发。 下面就详述如何通过信息打包技术建立信息包图,从而确定数据仓库中的主题和元数据。 3.4.1 信息打包技术 1.信息打包技术的基本使用 信息打包法是一种自顶向下的设计方法,它从管理者的角度出发把焦点集中在企业的一个或几个主题上,着重分析主题所涉及数据的多维特性。此法具体分4个阶段:(1)采用自顶向下的方法对商务数据的多维特性进行分析,用信息打包图表示维度和类别之间的传递和映射关系,建立概念模型。其中类别是按一定的标准对一个维度的分类划分,如产品可按颜色、质地、产地和销地等不同标准分类。 (2)对企业的大量的指标实体数据进行筛选,提取出可利用的中心指标。其中指标也称为关键性能指标和关键商务测量的值,是在维度空间衡量商务信息的一种方法。比如产品收入金额、原材料消耗、补充新雇员或设备运行时间等都可以叫做指标。 (3)在信息打包图的基础上构造星形图,对其中的详细类别实体进行分析,进一步扩展为雪花图,建立逻辑模型。 (4)在星形图和雪花图的基础上,根据所定义数据标准,通过对实体、键标、非键标、数据容量、更新频率和实体特征进行定义,完成物理数据模型的设计。 信息包图可以帮助用户完成以下工作: 定义某一商务中涉及的共同主题范围,例如:时间、顾客、地理位置和产品。 设计可以跟踪的、确定一个商务事件怎样被运行和完成的关键商务指标。

建设数据仓库的八个步骤

大数据技术部 建设数据仓库的八个步骤2017年04月25日编制

建设数据仓库的八个步骤 摘要:建立数据仓库是一个解决企业问题的过程,业务人员往往不懂如何建立和使用数据仓库,发挥其决策支持的作用;信息部门的人员往往又不懂业务,不知道应该建立哪些决策主题。 关键词:数据仓库元数据 建设数据仓库 建立数据仓库是一个解决企业问题的过程,业务人员往往不懂如何建立和使用数据仓库,发挥其决策支持的作用;信息部门的人员往往又不懂业务,不知道应该建立哪些决策主题,从数据源中抽取哪些数据。因此数据仓库的项目小组应该由业务人员和信息部门的人员共同组成,双方需要相互沟通,协作开发数据仓库。 开发数据仓库的过程包括以下几个步骤。 1.系统分析,确定主题 建立数据仓库的第一个步骤就是通过与业务部门的充分交流,了解建立数据仓库所要解决的问题的真正含义,确定各个主题下的查询分析要求。 业务人员往往会罗列出很多想解决的问题,信息部门的人员应该对这些问题进行分类汇总,确定数据仓库所实现的业务功能。一旦确定问题以后,信息部门的人员还需要确定一下几个因素: ·操作出现的频率,即业务部门每隔多长时间做一次查询分析。 ·在系统中需要保存多久的数据,是一年、两年还是五年、十年。 ·用户查询数据的主要方式,如在时间维度上是按照自然年,还是财政年。 ·用户所能接受的响应时间是多长、是几秒钟,还是几小时。 由于双方在理解上的差异,确定问题和了解问题可能是一个需要多次往复的过程,信息部门的人员可能需要做一些原型演示给业务部门的人员看,以最终确定系统将要实现的功能确实是业务部门所需要的。

2.选择满足数据仓库系统要求的软件平台 在数据仓库所要解决的问题确定后,第二个步骤就是选择合适的软件平台,包括数据库、建模工具、分析工具等。这里有许多因素要考虑,如系统对数据量、响应时间、分析功能的要求等,以下是一些公认的选择标准: ·厂商的背景和支持能力,能否提供全方位的技术支持和咨询服务。 ·数据库对大数据量(TB级)的支持能力。 ·数据库是否支持并行操作。 ·能否提供数据仓库的建模工具,是否支持对元数据的管理。 ·能否提供支持大数据量的数据加载、转换、传输工具(ETT)。 ·能否提供完整的决策支持工具集,满足数据仓库中各类用户的需要。 3.建立数据仓库的逻辑模型 具体步骤如下: (1)确定建立数据仓库逻辑模型的基本方法。 (2)基于主题视图,把主题视图中的数据定义转到逻辑数据模型中。 (3)识别主题之间的关系。 (4)分解多对多的关系。 (5)用范式理论检验逻辑数据模型。

数据仓库建设的几点建议.doc

北京甲骨文软件有限公司咨询经理鲁百年博士 一、国内信息化的现状 1、信息化建设的发展历史: 在国内信息化建设过程中,基本上是按照当时业务系统的需求进行建设,例如:在一个企业中,财务部门为了减少工资发放的差错,提高发放的效率,先建设一个工资发放和管理程序;为了报账和核对的需求,建设一个财务管理程序;在银行首先为了业务处理的方便,将最基本的手工记帐和处理的业务建成一个系统,过一段时间,如果有新的业务推出,就再建设一个新的系统,或在原系统的基础上增加新的业务处理。这样的结果使每个系统和系统之间缺少真正的信息沟通和信息交换。 2、为何要建立数据仓库: 前面我们讲过,业务系统各自为政,相互独立。当很多业务系统建立后,由于领导的要求和决策的需求,需要一些指标的分析,在相应的业务系统基础上再增加分析和相应的报表功能,这样每个系统就增加了报表和分析功能。但是,由于数据源不统一导致了对同一个指标分析的结果不相同。为了解决该问题,Bell Inman提出了数据仓库的概念,其目的是为了分析和决策的需要,将相互分离的业务系统的数据源整合在一起,可以为领导和决策层提供分析和辅助决策。 3、国内企业对数据仓库建设认识的误区: 大家对数据仓库的认识是将业务系统的数据进行数据抽取、迁移和加载(ETL),将这些数据进行整合存放在一起,统一管理,需要什么样的分析就可提供什么样的分析,这就是数据仓库。这样做的结果是花了一年到两年的时间都无法将整个企业业务系统的数据整合在一起,花钱多、见效慢、风险大。一年后领导问起数据仓库项目时,回答往往是资金不足,人力不够,再投入一些资源、或者再延长半年的时间就会见到效果,但是往往半年过后还是仅仅可以看到十几张或者几十张报表。领导不满意,项目负责人压力也很大,无法交待。这时,项目经理或者项目负责人才意识到,项目有问题,但是谁也不敢说项目有问题,因为这样显然是自己当时的决策失误。怎么办?寻找咨询公司或者一些大的厂商,答案往往是数据仓库缺乏数据模型,应该考虑数据模型。如果建设时考虑到整个企业的数据模型,就可以建设成企业级的数据仓库(EDW)。什么是数据模型,就是满足整

数据仓库分析系统整体设计方案 (1).doc

目录 一、概述 (2) 二、四科室需求 (3) 1、风险科需求 (3) 2、市场科需求 (13) 3、业务管理科需求 (14) 4、计划资金科需求 (15) 三、需求分析 (23) 1、维表 (23) 2、事实表 (23) 3、事务——业务处理过程及业务术语 (23) 4、主键 (24) 5、外键 (24) 四、系统结构图及业务数据流图 (25) 1、系统结构图 (25) 2、数据流图 (26) 五、源数据表结构 (27) 1、BCS系统 (27) 2、C ARDPOOL系统 (34) 3、NAS系统 (36) 4、BCS系统报表 (37) 六、生成表结构 (39) 七、码表结构 (43) 八、结果表结构 (50) 九、数据表创建方法 (51) 1、BCS系统 (51) 2、C ARDPOOL系统 (57) 3、NAS系统 (58) 4、生成表 (58) 5、码表 (62) 十、数据处理过程 (68) 1、目录结构 (68) 2、流程说明 (68) 十一、问题及处理方法 (80)

一、概述 Bill Inmon(数据仓库之父)在Building the Data Warehouse (John Wiley & Sons Inc., 1996)书中把数据仓库描述为一个“面向主题的、完整的、非易失的、不同时间的、用于支持决策管理的数据集合”。 数据仓库是只用于制作报表的数据库。 对我们而言,数据仓库是某个“宽广”的数据仓储。它包括许多的主题领域。而一个数据集市,恰恰相反,它把眼睛盯在商业活动的某个非常有限的部分上。它往往涉及某个单独主题或单个类型的分析。 在日常工作中,IT人员经常听到这样的抱怨:“我要求的报表怎么还没出来?”或者是“我要对XX报表做些修改,怎么还没结果?”等等。 在IT飞速发展的最近几年里,银行信用卡部先后针对业务上了一些计算机系统。这些系统的特点是:信息量规模小、数据经常实时更新、适用于业务人员快速录入数据、使用模式相对来说是可以预测的、模式很复杂、业务流程难以更改、数据在线保存的时间较短及各系统之间缺乏必要的联系等。这样的系统被称之为OLTP系统。OLTP系统的这些特点也就决定了有如此抱怨。 如何解决这些问题呢?我们首先想到的是:把数据集中、完整地存储在中心数据库中。所有的业务处理在中心数据库上进行。所有的报表工作脱离数据库。这听起来难道不是有点像一个数据仓库吗?我们为什么不在OLTP的业务系统数据库的基础上生成报表呢?答案很简单:因为报表经常需要大量的、长时间的数据做依据,然后经过大量的运算,才能得出你想要的结论。这对业务系统的正常运转影响很大,以至于业务系统无法正常运转。 当然,不是什么时候都需要一个数据仓库的。正如数据仓库的定义:是用于支持决策管理的数据集合。 中国银行北京分行从1986年6月1日发行第一张人民币长城卡到现在拥有将近20万的持卡人。从过去手工处理业务到现在拥有几个OLTP业务系统。信用卡业务有了飞速的发展。但也应看到信用卡市场的激烈竞争。如何给决策者及时提供决策支持信息,是在激烈的市场竞争中立于不败之地的关键。

数据仓库与数据挖掘课程设计报告书

目录 1. 绪论 (2) 1.1项目背景 (2) 1.2 提出问题 (2) 2 数据库仓库与数据集的概念介绍 (2) 2.1数据仓库 (2) 2.2数据集 (3) 3 数据仓库 (3) 3.1 数据仓库的设计 (3) 3.1.1数据仓库的概念模型设计 (3) 3.1.2数据仓库的逻辑模型设计 (3) 3.2 数据仓库的建立 (4) 3.2.1数据仓库数据集 (4) 3.2.2建立维表 (4) 4.数据挖掘操作 (5) 4.1数据预处理 (5) 4.1.1描述性数据汇总 (5) 4.2决策树 (5) 5、实验心得 (13) 6、大总结 (14)

1. 绪论 1.1项目背景 在现在大数据时代,各行各业需要对商品及相关关节的数据进行收集处理,尤其零售行业,于企业对产品的市场需求进行科学合理的分析,从而预测出将来的市场,制定出高效的决策,给企业带来经济收益。 1.2 提出问题 对于超市的商品的购买时期和购买数量的如何决定,才可以使销售量最大,不积压商品,不缺货,对不同时期季节和不同人群制定不同方案,使企业收益最大,通过数据挖掘对数据进行决策树分析,关联分析,顺序分析与决策分析等可以制定出最佳方案。 2 数据库仓库与数据集的概念介绍 2.1数据仓库 数据仓库是为企业所有级别的决策制定过程提供支持的所有类型数据的战略集合。它是单个数据存储,出于分析性报告和决策支持的目的而创建。为企业提供需要业务智能来指导业务流程改进和监视时间、成本、质量和控制。 数据仓库是决策系统支持(dss)和联机分析应用数据源的结构化数据环境。

数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。 2.2数据集 数据集是指一种由数据所组成的集合。Data set(或dataset)是一个数据的集合,通常以表格形式出现。每一列代表一个特定变量。每一行都对应于某一成员的数据集的问题。它列出的价值观为每一个变量,如身高和体重的一个物体或价值的随机数。每个数值被称为数据资料。对应于行数,该数据集的数据可能包括一个或多个成员。 3 数据仓库 3.1 数据仓库的设计 3.1.1数据仓库的概念模型设计 概念模型的设计是整个概念模型开发过程的三阶段。设计阶段依据概念模型分析以及分析过程中收集的任何数据,完成星型模型和雪花型模型的设计。如果仅依赖ERD,那只能对商品、销售、客户主题设计成如图所示的概念模型。这种模型适合于传统的数据库设计,但不适合于数据仓库的设计。 3.1.2数据仓库的逻辑模型设计 逻辑建模是数据仓库实施中的重要一环,因为它能直接反映出各个业务的需求,同时对系统的物理实施有着重要的指导作用,它的作用在于可以通过实体和关系勾勒出企业的数据蓝图,数据仓库的逻辑模型设计任务主要有:分析主题域,确定要装载到数据仓库的主题、确认粒度层次划分、确认数据分割策略、关系模式的定义和记录系统定义、确认数据抽取模型等。逻辑模型最终设计成果包

数据仓库分析系统整体设计方案

一、概述 二、四科室需求 1、风险科需求... 2、市场科需求... 3、业务管理科需求 4、计划资金科需求 三、需求分析 1、维表........................... 2、事实表......................... 3、事务——业务处理过程及业务术语 4、主键........................... 5、外键........................... 四、系统结构图及业务数据流图 1、系统结构图 2、数据流图 五、源数据表结构 1、BCS 系统..... 2、C ARDPOOL 系统 3、NAS 系统..... 4、BCS 系统报表. 六、生成表结构 七、码表结构 八、结果表结构 九、数据表创建方法 1、BCS 系统..... 2、C ARDPOOL 系统 3、NAS 系统..... 4、生成表......... 5、码表.......... 十、数据处理过程 1、目录结构 2、流程说明 一、问题及处理方法目录 3 13 14 15 23 23 23 23 24 24 25 25 26 27 27 34 36 37 39 43 50 51 51 57 58 58 62 68 68 68 80

、概述 Bill Inmon (数据仓库之父)在Building the Data Warehouse (John Wiley & Sons Inc., 1996)书中把数据仓库描述为一个“面向主题的、完整的、非易失的、不同时间的、用于 支持决策管理的数据集合”。 数据仓库是只用于制作报表的数据库。 对我们而言,数据仓库是某个“宽广”的数据仓储。它包括许多的主题领域。而一个数据集市,恰恰相反,它把眼睛盯在商业活动的某个非常有限的部分上。它往往涉及某个单独主题或单个类型的分析。 在日常工作中,IT人员经常听到这样的抱怨:“我要求的报表怎么还没出来?” 或者是“我要对XX 报表做些修改,怎么还没结果?”等等。 在IT飞速发展的最近几年里,银行信用卡部先后针对业务上了一些计算机系统。这些系统的特点是:信息量规模小、数据经常实时更新、适用于业务人员快速录入数据、使用模式相对来说是可以预测的、模式很复杂、业务流程难以更改、数据在线保存的时间较短及各系统之间缺乏必要的联系等。这样的系统被称之为OLTP系统。OLTP系统的这些特点也就决定了有如此抱怨。 如何解决这些问题呢?我们首先想到的是:把数据集中、完整地存储在中心数据库中。 所有的业务处理在中心数据库上进行。所有的报表工作脱离数据库。这听起来难道不是有点像一个数据仓库吗?我们为什么不在OLTP的业务系统数据库的基础上生成报表呢?答 案很简单:因为报表经常需要大量的、长时间的数据做依据,然后经过大量的运算,才能得出你想要的结论。这对业务系统的正常运转影响很大,以至于业务系统无法正常运转。 当然,不是什么时候都需要一个数据仓库的。正如数据仓库的定义:是用于支持决策管理的数据集合。 中国银行北京分行从1986年6月1日发行第一张人民币长城卡到现在拥有将近20万的 持卡人。从过去手工处理业务到现在拥有几个OLTP业务系统。信用卡业务有了飞速的发 展。但也应看到信用卡市场的激烈竞争。如何给决策者及时提供决策支持信息,是在激烈的市场竞争中立于不败之地的关键。

数据仓库系统设计文档

数据仓库系统总体设计 摘要:本文档为XX通信公司网上通信记录查询平台设计说明书,为XX通信公司网上通信记录查询平台详细设计的之要依据。本文档的主要阅读对象为XX通信公司网上通信记录查询平台的详细设计人员。经过需求分析调查,确定了数据仓库系统总体定位和系统功能需求。现根据需求分析规定和局具体情况,确定数据仓库整体方案,以指导数据仓库系统研究、开发、实现。 关键字:指标;主题;数据仓库;联机分析;数据挖掘;决策支持 1 概述 1.1 背景 本软件全称为XX通信公司网上通信记录查询平台。 1.2 术语定义 DW:数据仓库 DC:数据中心 OLTP:在线事务处理 OLAP:在线分析处理 BI:商业智能 DSS:决策支持系统 SOA:面向服务的架构 EA:企业架构 ETL:数据抽取、转换、加载 Statistical Parameter:指标 Subject:主题 DataMart:数据集市 MetaData:元数据 OLTP(On-LineTransactionProcessing):联机事务处理 DSS:决策支持系统 AS:应用服务器

WebServer :Web服务器 1.3参考资料 数据仓库课程课件林友芳 概要设计说明书模板林友芳 《实用软件工程》清华大学出版社 2 系统设计 从充分发挥系统作为“数据库,信息库,思想库,智囊库”的作用,向用户提供“快、精、准”的通讯记录查询服务的需要出发,采用当今数据库领域成熟稳定的数据仓库、决策分析等技术,在高效的网络平台上建设提供一个“决策数据管理与分析中心”的基本解决方案。 系统采用多层体系结构,建立一个良好开放性的数据仓库系统环境,适应不断增加和变化的业务需求。多层体系结构通过引入中间层组件,扩大了传统的客户/服务器和两层计算模式。多层结构可由以下三类分层来定义:前端的客户层,负责提供可移植的表达逻辑;中间的应用层,允许用户通过将其与实际应用隔离而共享和控制业务逻辑;后端的数据管理与服务层,提供对专门服务(例如数据库服务器)的访问。 结构化、层次化、模块化。采用面向对象技术,使系统高度结构化、模块化、层次化,整个系统由接口定义良好的多个模块组成,每个模块都有详细的功能说明和设计文稿,每个模块完成相对独立的功能,模块之间的接口定义规范,使模块功能的变化相对独立,不影响整个系统的功能和结构,便于系统升级,维护。 具有良好的平台移植性。选用支持多种操作平台的数据库服务器、应用服务器、WEB 服务器等服务器软件系统,选用具有良好平台移植性的B/S和C/S模式下的开发语言开发应用程序和应用中间件,提高应用系统的平台移植性。 以最简单的方式实现复杂的功能。为提高系统的稳定性和可读性,可维护性,尽量采用简洁易懂的方式实现系统功能,不追求复杂、深奥的算法。

数据仓库多维数据模型的设计说明

1、数据仓库基本概念 1.1、主题(Subject) 主题就是指我们所要分析的具体方面。例如:某年某月某地区某机型某款App的安装情况。主题有两个元素:一是各个分析角度(维度),如时间位置;二是要分析的具体量度,该量度一般通过数值体现,如App安装量。 1.2、维(Dimension) 维是用于从不同角度描述事物特征的,一般维都会有多层(Level:级别),每个Level 都会包含一些共有的或特有的属性(Attribute),可以用下图来展示下维的结构和组成:以时间维为例,时间维一般会包含年、季、月、日这几个Level,每个Level一般都会有ID、NAME、DESCRIPTION这几个公共属性,这几个公共属性不仅适用于时间维,也同样表现在其它各种不同类型的维。 1.3、分层(Hierarchy) OLAP需要基于有层级的自上而下的钻取,或者自下而上地聚合。所以我们一般会在维的基础上再次进行分层,维、分层、层级的关系如下图:

每一级之间可能是附属关系(如市属于省、省属于国家),也可能是顺序关系(如天周年),如下图所示: 1.4、量度 量度就是我们要分析的具体的技术指标,诸如年销售额之类。它们一般为数值型数据。我们或者将该数据汇总,或者将该数据取次数、独立次数或取最大最小值等,这样的数据称为量度。 1.5、粒度 数据的细分层度,例如按天分按小时分。 1.6、事实表和维表 事实表是用来记录分析的内容的全量信息的,包含了每个事件的具体要素,以及具体发

生的事情。事实表中存储数字型ID以及度量信息。 维表则是对事实表中事件的要素的描述信息,就是你观察该事务的角度,是从哪个角度去观察这个内容的。 事实表和维表通过ID相关联,如图所示: 1.7、星形/雪花形/事实星座 这三者就是数据仓库多维数据模型建模的模式 上图所示就是一个标准的星形模型。 雪花形就是在维度下面又细分出维度,这样切分是为了使表结构更加规范化。雪花模式可以减少冗余,但是减少的那点空间和事实表的容量相比实在是微不足道,而且多个表联结操作会降低性能,所以一般不用雪花模式设计数据仓库。 事实星座模式就是星形模式的集合,包含星形模式,也就包含多个事实表。

数据仓库构建实施方法及步骤

数据仓库构建实施方法及步骤 数据仓库是面向主题的、集成的、不可更新的、随时间的变化而不断变化的,这些特点决定了数据仓库的系统设计不能采用同开发传统的OLTP数据库一样的设计方法。 数据仓库系统的原始需求不明确,且不断变化与增加,开发者最初不能确切了解到用户的明确而详细的需求,用户所能提供的无非是需求的大的方向以及部分需求,更不能较准确地预见到以后的需求。因此,采用原型法来进行数据仓库的开发是比较合适的,因为原型法的思想是从构建系统的简单的基本框架着手,不断丰富与完善整个系统。但是,数据仓库的设计开发又不同于一般意义上的原型法,数据仓库的设计是数据驱动的。这是因为数据仓库是在现存数据库系统基础上进行开发,它着眼于有效地抽取、综合、集成和挖掘已有数据库的数据资源,服务于企业高层领导管理决策分析的需要。但需要说明的是,数据仓库系统开发是一个经过不断循环、反馈而使系统不断增长与完善的过程,这也是原型法区别于系统生命周期法的主要特点。因此,在数据仓库的开发的整个过程中,自始至终要求决策人员和开发者的共同参与和密切协作,要求保持灵活的头脑,不做或尽量少做无效工作或重复工作。 数据仓库的设计大体上可以分为以下几个步骤: 概念模型设计; 技术准备工作; 逻辑模型设计; 物理模型设计; 数据仓库生成; 数据仓库运行与维护。 下面我们六个主要设计步骤为主线,介绍在各个设计步骤中设计的基本内容。 第一节概念模型设计 进行概念模型设计所要完成的工作是: <1>界定系统边界 <2>确定主要的主题域及其内容 概念模型设计的成果是,在原有的数据库的基础上建立了一个较为稳固的概念模型。因为数据仓库是对原有数据库系统中的数据进行集成和重组而形成的数据集合,所以数据仓库的概念模型设计,首先要对原有数据库系统加以分析理解,看在原有的数据库系统中“有什么”、“怎样组织的”和“如何分布的”等,然后再来考虑应当如何建立数据仓库系统的概念模型。一方面,通过原有的数据库的设计文档以及在数据字典中的数据库关系模式,可以对企业现有的数据库中的内容有一个完整而清晰的认识;另一方面,数据仓库的概念模型是面向企业全局建立的,它为集成来自各个面向应用的数据库的数据提供了统一的概念视图。 概念模型的设计是在较高的抽象层次上的设计,因此建立概念模型时不用考虑具体技术条件的限制。 1 界定系统的边界 数据仓库是面向决策分析的数据库,我们无法在数据仓库设计的最初就得到详细而明确的需求,但是一些基本的方向性的需求还是摆在了设计人员的面前:

相关主题
文本预览
相关文档 最新文档