新書推薦:
《
就业、利息和货币通论(徐毓枬译本)(经济学名著译丛)
》
售價:HK$
67.2
《
瘦肝
》
售價:HK$
99.7
《
股票大作手回忆录
》
售價:HK$
55.8
《
秩序四千年:人类如何运用法律缔造文明(世界重归混乱,文明岌岌可危,法律与秩序是我们仅有的武器。穿越时间,鸟瞰全球,一部波澜壮阔的人类文明史)
》
售價:HK$
154.6
《
民法典1000问
》
售價:HK$
99.7
《
国术健身 易筋经
》
售價:HK$
33.4
《
古罗马800年
》
售價:HK$
188.2
《
写出心灵深处的故事:踏上疗愈之旅(修订版)(创意写作书系)
》
售價:HK$
66.1
|
編輯推薦: |
本书结合作者多年从事数据挖掘教学、开发数据挖掘项目的经验,从实际出发,以实用的例子,系统地介绍了数据挖掘。全书分为三个部分,共10章。第1部分由第1~3章组成,包括商业智能的概念和发展、数据挖掘和数据仓库的基本概念以及它们之间的关系;数据仓库的基本概念和设计步骤,并介绍了联机分析技术的分类和特点,以及回归分析、关联规则、聚类分析、决策树分析等数据挖掘常用分析方法的概念和算法。第2部分由第4~9章组成,包括Excel 2010数据分析和预测的功能、Excel 2010的数据挖掘功能;SQL Server 2012的Analysis Services功能、设置数据源、设置数据源视图、设置挖掘结构、处理挖掘模型、查看挖掘结果等;Microsoft SQL Server Analysis Services中提供的*常用的6个数据挖掘算法原理与参数;SPSS Statistics的界面和基础操作;SPSS Statistics在数据挖掘中常用的基础统计分析方法和高级统计分析方法。 第3部分由第10章组成,包括SQL Server 2012的数据挖掘实验、SPSS Statistics的数据挖掘实
|
內容簡介: |
本书注重数据挖掘理论,将理论与实践相结合、知识理论与具体实现方法相结合,由浅入深地介绍了数据分析与挖掘的相关知识。全书分为3部分。第1部分介绍了数据挖掘理论第1~3章,第2部分介绍了Excel 2010数据分析与挖掘、SQL Server 2012数据挖掘、SPSS数据分析与挖掘的实践过程第4~9章,第3部分介绍了SQL Server和SPSS数据挖掘的实验内容第10章。 本书为教师提供了配套的教学资源,可以作为计算机、智能科学类专业本科生的数据挖掘课程教材,也可以作为专业技术人员的自学参考书及数据挖掘爱好者的自学用书。
|
目錄:
|
目 录
第1章 绪论 1
1.1 商业智能 1
1.2 数据挖掘 6
1.3 数据仓库 12
第2章 数据仓库与联机分析 15
2.1 数据仓库 15
2.2 数据仓库的设计步骤 23
2.3 联机分析技术 34
第3章 数据挖掘运用的理论和技术 41
3.1 回归分析 41
3.2 关联规则 47
3.3 聚类分析 55
3.4 决策树分析 63
3.5 其他分析方法 68
第4章 用Excel 2010进行数据分析 71
4.1 安装前的准备 71
4.2 安装表分析工具 72
4.3 配置表分析工具 75
4.4 使用表分析工具的要求 79
4.5 分析关键影响因素 82
4.6 检测类别 86
4.7 从示例填充 90
4.8 预测 93
4.9 突出显示异常值 94
4.10 应用场景分析 98
4.11 预测计算器及可打印计算器 104
4.12 购物篮分析 108
第5章 用Excel 2010进行数据挖掘 111
5.1 数据挖掘简介 111
5.2 获取外部数据 113
5.3 数据准备 114
5.4 数据建模 127
5.5 准确性和验证 153
5.6 模型用法 164
5.7 管理和连接 171
第6章 SQL Server 2012数据挖掘 174
6.1 SSDTSQL Server Data Tools简介 174
6.2 安装SSDT-BI 175
6.3 安装示例数据库 180
6.4 SSDT-BI用户界面 182
6.5 创建挖掘项目 183
6.6 设置数据源 185
6.7 设置数据源视图 188
6.8 设置挖掘结构 193
6.9 处理挖掘模型 198
6.10 查看挖掘模型 199
6.11 挖掘准确性图表 201
6.12 挖掘模型预测 205
第7章 Microsoft数据挖掘算法 208
7.1 背景知识 208
7.2 Microsoft决策树算法 210
7.3 Microsoft聚类算法 214
7.4 Microsoft关联规则算法 218
7.5 Microsoft时序算法 221
7.6 Microsoft朴素贝叶斯算法 226
7.7 Microsoft神经网络算法 229
第8章 SPSS数据挖掘基础 234
8.1 SPSS发展简史 234
8.2 SPSS操作入门 235
8.3 SPSS的界面 236
8.4 建立SPSS文件 237
8.5 SPSS数据的变量属性定义 239
8.6 SPSS数据管理 242
8.7 SPSS数据转换 249
第9章 SPSS数据挖掘常用的统计
分析方法 254
9.1 基本描述统计 254
9.2 T检验 268
9.3 方差分析 272
9.4 多元回归分析 286
9.5 聚类分析 297
9.6 相关分析 309
9.7 因子分析 313
第10章 数据挖掘实验 319
10.1 SQL Server 2012数据挖掘实验 319
10.2 SPSS数据挖掘实验 341
参考文献 361
|
內容試閱:
|
前言 数据挖掘涉及数据库技术、人工智能、统计学、机器学习、知识发现等多个学科的领域。随着信息技术的高速发展、数据量的飞速增长,数据挖掘已经在各行各业有了较为广泛的应用。Microsoft SQL Server 2012是集成了数据挖掘技术的第5版的SQL Server。SQL Server数据挖掘是业界部署最广泛的数据挖掘服务器,由于其可伸缩性大,容易获得,使用也较为简便,政府机构、企事业单位、学术人员和科学家也开始采用或转而使用SQL Server进行数据挖掘。IBM SPSS Statistics是全世界最早的统计分析软件,其主要功能包括统计学分析运算、数据挖掘、预测分析等,由于其具有数据分析深入、使用方便、功能齐全等诸多优点,被广泛应用于自然科学、技术科学、社会科学的各个领域。Microsoft SQL Server Analysis ServicesSSAS是本书的核心内容,Excel的数据分析与挖掘,也是基于SSAS的服务引擎在进行。使用本书时,可以先学习数据挖掘基本理论;接下来学习Excel 2010数据分析与挖掘、SQL Server 2012数据挖掘、SPSS Statistics数据分析与挖掘;然后再通过完成教程设计的实验内容,真正地理解数据挖掘理论,掌握数据挖掘的实践技能。本书结合作者多年从事数据挖掘教学、开发数据挖掘项目的经验,从实际出发,以实用的例子,系统地介绍了数据挖掘。全书分为三个部分,共10章。第1部分由第1~3章组成,包括商业智能的概念和发展、数据挖掘和数据仓库的基本概念以及它们之间的关系;数据仓库的基本概念和设计步骤,并介绍了联机分析技术的分类和特点,以及回归分析、关联规则、聚类分析、决策树分析等数据挖掘常用分析方法的概念和算法。第2部分由第4~9章组成,包括Excel 2010数据分析和预测的功能、Excel 2010的数据挖掘功能;SQL Server 2012的Analysis Services功能、设置数据源、设置数据源视图、设置挖掘结构、处理挖掘模型、查看挖掘结果等;Microsoft SQL Server Analysis Services中提供的最常用的6个数据挖掘算法原理与参数;SPSS Statistics的界面和基础操作;SPSS Statistics在数据挖掘中常用的基础统计分析方法和高级统计分析方法。第3部分由第10章组成,包括SQL Server 2012的数据挖掘实验、SPSS Statistics的数据挖掘实验。在内容的选择、深度的把握上,本书充分考虑到初学者的特点,在内容安排上力求循序渐进,不仅可以作为大专院校教学用书,也可以作为数据挖掘的培训教材和数据挖掘爱好者的自学用书。本书由吴思远任主编,邹洋、黄梅根、贾玲任副主编。具体编写分工如下:邹洋编写第1~3章,吴思远编写第4~6章,黄梅根编写第7章,贾玲编写第8~9章,吴思远和贾玲共同编写第10章。吴思远负责全书架构的组织设计,负责统稿。本书的编写得到重庆邮电大学教务处、重庆邮电大学计算机科学与技术学院以及重庆市教育评估院和中冶赛迪重庆信息技术有限公司的大力支持,在此感谢以上单位对本书所做出的贡献。本书为教师提供了配套的教学资源,可从清华大学出版社网站http:www.tup.com.cn下载。由于作者水平有限,书中难免有疏漏和不足之处,希望广大读者给予谅解和指正。编 者
第2章 数据仓库与联机分析
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH,是为企业所有级别的决策制定过程提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建,为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。而联机分析处理OLAP系统是数据仓库系统最主要的应用。
本章针对数据仓库与联机分析的初学者,主要介绍数据仓库的基本概念和设计步骤,并介绍了联机分析技术的分类和特点,帮助建立对数据仓库和联机分析的基本认识。
2.1 数 据 仓 库
2.1.1 数据仓库的基本概念
1. 数据仓库的由来和定义
数据仓库,这一概念是由数据仓库之父比尔恩门Bill Inmon于1990年提出的。数据仓库的主要功能是将资讯系统的联机事务处理OLTP经过长时间累积的大量资料,通过数据仓库理论所特有的资料存储架构起来,做出系统的分析整理。利用的分析方法包括联机分析处理OLAP、数据挖掘Data Mining等,进而将分析结果用于决策支持系统DSS、主管资讯系统EIS等的创建,帮助决策者快速有效地从大量信息源中分析出对某种决策有参考价值的信息,使得决策拟定者能快速地对外在环境的变动做出应对,帮助建构商业智能BI。
数据仓库之父比尔恩门在1991年出版的Building the Data Warehouse《建立数据仓库》,见图2.1一书中所提出的定义被广泛接受:数据仓库Data Warehouse,DW是一个面向主题的Subject Oriented、集成的Integrated、相对稳定的Non-Volatile、反映历史变化Time Variant的数据集合,用于支持管理决策Decision Making Support。
从信息技术上的概念来说,数据仓库是以关系数据库、并行处理技术与分布式处理技术以及联机分析处理等技术为基础,为了解决拥有大量数据却缺乏有用信息的现状而提出的数据处理技术,是一种对不同系统数据实现集成和共享的综合性的解决方案。
对于传统数据库与数据仓库的关系,可以从两个方面来理解:首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源的有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。由普通数据库与数据仓库的对比关系来看,通常把普通数据库技术称为传统意义上的数据库技术,其数据处理模式可被划分为操作型处理和分析型处理或信息型处理。普通数据库技术能够完成企业的日常事务处理工作,但很难满足实现决策者制定规划的要求,也无法满足数据多样化处理的要求。随着用户需求的日益扩大,分析型处理和操作型处理的分离逐渐成为必然。
图2.1 《建立数据仓库》
数据仓库的出现给企业机构等带来了巨大的变化。数据仓库的建立给企业带来了一些新的工作流程,随之其他相关流程也会因此而改变。随着计算机技术、网络技术的进步和信息化的不断发展,信息已成为人类社会不可缺少的重要资源。社会的信息化大大加速了信息数据量的增长。面对数据量的不断增长和应用要求的不断扩张,数据库技术的应用和发展也有了更高的价值和作用,促使研究者们尝试开发能完成事物处理、批处理以及分析处理的各种类型的信息处理任务模式。然而,传统的数据库技术往往主要针对操作型数据处理来设计,在数据分析层面上的功能相当有限。因此,对于决策分析,传统数据库在业务操作层面上进行分析判断还存在着很大的局限性。于是,研究者们开始对操作型处理数据库中的数据进行技术处理,形成一个综合的、面向分析的环境,使得数据存储更好地支持决策分析,这就是通常意义下数据仓库技术的定义。
当前数据仓库和联机分析处理的主要研究领域有以下几方面。
1 数据仓库的建模与设计。
2 数据仓库的体系结构。
3 数据清洁和装载。
4 数据刷新和净化。
5 对关系操作符的扩充。
6 操作符的有效开发。
7 专门的索引技术。
8 查询优化。
2. 数据仓库的特点
数据仓库并不是所谓的"大型数据库"。数据仓库方案建设的目的,是为前端查询和分析做基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为应用服务,已知数据仓库案例往往有如下几方面的特点。
1 效率高
数据仓库的分析数据一般分为日、周、月、季、年等,可以看出,以日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,所以好的数据仓库要求要有高效率的数据分析成果。
2 数据质量高
数据仓库提供各种信息,用户需要的是"有效"的数据,但由于数据仓库流程通常分为多个步骤,包括数据清洗、装载、查询、展现等,架构复杂,层次众多,如果数据源有脏数据或者代码不严谨,就可能导致数据失真,如果客户看到错误的信息,就可能分析得出错误的决策,造成损失。因此,好的数据仓库需要通过技术手段保证良好的数据质量。
3 扩展性好
有的大型数据仓库系统的架构设计之所以很复杂,是因为考虑到企业要求数据仓库系统在未来3~5年内有良好的扩展性,能够稳定运行,而无须花费太多的精力去重建。实现的途径主要体现在数据建模的合理性,可在数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于因为数据量的增大影响数据仓库正常运行。数据仓库技术可以将企业多年积累的海量数据唤醒,不仅能为企业管理好这些数据,还能挖掘数据潜在的价值,从而成为现代企业运营维护系统的亮点之一。
4 面向主题
传统操作型数据库的数据组织形式是面向事务处理任务,各个业务系统之间各自分离;而数据仓库中的数据是按照一定的主题域进行组织的。主题是与传统数据库的面向应用相对应的,是一个抽象的概念,是对于在较高层次上将企业信息系统中的数据进行综合、归类并分析利用的抽象。每一个主题对应一个宏观的分析领域。数据仓库排除对于决策无用的数据,提供特定主题的简明视图。
3. 数据仓库的关键技术
在数据流程上,根据搜集数据的过程,可将数据仓库的关键技术分为数据提取、数据集成和存储管理、数据表现、数据挖掘四个方面。
1 数据提取
数据提取过程是数据进入仓库的入口。为了OLAP和OLTP系统各自的执行效率,数据仓库绝大多数都需要一个独立于联机事务处理系统的数据环境。抽取过程涉及的数据源一般包括联机事务处理系统的数据、外部数据源、脱机的数据存储介质等,数据提取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面。数据仓库的数据不需要实时响应,因此数据提取可以定时进行,但多个提取操作执行的时间、互相的顺序、成败对于数据仓库中信息的有效性则至关重要。数据提取过程涉及数据格式的转换,理想情况是用户选定源数据和目标数据的对应关系、格式及类型,会自动生成数据抽取的代码。但是,目前市场上提供的大多数提取工具支持的数据类型有限,难以支持动态提取功能,这种情况使得提取功能往往不能满足要求。因此,实际数据仓库实施过程中往往不一定使用数据提取工具,而是面向具体的主题,编制特定的数据提取算法。算法的正确性和实效性是整个数据仓库管理、调度和维护的关键。经过数据提取后的数据记录应为格式统一、业务信息完整的数据记录。
2 数据集成和存储管理
数据仓库遇到的第一个问题是对海量数据的存储和管理。这里涉及的数据量比传统的事务处理大得多,且随着时间推移而积累。从现有的技术和产品来看,只有关系数据仓库系统可以担当此任。关系数据仓库经过30多年的发展,在数据存储和管理方面已经非常成熟,管理大于16级的数据已经是十分平常的事情。目前,不少关系数据仓库已经支持数据分割技术,能够将一个大的数据仓库分散在多个物理设备中,进一步增强了管理大数据量的扩展能力。
数据仓库解决的第二个问题是并行处理。在传统的联机事务处理应用中,用户访问系统的特点是频繁而短小;而在数据仓库应用中,用户访问系统的特点是稀疏而庞大,每一个查询或统计都非常复杂,但访问频率并不是很高。此时,系统需要有能力将所有的资源调动起来为一个复杂的查询请求服务,将该请求并行处理。因此,并行处理技术在数据仓库中比以往更重要。
数据仓库的第三个问题是查询的优化。在技术上,针对决策支持的优化涉及数据仓库技术的索引机制、查询优化器、连接策略、数据排序和采样等部分。由于数据仓库中各类数据表的数据量分布很不均匀,普通查询优化器所得出的最佳查询路径可能不是最优的,因此,面向决策支持的关系数据仓库都在数据查询优化器上做了改进,根据索引的特性增加了多重索引的能力。扩充的关系数据仓库还引入了位图索引机制,以二进制表示字段的状态,将查询过程变为筛选过程,通过单台计算机的基本操作便可以筛选多个记录。另外,数据仓库在应用中会遇到大量的表间连接操作,扩充的关系数据仓库对连接操作采用了连接索引技术。数据仓库的查询常常只需要检索数据仓库中的部分记录,而不必检索整个数据仓库,决策支持的数据仓库还提供了数据采样的功能,以确保在大容量数据环境下有足够短的系统响应时间,在精确度允许的范围内,这一技术可大大地提高系统查询效率。
数据仓库的第四个问题是支持多维分析的查询模式。用户在使用数据仓库时的访问方法与传统关系数据库有很大的不同,对数据仓库的访问往往不是简单的表和记录的查询,而是基于用户业务的分析模式,即联机分析。它的特点是将数据想象成多维的立方体,用户的查询相当于在其中的部分维上添加条件,对立方体进行切片、分割,得到的结果则是数值的矩阵或向量,并将其制成图表或输入数理统计的算法。数据仓库的数据可看成实物化的视图,而基表都在信息源,集成器所要完成的集成工作就是把数据变化反映在数据仓库所维护的视图中。绝大多数数据仓库视图的维护技术都比常规的数据库视图维护技术复杂。例如,即使仓库和信息源数据都是关系型的,数据仓库中的视图也不可能用标准的关系数据库视图定义语言如SQL在信息源上定义而得到。对给定视图,当不需要查询基表即可维护该视图时,该视图是自我维护的。数据仓库中的大多数视图一般都不是自我维护的,但可在仓库中存储部分附加数据而达到自我维护。例如,一个极端情况就是把信息源中的所有数据复制到数据仓库中,如果需要,可用这些数据重新计算视图,对于这一问题的研究是要找到用最少的附加数据来实现给定视图的可自我维护化的方法。
3 数据表现
数据表现主要在多维分析、数理统计和数据挖掘方面。多维分析是数据仓库的主要表现形式,由于多维OLAPMOLAP系统是专用的,因此,关于多维分析领域的工具和产品大多是关系OLAPRelational OLAP,ROLAP工具。在实际工作中,客户需要通过对数据的统计来验证他们对某些事物的假设,以进行决策,而数据挖掘强调的不仅仅是验证人们对数据特性的假设,而是要更主动地寻找并发现蕴藏在数据之中的规律。在决策支持系统中,怎样建立数据模型、怎样充分利用系统中存储的数据资源挖掘出所需的数据,是系统成功建设的难点。
4 数据挖掘
数据挖掘是决策支持系统中分析技术的更高层次,数据挖掘技术采用人工智能的决策分析方法,按照用户既定的业务目标,对数据仓库中浩如烟海的数据进行探索,揭示隐藏其中的规律,并进一步将其模型化。
4. 数据仓库的用途
现代企业的运营很大程度上依赖于信息系统的支持,以客户为中心的业务模式需要强大的数据仓库系统提供信息支持,在业务处理流程中,数据仓库的作用体现在决策支持、客户分段与评价以及市场自动化等方面。
1 决策支持
数据仓库系统提供各种业务数据,用户利用各种访问工具从数据仓库获取决策信息,了解业务的运营情况。关键性能指标Key Performance Indicator,KPI用来量化企业的运营状况,它可以反映企业在盈利、效率、发展等各方面的表现,决策支持系统为用户提供 KPI 数据。
构造比较复杂的查询以便发现潜在的问题和机会,比如销售渠道规划、市场评估、竞争对手评估、策略的制定与分析。构造统计模型,对客户或业务状况进行分析,甚至利用数据挖掘工具对业务发展和恶意透支进行预测。
2 客户分段与评价
以客户为中心的业务策略,最重要的特征是细分市场,即把客户或潜在客户分为不同的类别,针对不同种类的客户提供不同的产品和服务,采用不同的市场和销售策略。客户的分段与评价是细分市场的主要手段。数据仓库系统中累积了大量的客户数据可以作为分类和评价的依据,而且数据访问十分简单方便,建立在数据仓库系统之上的客户分段和评价系统,可以达到事半功倍的效果。客户分段是以客户的某个或某几个属性进行分类,比如年龄、地区、收入、学历、消费金额等或它们的组合。客户评价是建立一个评分模型对客户进行评分,这样可以综合客户各方面的属性对客户做出评价,比如新产品推出前,可以建立一个模型,确定最可能接受新产品的潜在客户。
3 市场自动化
决策支持帮助企业制定了产品和市场策略,客户分段和评价为企业指出了目标客户的范围,下一步是对这些客户展开市场攻势。市场自动化的最主要内容是促销管理。促销管理的功能包括:提供目标客户的列表,指定客户接触的渠道,指定促销的产品、服务或活动,确定与其他活动的关系。
综上所述,数据仓库系统已经成为现代化企业必不可少的基础设施之一,它是现代企业运营支撑体系的重要组成,是企业对市场需求快速准确响应的有力保证。随着中国加入 WTO,国际巨头进军中国市场,国内企业面临的竞争将越来越激烈和残酷,数据仓库系统是传统企业迎接挑战的重要力量。
2.1.2 数据仓库的体系结构
数据仓库的体系架构,主要由数据源、数据存储与管理、OLAP服务器、前端工具与应用这四大模块组成,如图2.2所示。
图2.2 数据仓库的体系结构
1. 数据源
数据源是整个系统的数据来源,是数据仓库系统的基础,通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和上下游合作伙伴、竞争对手的信息等。
2. 数据存储与管理
数据存储与管理是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库通常称为数据集市。数据仓库中的数据是以面向主题的方式组织,而业务数据库的数据总是围绕着一个或几个业务处理流程,因此,数据从业务数据库到数据仓库不是简单的复制过程而需要十分复杂的数据处理,我们称之为数据整合。数据整合的工作可以笼统地分割为数据抽取Extract、转换Transformation和加载Loading,即所谓的 ETL。市场上有很多专用的 ETL 工具可供选择,但企业级数据仓库系统的后台数据整合工作一般不会由某一种工具独立完成,通常是多种不同的数据处理工具和手工编程互相配合。
3. OLAP服务器
联机分析处理OLAP系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业公司的经营状况,了解对象的需求,制定正确的方案。该模块对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP关系型在线分析处理、MOLAP多维在线分析处理和HOLAP混合型线上分析处理。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
4. 前端工具与应用
前端工具和主要应用包括各种报表工具、查询工具、数据分析工具、数据挖掘工具、数据挖掘及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
5. 元数据
除上述模块之外,贯穿整个数据仓库体系的还有元数据Metadata管理模块。数据是对事物的描述,元数据就是描述数据的数据,它提供了相关数据的环境。元数据实际上是要解决任何人在何时何地为了什么原因及怎样使用数据仓库的问题,再具体一点儿说,元数据在数据仓库管理员眼中是数据仓库中包含的所有内容和过程的完整知识库及其文档,在用户眼中就是数据仓库的信息地图。元数据在数据仓库中起着既特殊又重要的角色,它是数据仓库结构的目录清单,可以帮助建立数据分布图,这些数据可以从源数据转变而来。
2.1.3 数据仓库的数据模型
数据模型的构造是数据仓库过程中非常重要的一步。数据模型对数据仓库影响巨大,它不仅决定了数据仓库所能进行的分析的种类、详细程度、性能效率和响应时间,它还是存储策略和更新策略的基础。在关系型数据库中,逻辑层一般采用关系表和视图进行描述,而在数据仓库采用的数据模型,比较常见的有星型模型和雪花模型,如图2.3所示。
图2.3 数据模型形态
1.星型模型
星型模型是一种多维数据关系,由一个事实表和一组维表组成如图2.4所示。星型模型是一种由一点向外辐射的建模范例,中间有一个单一对象沿半径向外连接到多个对象。星型模型中心的对象称为"事实表",与之相连的对象称为"维表"。每个维表都有一个键作为主键,所有这些键组合成事实表的主键。事实表的非主属性是事实,它们一般都是数值或其他可以进行计算的数据。而维表大都是文字、时间等类型的数据。事实表与维表连接的键通常为整数类型,并尽量不包含字面意思。一个简单逻辑的星型模型由一个事实表和若干个维表组成。复杂的星型模型包含数百个事实表和维表。
图2.4 星型模型实例
2.雪花模型
雪花模型是对星型模型的一个扩展。如果某个维表有多个层次,就可以形成雪花模型如图2.5所示。它是对维表的进一步层次化,形成了一些局部的"层次"区域。雪花模型的优点是可以通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能。在数据仓库的逻辑设计中,除了定义关系模式外,还包括数据粒度的选择、为表增加时间字段、进行表的分割、合理化表的划分等方面。
图2.5 雪花模型实例
数据仓库的数据模型有别于一般联机交易处理系统,数据模型可以分为逻辑与实体数据模型。逻辑数据模型陈述业务相关数据的关系,基本上是一种与数据库无关的结构设计,通常均会采用正规方式设计,主要精神是从企业业务领域的角度及高度订出主题域模型,再逐步向下深入到实体和属性。在设计时不会考虑未来采用的数据库管理系统,也不需考虑分析性能问题。实体数据模型则与数据库管理系统有关,是建立在该系统上的数据架构,故设计时需考虑数据类型、空间及性能相关的议题。实体数据模型设计,则较多采用正规方式或多维方式的讨论,但从实务上来说,不执着于理论,能与业务需要有最好的搭配,才是企业在建设数据仓库时的正确思路。
数据仓库的体系构建不仅是计算机工具技术面的运用,在规划和执行方面更需对产业知识、行销管理、市场定位、策略规划等相关业务有深入的了解,才能真正发挥数据仓库以及后续分析工具的价值,提升企业竞争力。
2.2 数据仓库的设计步骤
数据仓库的设计和传统数据库系统的设计有着本质区别。传统的数据库设计首先定义了明确的应用需求,然后严格遵循系统生命周期的阶段划分,为每个阶段都规定明确的任务,采取先收集、分析并确定应用需求,再利用构建数据库的系统生命周期法实施。相对而言,数据仓库的用户一般是中高层的管理人员,其原始需求往往并不明确且在开发过程中还会不断地变化和增加,另外,分析需求和业务需求也有很大差异,因此,传统数据库的设计方法不能直接用来设计数据仓库,在设计之初考虑用户的分析需求很有必要,同时也要考虑业务数据源的结构,因为它是数据仓库的基础。
分析需求之后,就是建立模型了。模型是对现实事物的反映和抽象,它可以帮助我们更加清晰地了解客观世界。模型是用户业务需求的体现,是数据仓库项目成功与否最重要的技术因素。大型企业的信息系统一般具有业务复杂、机构复杂、数据庞大的特点,数据仓库建模必须注意以下几个方面。
1 满足各层级用户的需要。大型企业的业务流程十分复杂,数据仓库系统涉及的业务用户众多,在进行数据模型设计的时候必须兼顾不同业务产品、不同业务部门、不同层次、不同级别用户的信息需求。
2 兼顾效率与数据粒度的平衡。数据粒度和查询效率从来都是矛盾的,细小的数据粒度可以保证信息访问的灵活性,但同时却降低了查询的效率并占用大量的存储空间。数据模型的设计必须在这矛盾的两者中取得平衡,优秀的数据模型设计既可以提供足够详细的数据支持又能够保证查询的效率。
3 支持需求的变化。用户的信息需求随着市场的变化而变化,所以需求的变化只有在市场竞争停顿的时候才会停止,而且随着竞争的激化,需求变化会越来越频繁。数据模型的设计必须考虑如何适应和满足需求的变化。
4 避免对业务运营系统造成影响。大型企业的数据仓库是一个每天都在成长的庞然大物,它的运行很容易占用很多的资源,比如网络资源、系统资源,在进行数据模型设计的时候也需要考虑如何减少对业务系统性能的影响。
5 考虑未来的可扩展性。数据仓库系统是一个与企业同步发展的有机体,数据模型作为数据仓库的灵魂必须提供可扩展的能力,在进行数据模型设计时必须考虑未来的发展,更多的非核心业务数据必须可以方便地加入到数据仓库,而不需要对数据仓库中原有的系统进行大规模的修改。
数据模型是对现实世界进行抽象的工具。在信息管理中需要将现实世界的事物及其有关特征转换为信息世界的数据,才能对信息进行处理与管理,这就需要依靠数据模型作为转换的桥梁。这种转换经历了从现实到概念模型,从概念模型到逻辑模型,从逻辑模型到物理模型的转换。在数据仓库建模的过程中同样也要经历概念模型、逻辑模型与物理模型的三级模型开发。因此,数据建模可以分为三个层次:概念模型高层建模,实体关系层,逻辑模型中间层建模,数据项集,物理模型底层建模,如图2.6所示。
图2.6 数据仓库的设计步骤
2.2.1 概念模型设计
概念模型表征了待解释的系统的学科共享知识。为了把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。这也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个数据库管理系统DBMS支持的数据模型,而是概念级的模型,称为概念模型。
通常在对数据仓库进行开发之前可以对数据仓库的需求进行分析,从各种途径了解数据仓库用户的意向性数据需求,即在决策过程中需要什么数据作为参考。而数据仓库概念模型的设计需要给出一个数据仓库的粗略架构,来确认数据仓库的开发人员是否已经正确地了解数据仓库最终用户的信息需求。在概念模型的设计中必须很好地对业务进行理解,保证所有的业务处理都被归纳进概念模型。
概念模型设计的成果是,在原有的数据库的基础上建立了一个较为稳固的概念模型。因为数据仓库是对原有数据库系统中的数据进行集成和重组而形成的数据集合,所以数据仓库的概念模型设计,首先要对原有数据库系统加以分析理解,看在原有的数据库系统中"有什么""怎样组织的"和"如何分布的"等,然后再来考虑应当如何建立数据仓库系统的概念模型。一方面,通过原有的数据库的设计文档以及在数据字典中的数据库关系模式,可以对企业现有的数据库中的内容有一个完整而清晰的认识;另一方面,数据仓库的概念模型是面向企业全局建立的,它为集成来自各个面向应用的数据库的数据提供了统一的概念视图。概念模型的设计是在较高的抽象层次上的设计,因此建立概念模型时不用考虑具体技术条件的限制。
本阶段主要需要完成的工作是:界定系统的边界,确定主要的主题域及其内容。
1. 界定系统的边界
数据仓库是面向决策分析的数据库,我们无法在数据仓库设计的最初就得到详细而明确的需求,但是一些基本的方向性的需求还是摆在了设计人员的面前。
1 要做的决策类型有哪些?
2 经营者感兴趣的是什么问题?
3 这些问题需要什么样的信息?
4 要得到这些信息需要包含原有数据库系统的哪些部分的数据?
这样,我们可以划定一个当前的大致的系统边界,集中精力对最需要的部分进行开发。因而,从某种意义上讲,界定系统边界的工作也可以看作是数据仓库系统设计的需求分析,因为它将决策者的数据分析的需求用系统边界的定义形式反映出来。
2. 确定主要的主题域及其内容
在这一步中,要确定系统所包含的主题域,然后对每个主题域的内容进行较明确的描述,描述的内容包括:主题的公共码键,主题之间的联系,充分代表主题的属性组。
由于数据仓库的实体绝不会是相互对等的,在数据仓库的应用中,不同的实体数据载入量会有很大分别,因此需要一种不同的数据模型设计处理方式,用来管理数据仓库中载入某个实体的大量数据的设计结构,这就是星型模型。星型模型是最常用的数据仓库设计结构的实现模式。星型模式通过使用一个包含主题事实表和多个包含事实的非正规化描述的维度表,支持各种决策查询。星型模型的核心是事实表,围绕事实表的是维度表。
假设我们以一个网上药店为例建立星型模型。建立网上药店的数据仓库对于卖家来说,可以通过数据仓库掌握商品的销售和库存信息,以便及时调整营销策略。对于买家来说,也可以通过数据仓库了解商品的库存信息,以便顺利地购买成功。比较传统数据库,数据仓库更有利于辅助企业做出营销决策,对企业制定策略时更加有参考价值。通过数据仓库中的信息可以帮助企业更加准确地决策分析用户和把握需求:买家的购买喜好、买家的信用度、药品供应外部市场行情、药品的销售量、药品的采购量、药品的库存量、药品的利润和供应商信息。
数据仓库通常是按照主题来组织数据的,所以设计概念模型首先要确定主题并根据主题设定系统的边界。我们经过对网上药店各层管理人员所需要信息的内容以及数据间关系的分析、抽象和综合,得到系统的数据模型。再将数据模型映射到数据库系统,就可以了解到现有数据库系统完成了数据模型中的哪些部分,还缺少哪些部分。然后再将数据模型映射到数据仓库系统,总结出网上药店系统需要的主题。
网上药店系统主要包括下列主题:药品商品主题、买家主题、仓储主题。在充分分析各层管理人员决策过程中需要的行业信息以及信息粒度详细程度后,还可以衍生出供应主题和销售主题,如表2.1所示。
表2.1 网上药店的主题
主 题
内容描述
药品主题
药品信息、保质期、库存信息
买家主题
买家信息、级别权限、送货信息
续表
主 题
内容描述
供应主题
供应商信息、资质、药品供应信息
仓储主题
仓储方式、数量、管理情况
销售主题
销售订单、付款记录等
我们可以通过包图来描述药店数据仓库的主题。包图是类图的上层容器,可以使用类图描述各主题,而用包图来描述主体之间的关联。网上药店数据仓库主题确定的星型模型如图2.7所示。当然,这还不是完备的模型,还需要细化到表格进行关联,这在本书的实例部分会详细阐述,这里不再赘述。
图2.7 网上药店星型模型
2.2.2 逻辑模型设计
逻辑模型就是用来构建数据仓库的数据库逻辑模型。根据分析系统的实际需求决策构建数据库逻辑关系模型,定义数据库物体结构及其关系。它关联着数据仓库的逻辑模型和物理模型两方。逻辑建模是数据仓库实施中的重要一环,因为它能直接反映出业务部门的需求,同时对系统的物理实施有着重要的指导作用,它的作用在于可以通过实体和关系勾勒出企业的数据蓝图。
数据仓库不单要能满足现有的信息消费需求,还要有很好的可扩展性满足新的需求,并能作为一个未来其他系统的数据平台。因此,数据仓库必须要有灵活、统一的数据组织结构,并试图包含所有现在和未来客户关心和可能关心的信息,也许对其中一部分数据目前没有直接的需求,但是未来可能会非常有用,这对于一个成功的数据仓库逻辑模型设计是应该纳入考虑的。
逻辑模型应该是按主题域组织起来的,主题域之间的关联关系可以引申到各主题下各个逻辑模型之间的关联关系,不但可以很容易满足现有的一些跨主题查询需求,还可能产生大量有价值、但尚未提出需求的分析。并且,在逻辑模型设计中还应尽可能充分地考虑各主题的指标、相关维度,以及其他与分析无关但有明细查询意义的字段。
逻辑模型指数据仓库数据的逻辑表现形式。从最终应用的功能和性能的角度来看,数据仓库的数据逻辑模型也许是整个项目最重要的方面,主要包括确立主题域、划分粒度层次、确定数据分割策略和确定关系模式几个阶段。
1. 确立主题域
在概念模型设计中,确定了几个基本的主题域,但是,数据仓库的设计方法是一个逐步求精的过程,在进行设计时,一般是一次一个主题或一次若干个主题地逐步完成的。所以,我们必须对概念模型设计步骤中确定的几个基本主题域进行分析,并选择首先要实施的主题域。选择第一个主题域所要考虑的是它要足够大,以便使得该主题域能建设成为一个可应用的系统;它还要足够小,以便于开发和较快地实施。如果所选择的主题域很大并且很复杂,我们甚至可以针对它的一个有意义的子集来进行开发。在每一次的反馈过程中,都要进行主题域的分析。
2. 划分粒度层次
数据仓库逻辑设计中要解决的一个重要问题是决定数据仓库的粒度划分层次,粒度层次划分适当与否直接影响到数据仓库中的数据量和所适合的查询类型。确定数据仓库的粒度划分,可以通过估算数据行数和所需的DASD直接存储设备数,来确定是采用单一粒度还是多重粒度,以及粒度划分的层次。在数据仓库中,包含了大量事务系统的细节数据。如果系统每运行一个查询,都扫描所有的细节数据,则会大大降低系统的效率。在数据仓库中将细节数据进行预先综合,形成轻度综合或者高度综合的数据,这样就满足了某些宏观分析对数据的需求。这虽然增加了冗余,却使响应时间缩短。所以,确定粒度是数据仓库开发者需要面对的一个最重要的设计问题。其主要问题是使其处于一个合适的级别,粒度级别既不能太高也不能太低。确定适当粒度级别所要做的第一件事就是对数据仓库中将来的数据行数和所需的DASD数进行粗略估算。对将在数据仓库中存储的数据的行数进行粗略估算对于体系结构设计人员来说是非常有意义的。如果数据只有万行级,那么几乎任何粒度级别都不会有问题;如果数据有千万行级,那么就需要一个低的粒度级别;如果有百亿行级,不但需要有一个低粒度级别,还需要考虑将大部分数据移到溢出存储器辅助设备上。空间行数的计算方法如下。
1 确定数据仓库所要创建的所有表,然后估计每张表中一行的大小。确切的大小可能难以确定,估计一个下界和上界就可以了。
2 估计一年内表的最大和最小行数。
3 用同样的方法估计五年内表的最大和最小行数。
4 计算索引数据所占的空间,确定每张表对表中的每个关键字或会被直接搜索的数据元素的关键字或数据元素的长度,并弄清楚是否原始表中的每条记录都存在关键字。
将各表中行数可能的最大值和最小值分别乘以每行数据的最大长度和最小长度。另外还要将索引项数目与关键字长度的乘积累加到总的数据量中去,以确定出最终需要的数据总量。
3. 确定数据分割策略
数据分割是数据仓库设计的一项重要内容,是提高数据仓库性能的一项重要技术。数据的分割是指把逻辑上是统一整体的数据分割成较小的、可以独立管理的物理单元称为分片进行存储,以便于重构、重组和恢复,以提高创建索引和顺序扫描的效率。数据的分割使数据仓库的开发人员和用户具有更大的灵活性。选择适当的数据分割的标准,一般要考虑以下几方面因素:数据量而非记录行数、数据分析处理的实际情况、简单易行以及粒度划分策略等。数据量的大小是决定是否进行数据分割和如何分割的主要因素;数据分析处理的要求是选择数据分割标准的一个主要依据,因为数据分割是跟数据分析处理的对象紧密联系的;我们还要考虑到所选择的数据分割标准应是自然的、易于实施的,同时也要考虑数据分割的标准与粒度划分层次是适应的,最常见的是以时间进行分割,如产品每年的销售情况可分别独立存储。
4. 确定关系模式
数据仓库的每个主题都是由多个表来实现的,这些表之间依靠主题的公共码键联系在一起,形成一个完整的主题。在概念模型设计时,我们就确定了数据仓库的基本主题,并对每个主题的公共码键、基本内容等做了描述,在这一步将要对选定的当前实施的主题进行模式划分,形成多个表,并确定各个表的关系模式。
2.2.3 物理模型设计
物理模型就是构建数据仓库的物理分布模型,主要包含数据仓库的软硬件配置、资源情况以及数据仓库模式。概念世界是现实情况在人们头脑中的反映,人们需要利用一种模式将现实世界在自己的头脑中表达出来。逻辑世界是人们为将存在于自己头脑中的概念模型转换到计算机中的实际物理存储过程中的一个计算机逻辑表示模式。通过这个模式,人们可以容易地将概念模型转换成计算机世界的物理模型。物理模型是指现实世界中的事物在计算机系统中的实际存储模式,只有依靠这个物理存储模式,人们才能实现利用计算机对现实世界的信息管理。
物理模型设计所做的工作是根据信息系统的容量、复杂度、项目资源以及数据仓库项目自身当然,也可以是非数据仓库项目的软件生命周期确定数据仓库系统的软硬件配置、数据仓库分层设计模式、数据的存储结构、确定索引策略、确定数据存放位置、确定存储分配等。这部分应该是由项目经理和数据仓库架构师共同实施的。确定数据仓库实现的物理模型,要求设计人员必须做到以下几方面。
1 要全面了解所选用的数据库管理系统,特别是存储结构和存取方法。
2 了解数据环境、数据的使用频度、使用方式、数据规模以及响应时间要求等,这些是对时间和空间效率进行平衡和优化的重要依据。
3 了解外部存储设备的特性,如分块原则、块大小的规定、设备的IO特性等。
一个好的物理模型设计还必须符合以下规则。
1. 确定数据的存储结构
一个数据库管理系统往往都提供多种存储结构供设计人员选用,不同的存储结构有不同的实现方式,各有各的适用范围和优缺点。设计人员在选择合适的存储结构时应该权衡存取时间、存储空间利用率和维护代价三个方面的主要因素。
2. 确定索引策略
数据仓库的数据量很大,因而需要对数据的存取路径进行仔细的设计和选择。由于数据仓库的数据都是不常更新的,因而可以设计多种多样的索引结构来提高数据存取效率。在数据仓库中,设计人员可以考虑对各个数据存储建立专用的、复杂的索引,以获得最高的存取效率。因为在数据仓库中的数据是不常更新的,也就是说每个数据存储是稳定的,因而虽然建立专用的、复杂的索引有一定的代价,但一旦建立就几乎不需维护索引的代价。
3. 确定数据存放位置
同一个主题的数据并不要求存放在相同的介质上。在物理设计时,常常要按数据的重要程度、使用频率以及对响应时间的要求进行分类,并将不同类的数据分别存储在不同的存储设备中。重要程度高、经常存取并对响应时间要求高的数据就存放在高速存储设备上,如硬盘;存取频率低或对存取响应时间要求低的数据则可以放在低速存储设备上,如磁盘或磁带。数据存放位置的确定还要考虑到其他一些方法,例如,决定是否进行合并表,是否对一些经常性的应用建立数据序列,对常用的、不常修改的表或属性是否冗余存储。如果采用了这些技术,就要记入元数据。
4. 确定存储分配
许多数据库管理系统提供了一些存储分配的参数供设计者进行物理优化处理,如块的尺寸、缓冲区的大小和个数等,都要在物理设计时确定。
物理数据模型是依据中间层的逻辑模型创建的,它是通过模型的键码属性和模型的物理特性、扩展中层数据模型而建立的。物理数据模型由一系列物理表构成,其中最主要的是事实表模型和维表模型。
物理模型中的事实表来源于逻辑模型中的主题,以客户主题为例,结合网上药店属性分析可设计如下事实表。
网上药店用户分析模型如图2.8所示。
数据仓库中的事实表一般很大,包含大量的业务信息,因此,在设计事实表时,可使事实表尽可能小,还要处理好数据的粒度问题。
设计维度表的目的是为了把参考事实表的数据放置在一个单独的表中,即将事实表中的数据有组织地分类,以便于进行数据分析。在数据仓库维度体系设计中,要详细定义维度类型、名称及成员说明,客户流失分析主要依据自然属性维、用户属性维、消费属性维来建立维度表。
在物理建模的过程中,应根据概念模型和逻辑模型设计建立其他维度表,帮助决策分析。例如,本例中还可以有以下维度表。
1 时间维表:年、季度、月、日。
2 地区维表:省、市、市区、郊区、县城、乡镇。
3 用户类型维表:标识用户对医药网站的重要程度信息,如医院采购客户、普通客户等。
4 职业维表:定义用户的社会行业类别属性,帮助分析归类购买行为。
5 年龄段维表:对用户所属消费年龄群体进行分类,帮助分析归类购买行为。
6 注册时间维表:按用户注册网站时间长短进行分类,帮助分析归类购买行为。
7 购买类型维表:用户所购买药品类型,如常备药、慢性病药、化疗药品等。
8 增值服务类型维表:药品网站提供的各项增值业务的收费项目类别。
图2.8 网上药店用户分析模型
物理结构设计还有以下三个最基本的原则这三点是数据库设计与优化的最低要求,其他设计与优化措施也得考虑。
1 尽量提高性能。
2 防止产生过多的碎片。
3 快速重整数据库。
这三个原则既有独立性,又密切相关,所以在数据仓库的开发中应注意以下三个方面的问题。
1 表空间的设计,主要考虑性能方面以及便于数据库的快速重整。
2 重点表的存储空间设计,主要考虑性能方面以及防止产生过多的碎片。
3 索引的设计,主要考虑性能方面以及索引的存储空间。
|
|