1、第第4 4章章 数据仓库的设计与开发数据仓库的设计与开发(二)(二)1n4.2 数据仓库开发n4.3 数据仓库技术与开发的困难24.2数据仓库开发数据仓库开发n4.2.1数据仓库开发过程数据仓库开发过程n4.2.2 数据质量与数据清洗数据质量与数据清洗n4.2.3 数据粒度与维度建模数据粒度与维度建模34.2.1数据仓库开发过程数据仓库开发过程4.2.2.1分析与设计阶段分析与设计阶段 4.2.1.2数据获取阶段数据获取阶段4.2.1.3决策支持阶段决策支持阶段4.2.1.4维护与评估阶段维护与评估阶段4需求分析数据装载信息查询概念设计逻辑设计物理设计数据抽取数据转换知识探索数据仓库增长数据仓
2、库维护数据仓库评估决策支持数据获取分析与设计维护与评估数据仓库开发过程数据仓库开发过程54.2.1.1分析与设计阶段 n1.需求分析n2.概念设计n3.逻辑设计n4.物理设计61.需求分析n确定决策主题域n分析主题域的商业维度n分析支持决策的数据来源n确定数据仓库的数据量大小n分析数据更新的频率n确定决策分析方法72.概念设计n建立概念模型:对每个决策主题与属性以及主题之间的关系用E-R图模型表示。nE-R图将现实世界表示成信息世界,便利向计算机的表示形式进行转化。83.逻辑设计n将概念模型(E-R图)转换成逻辑模型,即计算机表示的数据模型。n数据仓库数据模型一般采用星型模型。n星型模型由事实
3、表、维表组成。94.物理设计n对逻辑模型设计的数据模型确定物理存储结构和存取方法。n数据仓库的星型模型在计算机中仍用关系型数据库存储。n物理设计还需要进行存储容量的估计;确定数据存储的计划;确定索引策略;确定数据存放位置以及确定存储分配。104.2.1.2数据获取阶段 n1.数据抽取n2.数据转换n3.数据装载111.数据抽取n对数据源的确认,确定数据抽取技术,确认数据抽取频率,按照时间要求抽取数据。n由于源系统的差异性,如计算机平台、操作系统、数据库管理系统、网络协议等的不同造成了抽取数据的困难。122.数据转换n数据格式的修正n字段的解码n单个字段的分离n信息的合并n变量单位的转化n时间的
4、转化n数据汇总133.数据装载n初始装载:第一次装入数据仓库。n增量装载:根据定期应用需求装入数据仓 n 库。n完全刷新:完全删除现有数据,重新装入n 新的数据。144.2.1.3决策支持阶段n1.信息查询n2.知识探索151.信息查询n信息查询者使用数据仓库能发现目前存在的问题。n创建数据阵列n将相关的数据(每月的数据)放在同一个物理位置上。n预连接表格n对于两个或多个表格共享一个公用链。16n预聚集数据n以每天为基础存储数据。在一周结束时,以每周为基础存储数据(即累加每天的数据)。月末时,则以每月为基础存储数据。n聚类数据n聚类将数据放置在同一地点,这样可以提高对聚类数据的查询。172.知
5、识探索n发现的问题并找出原因。n创建一个单独的探索仓库,不影响数据仓库的常规用户。同时采用“标识技术”进行数据压缩,提高数据分析速度。n使用一些模型帮助决策分析,例如客户分段、欺诈监测、信用分险、客户生存期、渠道响应、推销响应等模型。n通过模型的计算来得出一些有价值的商业知识。18n采用数据挖掘工具来获取商业知识。n例如,得到如下一些知识:n哪些商品一起销售好?哪些商品一起销售好?n哪些商业事务处理可能带有欺诈性?哪些商业事务处理可能带有欺诈性?n高价值客户的共同点是什么?高价值客户的共同点是什么?n获取的知识为企业领导者提供决策支持,达到保留客户,减少欺诈,提高公司利润具有重要作用。194.
6、2.1.4维护与评估阶段n1.数据仓库增长n2.数据仓库维护n3.数据仓库评估201.数据仓库增长n数据仓库建立以后,随着用户的不断增加,时间的增长,用户查询需求更多,数据会迅速增长。n n在数据仓库的开发过程中需要适应数据仓库不断增长的现实。212.数据仓库维护n适应数据仓库增长的维护n数据增长的处理工作有:去掉没有用的历史数据;根据用户使用的情况,取消某些细节数据和无用的汇总数据,增加些实用的汇总数据。22正常系统维护n数据仓库的备份和恢复。n 备份数据为系统恢复提供基础,一旦系统出现灾难时,利用备份数据可以很快将数据仓库恢复到正常状态。233.数据仓库评估n(1)系统性能评定)系统性能评
7、定n(2)投资回报分析)投资回报分析n(3)数据质量评估)数据质量评估24(1)系统性能评定n硬件平台是否能够支持大数据量的工作和多类用户、多种工具的大量需求?n软件平台是否是用一个高效的且优化的方式来组织和管理数据?n是否适应系统(数据和处理)的扩展?25(2)投资回报分析n定量分析:计算投资回报率(ROI),即收益与成本的比率。n定性分析:企业与客户之间关系状态?对机会快速反应能力如何?改善管理能力如何?26(3)数据质量评估n数据是准确的。n数据符合它的类型要求和取值要求。n数据具有完整性和一致性。n数据是清晰的且符合商业规则。n数据保持时效性并不能出现异常。274.2.2 数据质量与数
8、据清洗数据质量与数据清洗n1.数据质量问题数据质量问题n2.数据污染产生的原因数据污染产生的原因n3.数据清洗数据清洗281.数据质量问题数据质量问题n(1)字段中的虚假值。)字段中的虚假值。n(2)数据值缺失。)数据值缺失。n(3)不一致的值。)不一致的值。n(4)违反常规的不正确值。)违反常规的不正确值。n(5)一个字段有多种用途。)一个字段有多种用途。n(6)标法不唯一。)标法不唯一。292.数据污染产生的原因数据污染产生的原因n(1)系统转换)系统转换n(2)数据老化)数据老化n(3)复杂的系统集成)复杂的系统集成 n(4)数据输入的不完整信息)数据输入的不完整信息 n(5)输入错误)
9、输入错误 n(6)欺诈)欺诈 n(7)缺乏相关政策)缺乏相关政策 303.数据清洗数据清洗n只清洗那些重要的数据,而忽略那些不重要的数只清洗那些重要的数据,而忽略那些不重要的数据。据。n数据在被存储进数据仓库之前就应该进行清洗。数据在被存储进数据仓库之前就应该进行清洗。n找到适合源系统的字段和格式的清洗工具。找到适合源系统的字段和格式的清洗工具。n建立数据质量领导小组;建立数据质量政策和标建立数据质量领导小组;建立数据质量政策和标准;定义质量指标参数和基准;识别受坏数据影准;定义质量指标参数和基准;识别受坏数据影响最大的商业功能。响最大的商业功能。n对有较大影响力的数据元素定制清洗计划,并执对
10、有较大影响力的数据元素定制清洗计划,并执行数据清洗。行数据清洗。314.2.3 数据粒度与维度建模数据粒度与维度建模n数据粒度是指数据仓库的数据中保存数数据粒度是指数据仓库的数据中保存数据的细化程度或综合程度的级别。据的细化程度或综合程度的级别。n 数据粒度深深影响存放在数据仓库中的数据粒度深深影响存放在数据仓库中的数据量的大小,同时影响数据仓库所能数据量的大小,同时影响数据仓库所能回答的查询类型。回答的查询类型。321.大维度与雪花模型大维度与雪花模型n在数据仓库中,客户维度和产品维度是典型的在数据仓库中,客户维度和产品维度是典型的大维度。大维度。n大维度表采用雪花模型的数据组织,是一种有大
11、维度表采用雪花模型的数据组织,是一种有效的方法。效的方法。n对产品维度,产品是分属于产品品牌,品牌又对产品维度,产品是分属于产品品牌,品牌又分属于产品分类。对客户维度,客户分属于地分属于产品分类。对客户维度,客户分属于地区,地区分属于国家。区,地区分属于国家。n对于销售的雪花模型如图对于销售的雪花模型如图4.11所示。所示。33地区地区键地区名国家键产品键产品名品牌键包装键包装包装键包装类别销售事实产品键时间键客户键销售数目销售总价利润时间时间键日期月季年客户键客户名地区键客户分类品牌键品牌名分类键品牌分类键分类名产品国家键国家名国家图图4.11 销售事实的雪花模型销售事实的雪花模型342.综
12、合事实表综合事实表n大多数查询不是基于基础事实表上操作的,而大多数查询不是基于基础事实表上操作的,而是基于综合数据的查询。这样建立综合事实表是基于综合数据的查询。这样建立综合事实表是提高综合数据查询的非常有效的方法,且大是提高综合数据查询的非常有效的方法,且大大提高数据仓库的性能。大提高数据仓库的性能。n在多维表中,很多维都是具有层次结构,对不在多维表中,很多维都是具有层次结构,对不同维的层次的提升,将可建立多种综合事实表。同维的层次的提升,将可建立多种综合事实表。n从图从图4.12可见,对基础事实表查询利用产品维可见,对基础事实表查询利用产品维表,对综合事实表查询,利用产品分类维表。表,对综
13、合事实表查询,利用产品分类维表。35产品键产品名分类部门产品键时间键商店键销售量销售总价时间时间键日期月季年商店键商店名地域地区商店产品分类键分类名部门产品分类分类键时间键商店键销售量销售总价综合事实表销售事实表(基础表)图图4.12 综合事实表和衍生维度(产品分类)表综合事实表和衍生维度(产品分类)表364.3 数据仓库技术与开发的困难数据仓库技术与开发的困难n4.3.1数据仓库技术数据仓库技术n4.3.2数据仓库开发的困难数据仓库开发的困难374.3.1数据仓库技术数据仓库技术n1.管理大量数据管理大量数据n对于数据仓库最重要的技术就是能够管理大量的数据。对于数据仓库最重要的技术就是能够管
14、理大量的数据。n数据仓库要管理大量的数据,是因为它们:数据仓库要管理大量的数据,是因为它们:n(1)包括粒状的、原子的细节)包括粒状的、原子的细节n(2)包括历史数据)包括历史数据n(3)包括细节和汇总数据)包括细节和汇总数据n(4)包括元数据)包括元数据n有好多种管理大量数据的方法有好多种管理大量数据的方法通过寻址,通过索引,通过寻址,通过索引,通过数据的外延,通过有效的溢出管理等通过数据的外延,通过有效的溢出管理等382.数据的高效装入和数据压缩数据的高效装入和数据压缩n数据仓库的一个重要的技术就是能够高数据仓库的一个重要的技术就是能够高效地装入数据。效地装入数据。n有好多种装入数据的方法
15、:通过一个语有好多种装入数据的方法:通过一个语言接口一次一条记录。言接口一次一条记录。n当数据能够被压缩时,它便能存储在很当数据能够被压缩时,它便能存储在很小的空间中。小的空间中。393.存储介质的管理存储介质的管理 存储介质 访问速度 存储费用主存 非常快 非常贵扩展内存 非常快 贵高速缓存 非常快 贵磁盘 快 适中光盘 不慢 不贵微缩胶片 慢 便宜考虑到访问速度和存储费用,对数据的存储要分层次,考虑到访问速度和存储费用,对数据的存储要分层次,层次的区分如下:层次的区分如下:408.多维多维DBMS和数据仓库和数据仓库n多维数据库管理系统(多维多维数据库管理系统(多维DBMS)使)使得对数据
16、的访问非常灵活,可以用多种得对数据的访问非常灵活,可以用多种方法对数据进行切片、分割,动态地考方法对数据进行切片、分割,动态地考察汇总数据和细节数据的关系。察汇总数据和细节数据的关系。41n数据仓库和多维数据仓库和多维DBMS的区别:的区别:n(1)数据仓库有大量的数据;多维)数据仓库有大量的数据;多维DBMS中的数据至中的数据至少要少一个数量级。少要少一个数量级。n(2)数据仓库只适合于少量的灵活访问;而多维)数据仓库只适合于少量的灵活访问;而多维DBMS适合大量的非预知的数据的访问和分析。适合大量的非预知的数据的访问和分析。n(3)数据仓库内存储了很长时间范围内的数据)数据仓库内存储了很长
17、时间范围内的数据从从5年到年到10年;多维年;多维DBMS中存储着比较短时间范围内中存储着比较短时间范围内的数据。的数据。n(4)数据仓库允许分析人员以受限的形式访问数据,)数据仓库允许分析人员以受限的形式访问数据,而多维而多维DBMS允许自由的访问。允许自由的访问。42n决策支持系统(决策支持系统(DSS)分析者大部分时)分析者大部分时间里可以在多维间里可以在多维DBMS中享受其操作高中享受其操作高效的优点,同时如果需要的话,还可以效的优点,同时如果需要的话,还可以向下钻取最低层次的细节数据。向下钻取最低层次的细节数据。n一些多维一些多维DBMS建立在关系模型上,而建立在关系模型上,而一些多维一些多维DBMS建立在多维立方体内建立在多维立方体内.434.3.2数据仓库开发的困难数据仓库开发的困难n1.没有理解数据的价值没有理解数据的价值n2.未能理解数据仓库概念未能理解数据仓库概念n3.尚未清楚了解用户将如何使用数据仓尚未清楚了解用户将如何使用数据仓库之前,便贸然开发数据仓库库之前,便贸然开发数据仓库n4.对数据仓库规模的估计模糊对数据仓库规模的估计模糊n5.忽视了数据仓库体系结构和数据仓库忽视了数据仓库体系结构和数据仓库开发方法开发方法44第二部分结束第二部分结束45