1、数据仓库的技术与开发数据仓库的技术与开发数据仓库设计开发流程数据仓库设计开发流程数据库系统的开发流程数据库系统的开发流程需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构设计评价性能预测物理实现实验性运行使用维护数据库不满意不满意需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行维护阶段不满意不满意数据库设计流程的特点数据库设计流程的特点n有明确的应用需求;n严格遵循系统生命同期的阶段划分,较清楚的设计开发步骤;n良好的可操作性,每一步骤的任务、文档内容与格式有细致的规定。n举例:项目文档数据库设计举例数据库设计举例 1. 需求分析 (沟通、会议演示、软件需求
2、说明书)2. 系统概念设计 (系统功能结构、流程、数据结构等)3. 系统详细设计 (E-R、功能模块、界面、业务过程、接口)5. 系统实现 (数据库实现、程序实现)4. 系统测试与实施数据库与数据仓库设计的区别数据库与数据仓库设计的区别数据仓库开发流程的特点数据仓库开发流程的特点n原始需求不明确,且不断变化与增加,不能较准确地预见到以后的需求;n采用原型法开发,从构建系统的简单的基本框架着手;n数据驱动,着眼于有效地抽取、综合、集成和挖掘已有数据库的数据资源。原型法原型法n原型(Prototype)是开发信息系统的一个可执行模型或引导性版本;n帮助得到目标系统明确而严格的需求,促进客户和各阶段
3、系统人员之间的相互有效的信息交流,并以此为基础进行需求分析和系统设计。n从本质上看,原型是未来目标系统的一个模型。原型法原型法n原型不是系统开发的最终产品,而是在某个开发阶段中为达到一定的目的所生成的系统简化模拟版本;n可能只是目标系统的一个式样,或只包含目标系统的某些功能,或仅仅是具有目标系统的一个结构。原型法原型法数据仓库的开发流程数据仓库的开发流程规划与确定需求开发概念模型开发逻辑模型设计体系结构数据库与元数据设计确定数据源抽取开发中间件填充与测试数据仓库数据仓库应用数据仓库维护数据仓库评价数据仓库开发过程规划分析阶段规划分析阶段设计实施设计实施阶段阶段使用维使用维护阶段护阶段数据仓库的
4、开发流程数据仓库的开发流程n数据仓库系统的开发是一个经过不断循环、反馈而使系统不断增长与完善的过程,这也是原型法区别于系统生命周期法的主要特点。数据仓库的设计步骤数据仓库的设计步骤n概念模型设计n技术准备工作n逻辑模型设计n物理模型设计n数据仓库生成n数据仓库使用与维护数据仓库的设计步骤数据仓库的设计步骤数据仓库的设计步骤数据仓库的设计步骤n概念模型设计n技术准备工作n逻辑模型设计n物理模型设计n数据仓库生成n数据仓库运行与维护概念模型设计概念模型设计n任务:界定系统边界 确定主题域及其属性描述 数据模型(多维数据模型,或E-R)n成果:是在原有的数据库的基础上建立一个较为稳固的概念模型。概念
5、模型设计概念模型设计n任务:界定系统边界 确定主题域及其属性描述 数据模型(多维数据模型,或E-R)n成果:是在原有的数据库的基础上建立一个较为稳固的概念模型。界定系统边界界定系统边界(初步需求分析)(初步需求分析)n基本的方向性需求:要做的决策类型有哪些?决策者感兴趣的是什么问题?这些问题需要什么样的信息?要得到这些信息需要包含原有数据库系统的哪些部分的数据?n可以划定一个当前的大致的系统边界,集中精力进行最需要的部分的开发。概念模型设计概念模型设计n任务:界定系统边界 确定主题域及其属性描述 数据模型(多维数据模型,或E-R)n成果:是在原有的数据库的基础上建立一个较为稳固的概念模型。确定
6、主题域确定主题域及其内容及其内容n确定主要的主题域n对每个主题域的内容进行较明确的描述:主题域的公共码键;主题域之间的联系;充分代表主题的属性组。n举例以商场的数据仓库设计为例商场数据仓库概念模型设计商场数据仓库概念模型设计 日趋激烈的市场竞争要求商场经营者更加准确地了解商场经营状况,跟踪市场趋势,更加合理地制定商品采购与销售策略。 由于商场以前的一些OLTP 的需要,在各个部门建立了许多分散的数据库,分别处理各自的业务。如在人事、采购、库存、销售等部门分别存储着各自的数据库,各个部门的数据按自己业务需要加以组织。 这样的组织使得数据各自为政,缺乏全局性,管理层想要在这些数据的基础上得到一些全
7、局报表、进行一些分析工作是比较困难的。因此商场的领导决定要在原有的数据库系统的基础上建立一个数据仓库。界定系统的边界界定系统的边界n需求:主要是商品采购和销售情况n商场经营者目前所要进行的分析主要有:分析顾客的购买趋势;分析商品供应市场的变化趋势;分析供应商信用等级。界定系统的边界界定系统的边界n所需要的数据应包括:商品销售数据;商品采购数据;商品库存数据;顾客信息;供应商信息。n所以,我们可以将系统的边界定为包含原有的销售子系统、采购子系统以及库存子系统在内的集合。确定主要的主题域确定主要的主题域n三个基本主题:商品、供应商和顾客。n主题之间的联系是:供应商供应多种商品,一种商品可由多个供应
8、商提供,即“商品”主题与“供应商”供应的商品直接联系;供应商供应的商品同样也可以被不同的顾客购买,但“顾客”主题与“供应商”主题间并不是直接发生关系的,它们之间的联系是经过“商品”主题的间接联系。E-R模型模型各主题的属性信息各主题的属性信息数据仓库的设计步骤数据仓库的设计步骤n概念模型设计n技术准备工作n逻辑模型设计n物理模型设计n数据仓库生成n数据仓库使用与维护技术准备工作技术准备工作n工作包括:技术评估,技术环境准备。n成果是:技术评估报告,软硬件配置方案,系统(软、硬件)总体设计方案。数据仓库的设计步骤数据仓库的设计步骤n概念模型设计n技术准备工作n逻辑模型设计n物理模型设计n数据仓库
9、生成n数据仓库使用与维护逻辑模型设计逻辑模型设计n分析主题域n确定粒度层次划分n确定数据分割策略n关系模式定义n数据源及抽取模型的定义分析主题域分析主题域n对概念模型设计步骤中确定的几个基本主题域进行分析,选择首先要实施的主题域;n如果所选择的主题域很大并且很复杂,我们甚至可以针对它的一个有意义的子集来进行开发;n商场数据仓库设计的例子:“商品”主题既是一个商场的最基本的业务对象,又是进行决策分析的最主要的领域,因而较之另两个主题来说,“商品”主题具有更重要的意义与作用。所以,我们可以先选定“商品”主题来实施。粒度层次划分粒度层次划分n粒度层次划分适当与否直接影响到数据仓库中的数据量和所适合的
10、查询类型;n通过估算数据行数和所需的DASD 数,确定采用单一粒度或多重粒度,以及粒度划分的层次。DASD(Direct Access Storage Device)n例子:商品主题多重粒度数据分割策略数据分割策略n数据量的大小是决定是否进行数据分割和如何分割的主要因素;n数据分析处理的要求是选择数据分割标准的一个主要依据;n还要考虑到所选择的数据分割标准应是自然的、易于实施的;n同时也要考虑数据分割的标准与粒度划分层次是适应的。关系模式定义关系模式定义n由多个表实现;n对于多维数据模型:事实表和维度表;对于E-R模型:主题的相关信息的内容表如,商品主题的关系模式定义包括:商品固有信息、商品采
11、购信息、商品销售信息、商品库存信息、其它数据等。数据源及抽取模型的定义数据源及抽取模型的定义n由三种表实现;n数据源抽取对象表;数据源抽取规则表;数据目标列与源列对应关系表。数据仓库的设计步骤数据仓库的设计步骤n概念模型设计n技术准备工作n逻辑模型设计n物理模型设计n数据仓库生成n数据仓库使用与维护物理模型设计物理模型设计n工作:确定数据的存储结构,确定索引策略,确定数据存放位置,确定存储分配。n前提要求:1. 全面了解所选用的数据库管理系统,特别是存储结构和存取方法。2. 了解数据环境、数据的使用频度、使用方式、数据规模以及响应时间要求等,这些是对时间和空间效率进行平衡和优化的重要依据。3.
12、 了解外部存储设备的特性,如分块原则,块大小的规定,设备的 IO 特性等。数据仓库的设计步骤数据仓库的设计步骤n概念模型设计n技术准备工作n逻辑模型设计n物理模型设计n数据仓库生成n数据仓库使用与维护数据仓库的生成数据仓库的生成n工作:接口编程,数据装入;n成果:数据已经装入到数据仓库中,可以在其上建立数据仓库的应用,即DSS 应用。数据仓库的生成数据仓库的生成n接口编程:在两个不同环境的记录系统之间建立一个接口,能完整、准确地完成从操作型环境到数据仓库环境的数据抽取、转换与集成。n数据装入:运行接口程序,将数据装入到数据仓库中。数据仓库的设计步骤数据仓库的设计步骤n概念模型设计n技术准备工作
13、n逻辑模型设计n物理模型设计n数据仓库生成n数据仓库使用与维护数据仓库使用与维护数据仓库使用与维护n使用数据仓库:在数据仓库中建立起DSS 应用;n维护:根据用户使用情况和反馈来的新的需求,开发人员进一步完善系统,并管理数据仓库的一些日常活动。包括:刷新数据仓库的当前详细数据,将过时的数据转化成历史数据,清除不再使用的数据,管理元数据,利用接口定期从操作型环境向数据仓库追加数据,确定数据仓库的数据刷新频率,等等。数据仓库使用与维护数据仓库使用与维护n在“商品”主题的数据装人数据仓库后,就可以进行在“商品”主题上的分析处理,即建立“商品这一分析领域上的DSS 应用,如有关商品销售情况的月统计分析
14、或商品库存情况的分析等。n在分析应用中,我们会对“商品”主题有一个实践基础上的更深的认识,从而对原来的设计作出评价和调整。比如,实践证明原来的粒度划分不合理,就应该调整粒度定义。数据仓库使用与维护数据仓库使用与维护n在这一过程中,商场经营者可能会提出新的要求,对消费市场进行分析研究,以进行市场定位等,那么就要着手开发“顾客”主题,并可能要对原有的“商品”主题进行调整,如“商品”主题中可能要增加“商品档次”这么一个属性。讨论讨论n在学习了数据仓库的相关知识和技在学习了数据仓库的相关知识和技术后,你觉得日常生活中,那些方术后,你觉得日常生活中,那些方面可以用到数据仓库技术?面可以用到数据仓库技术?
15、举例举例n零售个性化系统。零售个性化系统。在系统中,客户阅读到由零售商编制的目录或宣在系统中,客户阅读到由零售商编制的目录或宣传广告后促使他有了购买的念头,或者至少想查传广告后促使他有了购买的念头,或者至少想查询一下目录,结果是给零售商打电话。询一下目录,结果是给零售商打电话。举例举例举例举例 当客户定货或咨询情况时,零售商代表查出一些当客户定货或咨询情况时,零售商代表查出一些与此有关的其他信息,如:与此有关的其他信息,如:n客户上次购物的时间客户上次购物的时间;n上次购物的类型上次购物的类型;n客户所属的市场地段。客户所属的市场地段。举例举例 对话的过程中,销售代表说出以下一些事情:对话的过
16、程中,销售代表说出以下一些事情:n “我记得我们曾在二月份通过话我记得我们曾在二月份通过话”n “你购买的兰色运动衫怎么样?你购买的兰色运动衫怎么样?”n “你的那条裤子的问题解决了吗?你的那条裤子的问题解决了吗?”举例举例 数据仓库的分析功能给出市场地段信息,如:数据仓库的分析功能给出市场地段信息,如:n男男/女女n专业专业/其他用品市场其他用品市场n城市城市/乡村市场乡村市场n儿童用品市场儿童用品市场( 年龄年龄、 性别性别)n体育用品市场体育用品市场举例举例 对话可以进行得很个性化。销售代表能够对话可以进行得很个性化。销售代表能够根据根据客客户所属的市场地段信息进行针对性的提问,如:户所
17、属的市场地段信息进行针对性的提问,如:n“你知道我们在泳装方面还有未公布的产品吗?你知道我们在泳装方面还有未公布的产品吗?”n“我们刚刚进一批意大利太阳镜,我想你可能有我们刚刚进一批意大利太阳镜,我想你可能有兴趣。兴趣。”n“天气预报这是打野鸭的寒冬,我们有一种特制天气预报这是打野鸭的寒冬,我们有一种特制的长筒靴。的长筒靴。”举例举例 客户已经完全投入了电话对话中,个性化的电话客户已经完全投入了电话对话中,个性化的电话和关于客户对什么商品感兴趣的知识使得销售商和关于客户对什么商品感兴趣的知识使得销售商在不增加资本投入、不增加广告量的情况下增加在不增加资本投入、不增加广告量的情况下增加了了收入。收入。举例举例 这种个性化的电话对话这种个性化的电话对话是通过对数据仓库的间是通过对数据仓库的间接访问而完成的接访问而完成的举例举例后台后台(即数据仓库环境中即数据仓库环境中)有一个分析程序在不断读入和分析有一个分析程序在不断读入和分析客户的记录。这个分析程序通过一种复杂的方法扫描,分析客户的记录。这个分析程序通过一种复杂的方法扫描,分析客户的历史记录。它定时地提供给操作型环境一个包括下面客户的历史记录。它定时地提供给操作型环境一个包括下面内容的文件:内容的文件:n 上次购物的类型上次购物的类型;n 上次购物的日期上次购物的日期;n 市场分析市场分析/市场地段信息。市场地段信息。