1、2022-11-11第二章数据仓库的设计第二章数据仓库的设计第二章数据仓库的设计第二章数据仓库的设计 一、数据仓库设计与数据库系统设计区别一、数据仓库设计与数据库系统设计区别面向的处理类型不同面向的处理类型不同DBDB:操作型数据环境,面向具体应用:操作型数据环境,面向具体应用DWDW:分析型环境,面向分析,一般开发是从最基本的:分析型环境,面向分析,一般开发是从最基本的主题开始,不断发展新的主题,完善已有的主题。主题开始,不断发展新的主题,完善已有的主题。面向的需求不同面向的需求不同DBDB:有较确定的应用需求,有比较确切的信息流:有较确定的应用需求,有比较确切的信息流DWDW:需求灵活,没
2、有固定的模式,用户甚至不能清楚:需求灵活,没有固定的模式,用户甚至不能清楚需求,不可能从用户出发来进行数据仓库设计。需求,不可能从用户出发来进行数据仓库设计。第二章数据仓库的设计系统设计目标不同系统设计目标不同DBDB:事务处理性能(主要是事务处理响应时间)是主:事务处理性能(主要是事务处理响应时间)是主要目标要目标DWDW:建立一个全局的数据环境,保证数据的四个基本:建立一个全局的数据环境,保证数据的四个基本特征,数据全局一致性,实现对数据的全局管理和控制特征,数据全局一致性,实现对数据的全局管理和控制 数据来源或系统的输入不同数据来源或系统的输入不同DBDB:通常来自组织外部,主要考虑如何
3、将获得的数据:通常来自组织外部,主要考虑如何将获得的数据用适当的方式存储、如何对对数据进行联机的查询更新用适当的方式存储、如何对对数据进行联机的查询更新操作,保证数据安全可靠。操作,保证数据安全可靠。DWDW:主要来自已存在的系统内部,主要考虑如何从现:主要来自已存在的系统内部,主要考虑如何从现存的数据源中得到完整一致的数据,如何对数据进行转存的数据源中得到完整一致的数据,如何对数据进行转换、综合,如何提高数据分析的效率换、综合,如何提高数据分析的效率 第二章数据仓库的设计系统设计的方法和步骤不同系统设计的方法和步骤不同DBDB:业务过程和规则比较规范(如库存管理、采购:业务过程和规则比较规范
4、(如库存管理、采购业务管理等),有独立的收集需求和分析需求的阶段。业务管理等),有独立的收集需求和分析需求的阶段。一般采用生命周期法。一般采用生命周期法。DWDW:面向的管理人员一般不能对分析的需求作出规:面向的管理人员一般不能对分析的需求作出规范说明,需求分析贯穿整个过程。范说明,需求分析贯穿整个过程。第二章数据仓库的设计数据仓库的开发应用像生物一样具有其特有的、完整的数据仓库的开发应用像生物一样具有其特有的、完整的生命周期,数据仓库的开发应用周期可以分成:生命周期,数据仓库的开发应用周期可以分成:u数据仓库规划分析阶段数据仓库规划分析阶段u数据仓库设计实施阶段数据仓库设计实施阶段u数据仓库
5、的使用维护阶段数据仓库的使用维护阶段这三个阶段是一个不断循环、完善、提高的过程。在一这三个阶段是一个不断循环、完善、提高的过程。在一般情况下数据仓库系统不可能在一个循环过程中完成,般情况下数据仓库系统不可能在一个循环过程中完成,而是经过多次循环开发,每次循环都会为系统增加新的而是经过多次循环开发,每次循环都会为系统增加新的功能,使数据仓库的应用得到新的提高。功能,使数据仓库的应用得到新的提高。二、数据仓库的开发方法及步骤二、数据仓库的开发方法及步骤第二章数据仓库的设计第二章数据仓库的设计数据模型数据模型:模型是对现实世界进行抽象的工具。在信息管理中需模型是对现实世界进行抽象的工具。在信息管理中
6、需要将现实世界的事物及其有关特征转换为信息世界的要将现实世界的事物及其有关特征转换为信息世界的数据才能对信息进行处理与管理,这就需要依靠数据数据才能对信息进行处理与管理,这就需要依靠数据模型作为这种转换的桥梁。这种转换一般需要经历从模型作为这种转换的桥梁。这种转换一般需要经历从现实到现实到概念模型概念模型,从概念模型到,从概念模型到逻辑模型逻辑模型,从逻辑模,从逻辑模型到型到物理模型物理模型的转换过程。的转换过程。第二章数据仓库的设计 现实世界现实世界概念世界概念世界逻辑世界逻辑世界计算机世界计算机世界信用信用特性特性属性属性列(字段、列(字段、数据项)数据项)张三张三个体个体实体实体记录记录
7、顾客顾客整体整体同质总体同质总体表文件表文件顾客顾客与产品与产品整体整体间联系间联系异质异质总体总体数据库数据库第二章数据仓库的设计DWDW数据模型与数据模型与OLTPOLTP数据模型区别:数据模型区别:(1)不包含纯操作型数据)不包含纯操作型数据(2)扩充了主键结构,增加了时间属性)扩充了主键结构,增加了时间属性(3)增加大量的导出数据)增加大量的导出数据一、概念模型一、概念模型表示方法:实体关系模型(表示方法:实体关系模型(E-RE-R)模型)模型第二章数据仓库的设计 顾客变动信息商品变动信息顾客号商品固有信息 顾客固有 信息 顾客号供应商号开户日期 日期销售数量 日期 商品号 商品 顾客
8、 销售第二章数据仓库的设计二、逻辑模型二、逻辑模型目前数据仓库还是建立在关系数据库基础上的,所以目前数据仓库还是建立在关系数据库基础上的,所以在数据仓库中采用的逻辑模型就是关系模型,主题以在数据仓库中采用的逻辑模型就是关系模型,主题以及主题之间的联系都是通过关系来表示。及主题之间的联系都是通过关系来表示。关系模型概念简单、清晰、用户易懂,并且有严格的关系模型概念简单、清晰、用户易懂,并且有严格的数学基础和关系数据理论。数学基础和关系数据理论。表示方法:关系模式即表示方法:关系模式即 关系名(属性关系名(属性1 1,属性,属性2 2,)第二章数据仓库的设计三、物理模型三、物理模型物理模型:逻辑模
9、型在数据仓库中的实现,如物理存物理模型:逻辑模型在数据仓库中的实现,如物理存取方式,数据存储结构,数据存放位置,存储分配等。取方式,数据存储结构,数据存放位置,存储分配等。设计物理模型考虑因素:设计物理模型考虑因素:I/OI/O存取时间、空间利用率、存取时间、空间利用率、维护代价等。维护代价等。考虑到数据仓库中的数据量大而且操作单一等特点,考虑到数据仓库中的数据量大而且操作单一等特点,可采用一些提高数据仓库性能的技术,如:合并表、可采用一些提高数据仓库性能的技术,如:合并表、引入冗余、生成导出数据、建立广义索引等。引入冗余、生成导出数据、建立广义索引等。第二章数据仓库的设计四、高级模型、中级模
10、型和低级模型四、高级模型、中级模型和低级模型高级模型高级模型:即:即E ER R模型模型低级模型低级模型:即物理数据模型,与数据库相同:即物理数据模型,与数据库相同中间模型中间模型:DISDIS(data item setdata item set)数据项集。可以看)数据项集。可以看作是作是E ER R图的细分,每个实体有一个图的细分,每个实体有一个DISDIS对应,其中的对应,其中的数据项分为四个组别:数据项分为四个组别:基本数据项组、二级数据项组、联接数据项组、类型基本数据项组、二级数据项组、联接数据项组、类型数据项组数据项组数据仓库之父数据仓库之父W.H.InmonW.H.Inmon在在
11、Building the Data Building the Data WarehouseWarehouse一书中对数据仓库的三级模型有另一种提一书中对数据仓库的三级模型有另一种提法:高级模型、中级模型和低级模型法:高级模型、中级模型和低级模型 第二章数据仓库的设计联接数据组联接数据组:本主题域与其他主题域的联系,体现:本主题域与其他主题域的联系,体现E-RE-R模型中的模型中的“联接联接”,一般是一个主题的公共码键。,一般是一个主题的公共码键。其余三组数据组的划分依据不同程度的数据稳定性,其余三组数据组的划分依据不同程度的数据稳定性,基本数据组基本数据组 二级数据组二级数据组 类型数据组类型
12、数据组 以顾客主题为例以顾客主题为例:顾客号、顾客名、性别等信息,是基本不变的,可以顾客号、顾客名、性别等信息,是基本不变的,可以列为基本数据组,主码一般列入基本数据组;列为基本数据组,主码一般列入基本数据组;顾客住址、文化程度、电话等虽然也基本稳定,但是顾客住址、文化程度、电话等虽然也基本稳定,但是存在变化的可能存在变化的可能,列为二级数据组;列为二级数据组;顾客的购物记录是经常变化的顾客的购物记录是经常变化的,列入类型数据组。列入类型数据组。第二章数据仓库的设计一、粒度划分一、粒度划分粒度粒度:数据仓库中数据的详细程度和级别,粒度越:数据仓库中数据的详细程度和级别,粒度越大。数据综合程度越
13、高,不同粒度级别的数据对应不大。数据综合程度越高,不同粒度级别的数据对应不同类型的分析处理。粒度划分是否得当是影响数据仓同类型的分析处理。粒度划分是否得当是影响数据仓库性能的一个重要方面。库性能的一个重要方面。粒度划分:粒度划分:(1 1)先要确定所有数据仓库中的表,估计每个表的大)先要确定所有数据仓库中的表,估计每个表的大约行数,这里只估计一个上下限。约行数,这里只估计一个上下限。注:粒度划分的决定性因素不是总的数据量而是总行注:粒度划分的决定性因素不是总的数据量而是总行数数 第二章数据仓库的设计(2 2)根据估算出的数据行,来确定是否要划分粒)根据估算出的数据行,来确定是否要划分粒度。一般
14、情况下,如果一年内数据行数超过度。一般情况下,如果一年内数据行数超过100100,000000,就应该考虑粒度的划分,就应该考虑粒度的划分。二、分割二、分割分割分割:把逻辑上是统一整体的数据分割为较小的、:把逻辑上是统一整体的数据分割为较小的、可以独立管理的物理单元(分片)进行存储。可以独立管理的物理单元(分片)进行存储。分割优点分割优点:便于重构、重组、恢复:便于重构、重组、恢复,以,以提高创建提高创建索引和扫描的效率索引和扫描的效率 以商场为例,以时间段和商品大类为分割标准,对以商场为例,以时间段和商品大类为分割标准,对销售数据进行分割销售数据进行分割:第二章数据仓库的设计19961996
15、年年家电类家电类日用化工类日用化工类副食类副食类服装类服装类第一季第一季度度第二季第二季度度第三季第三季度度分片分片1 1分片分片5 5分片分片9 9分片分片2 2分片分片6 6分片分片1010分片分片3 3分片分片7 7分片分片1111分片分片4 4分片分片8 8分片分片1212分割标准确定考虑因素主要有:分割标准确定考虑因素主要有:(1 1)数据量(并非行数)数据量(并非行数)(2 2)数据分析处理的实际情况数据分析处理的实际情况(3 3)粒度划分策略粒度划分策略第二章数据仓库的设计数据量数据量:数据量的大小是决定是否进行数据分割的:数据量的大小是决定是否进行数据分割的主要因素,如果数据量
16、小,可以不进行分割或者选择主要因素,如果数据量小,可以不进行分割或者选择单一标准分割成较小的分片单一标准分割成较小的分片 与分析处理的对象紧密联系与分析处理的对象紧密联系即不同主题内数据分割的标准不同,如商品主题内即不同主题内数据分割的标准不同,如商品主题内对数据的分割采用商品大类、商品小类、时间等标对数据的分割采用商品大类、商品小类、时间等标准;准;“供应商供应商”主题采用地理位置和时间来分割主题采用地理位置和时间来分割与粒度的划分策略统一与粒度的划分策略统一如如“商品商品”主题内关于销售数据的粒度是按时间和商主题内关于销售数据的粒度是按时间和商品类别划分的,在每一粒度层次上,对数据的分割也
17、按品类别划分的,在每一粒度层次上,对数据的分割也按时间和商品类别来分割。这样便于对每个分片上的数据时间和商品类别来分割。这样便于对每个分片上的数据进行综合进行综合 第二章数据仓库的设计三、合并表(归并表)三、合并表(归并表)为了解决一些例行的分析处理而采用的技术。为了解决一些例行的分析处理而采用的技术。如果某些例行的查询经常设计到多个表的数据项,在如果某些例行的查询经常设计到多个表的数据项,在查询的时候需要多表的联接操作,如果这几个表分散在查询的时候需要多表的联接操作,如果这几个表分散在不同的物理块中,联接的开销会很大。不同的物理块中,联接的开销会很大。为了节约为了节约I/OI/O开销,把这些
18、表的记录混合放在一起,降开销,把这些表的记录混合放在一起,降低联接操作的代价低联接操作的代价 第二章数据仓库的设计第二章数据仓库的设计四、广义索引四、广义索引广义索引也是为了提高数据仓库中数据访问速度而广义索引也是为了提高数据仓库中数据访问速度而采用的一种索引技术。主要是处理一些采用的一种索引技术。主要是处理一些最值最值问题。问题。如作为销售主管,可能会问:这个月销售量最差的如作为销售主管,可能会问:这个月销售量最差的是那种产品?可以把这些最差的商品的名称或记录的是那种产品?可以把这些最差的商品的名称或记录的存放地址单独列在一个索引文件中,这就是存放地址单独列在一个索引文件中,这就是“广义索广
19、义索引引”。第二章数据仓库的设计 数据仓库的设计可以分为以下几个步骤:数据仓库的设计可以分为以下几个步骤:概念模型设计概念模型设计技术准备工作技术准备工作逻辑模型设计逻辑模型设计物理模型设计物理模型设计数据仓库生成数据仓库生成数据仓库运行与维护数据仓库运行与维护 第二章数据仓库的设计一、概念模型设计一、概念模型设计概念模型设计所要完成的工作:概念模型设计所要完成的工作:界定系统边界界定系统边界 确定主要的主题域及其内容确定主要的主题域及其内容 1、界定系统的边界、界定系统的边界 从某种意义上讲,界定系统边界的工作也可以看作是从某种意义上讲,界定系统边界的工作也可以看作是数据仓库系统设计的需求分
20、析,它将决策者的数据分数据仓库系统设计的需求分析,它将决策者的数据分析的需求用系统边界的定义形式反映出来析的需求用系统边界的定义形式反映出来。第二章数据仓库的设计要做的决策类型有哪些要做的决策类型有哪些?决策者感兴趣的是什么问题决策者感兴趣的是什么问题?这些问题需要什么样的信息这些问题需要什么样的信息?要得到这些信息需要包含原有数据库系统的哪些部要得到这些信息需要包含原有数据库系统的哪些部分的数据分的数据?在这一步中,要确定系统所包含的主题域,然后在这一步中,要确定系统所包含的主题域,然后对每个主题域的内容进行较明确的描述,描述的内对每个主题域的内容进行较明确的描述,描述的内容包括:容包括:主
21、题域的公共码键;主题域的公共码键;主题域之间的联系;主题域之间的联系;充分代表主题的属性组充分代表主题的属性组 第二章数据仓库的设计建设数据仓库的根本目的:建设数据仓库的根本目的:经营者能够更加准确的把握商场的经营状况,主要经营者能够更加准确的把握商场的经营状况,主要是商品的销售信息和采购信息。是商品的销售信息和采购信息。所进行的主要分析:所进行的主要分析:分析顾客的购买信息分析顾客的购买信息商品供应市场的变化趋势商品供应市场的变化趋势 商品供应商的信用等级商品供应商的信用等级第二章数据仓库的设计要进行以上分析所需要的数据:要进行以上分析所需要的数据:商品的销售数据商品的销售数据商品的采购数据
22、商品的采购数据商品的库存数据商品的库存数据顾客信息顾客信息供应商信息供应商信息将系统的边界定义为原有的销售子系统、采购子系将系统的边界定义为原有的销售子系统、采购子系统、库存子系统的集合。统、库存子系统的集合。第二章数据仓库的设计根据分析的要求,可以确定数据仓库的三个主要主题:根据分析的要求,可以确定数据仓库的三个主要主题:商品、供应商、顾客商品、供应商、顾客第二章数据仓库的设计主题的描述主题的描述第二章数据仓库的设计 这一阶段的工作包括:技术评估,技术环境准备。这一阶段的工作包括:技术评估,技术环境准备。形成技术评估报告、软硬件配置方案、系统形成技术评估报告、软硬件配置方案、系统(软、软、硬
23、件硬件)总体设计方案。总体设计方案。进行技术评估,就是确定数据仓库的各项性能指标。进行技术评估,就是确定数据仓库的各项性能指标。管理大数据量的能力;管理大数据量的能力;进行灵活数据存取的能力;进行灵活数据存取的能力;根据数据模型重组数据的能力;根据数据模型重组数据的能力;透明的数据发送和接收能力;透明的数据发送和接收能力;周期性的成批装载数据的能力;周期性的成批装载数据的能力;第二章数据仓库的设计2.技术环境准备技术环境准备 网络;网络;所采用的操作系统;所采用的操作系统;进出数据仓库的界面进出数据仓库的界面(主要是数据查询和分析工具主要是数据查询和分析工具);管理数据仓库的软件。如管理数据仓
24、库的软件。如 DBMS进行的工作主要:进行的工作主要:分析主题域,确定当前要装载的主题分析主题域,确定当前要装载的主题确定粒度层次划分确定粒度层次划分确定数据分割策略确定数据分割策略关系模式定义关系模式定义第二章数据仓库的设计对每个当前要装载的主题的逻辑实现进行定义,并对每个当前要装载的主题的逻辑实现进行定义,并将相关内容记录在数据仓库的元数据中将相关内容记录在数据仓库的元数据中。数据仓库的设计方法是一个逐步求精的过程,在数据仓库的设计方法是一个逐步求精的过程,在进行设计时,一般是一次一个主题或一次若干个主进行设计时,一般是一次一个主题或一次若干个主题地逐步完成的。从得出的所有主题中选择首先要
25、题地逐步完成的。从得出的所有主题中选择首先要实施的主题域。实施的主题域。在在“商场商场”实例中,通过实例中,通过“商品商品”主题可以较全主题可以较全面的了解商场的经营状况。因此可以首先选择面的了解商场的经营状况。因此可以首先选择“商商品品”主题进行实施。主题进行实施。第二章数据仓库的设计粒度层次划分适当与否直接影响到数据仓库中的数粒度层次划分适当与否直接影响到数据仓库中的数据量和所适合的查询类型。确定数据仓库的粒度划分,据量和所适合的查询类型。确定数据仓库的粒度划分,可以通过估算数据的总行数来确定是采用单一粒度还可以通过估算数据的总行数来确定是采用单一粒度还是多重粒度,以及粒度划分的层次。是多
26、重粒度,以及粒度划分的层次。“商场商场”数据仓库中,一个会员制的商场一般可以数据仓库中,一个会员制的商场一般可以经营上千种商品,考虑到商品的销售数据量最大,经营上千种商品,考虑到商品的销售数据量最大,对商品的销售分析主要是:进行销售统计和销售趋对商品的销售分析主要是:进行销售统计和销售趋势分析。势分析。最好采用多重粒度,如某种商品的周统计销售数据、最好采用多重粒度,如某种商品的周统计销售数据、某类商品的月统计数据、季统计数据等等某类商品的月统计数据、季统计数据等等第二章数据仓库的设计要选择适当的数据分割的标准,一般要考虑以下几要选择适当的数据分割的标准,一般要考虑以下几方面因素:数据量方面因素
27、:数据量(而非记录行数而非记录行数)、数据分析处理的、数据分析处理的实际情况、简单易行以及粒度划分策略等。实际情况、简单易行以及粒度划分策略等。数据量的大小数据量的大小是决定是否进行数据分割和如何分割是决定是否进行数据分割和如何分割的主要因素;的主要因素;数据分析处理的要求是数据分析处理的要求是选择数据分割标准的一个主选择数据分割标准的一个主要依据,因为数据分割是跟数据分析处理的对象紧要依据,因为数据分割是跟数据分析处理的对象紧密联系的;密联系的;考虑数据考虑数据分割的标准与粒度划分层次是适应的分割的标准与粒度划分层次是适应的。第二章数据仓库的设计 数据仓库的每个主题都是由多个表来实现的,表之
28、数据仓库的每个主题都是由多个表来实现的,表之间依靠主题的公共码键联系在一起,形成一个完整的主间依靠主题的公共码键联系在一起,形成一个完整的主题。题。以以“商品商品”主题为例,考虑到商品的粒度划分层次、主题为例,考虑到商品的粒度划分层次、分割标准等,可将分割标准等,可将“商品商品”主题分为以下几个表来实主题分为以下几个表来实现:现:公共码键:商品号公共码键:商品号(1)商品固有信息)商品固有信息第二章数据仓库的设计商品采购信息:商品采购信息:商品销售信息:商品销售信息:第二章数据仓库的设计 这一步所做的工作:这一步所做的工作:确定数据的存储结构确定数据的存储结构 -RAID技术技术确定索引策略确
29、定索引策略B树索引树索引 位图索引等位图索引等确定数据存放位置确定数据存放位置 磁带磁带 磁盘磁盘 等等确定存储分配优化确定存储分配优化 一个数据库管理系统往往都提供多种存储结构,不一个数据库管理系统往往都提供多种存储结构,不同的存储结构有不同的实现方式,在选择合适的存储同的存储结构有不同的实现方式,在选择合适的存储结构时应该权衡三个方面的主要因素:结构时应该权衡三个方面的主要因素:存取时间、存存取时间、存储空间利用率和维护代价储空间利用率和维护代价。第二章数据仓库的设计 数据仓库的数据量很大数据仓库的数据量很大,数据都是不常更新的,数据都是不常更新的,因而可以设计多种多样的因而可以设计多种多
30、样的索引结构索引结构来提高数据存取效来提高数据存取效率。率。同一个主题的数据并不要求存放在相同的介质上。常同一个主题的数据并不要求存放在相同的介质上。常常要按数据的重要程度、使用频率以及对响应时间的要常要按数据的重要程度、使用频率以及对响应时间的要求进行分类,并将不同类的数据分别存储在不同的存储求进行分类,并将不同类的数据分别存储在不同的存储设备中。设备中。第二章数据仓库的设计 许多数据库管理系统提供了一些存储分配的参数许多数据库管理系统提供了一些存储分配的参数如:数据块的尺寸、缓冲区大小和个数等。如:数据块的尺寸、缓冲区大小和个数等。通过专用的数据抽取工具或者通过自行编程通过专用的数据抽取工
31、具或者通过自行编程 实现数实现数据抽取、转换和装载。据抽取、转换和装载。建立建立DSS应用,使用数据仓库理解需求,调整和完应用,使用数据仓库理解需求,调整和完善系统,维护数据仓库。善系统,维护数据仓库。第二章数据仓库的设计1.建立建立DSS应用应用DSS应用主要可分为两类:应用主要可分为两类:例行分析处理例行分析处理启发式分析处理启发式分析处理例行分析处理:例行分析处理:是指那些重复进行的分析处理,通是指那些重复进行的分析处理,通常属于部门级的应用,如部门统计分析,报表分析常属于部门级的应用,如部门统计分析,报表分析等等;等等;启发式的分析处理:启发式的分析处理:而个人级的分析应用随机性很而个
32、人级的分析应用随机性很大,高层管理者受到某种信息启发而进行的一些即大,高层管理者受到某种信息启发而进行的一些即席的分析处理,称之为启发式的分析处理。席的分析处理,称之为启发式的分析处理。第二章数据仓库的设计DSS应用开发步骤应用开发步骤第二章数据仓库的设计 维护数据仓库的工作主要是管理日常数据装入的工维护数据仓库的工作主要是管理日常数据装入的工作,包括刷新数据仓库的当前详细数据,将过时的数作,包括刷新数据仓库的当前详细数据,将过时的数据转化成历史数据清除不再使用的数据,管理元数据转化成历史数据清除不再使用的数据,管理元数据;另外,如何利用接口定期从操作型环境向数据仓据;另外,如何利用接口定期从操作型环境向数据仓库追加数据,确定数据仓库的数据刷新频率,等等。库追加数据,确定数据仓库的数据刷新频率,等等。2022-11-11第二章数据仓库的设计