星型模式 vs 雪花模型多维数据建模

星型模式 vs 雪花模型多维数据建模
星型模式 vs 雪花模型多维数据建模

星型模式vs 雪花模型多维数据建模

发布:2011-8-23 17:37 | 作者:梁小米 | 来源:本站| 查看:2158次

星型模式 vs 雪花模型多维数据建模以直观的方式组织数据,并支持高性能的数据访问。每一个多维数据模型由多个多维数据模式表示,每一个多维数据模式都是由一个事实表和一组维表组成的。多维模型最常见的是星形模式。在星形模式中,事实表居中,多个维表呈辐射状分布于其四周,并与事实表连接。在星型的基础上,发展出雪花模式,下面就二者的特点做比较。星型模式位于星形中心的实体是指标实体,是用户最关心的基本实体和查询活动的中心,为数据仓库的查询活动提供定量数据。每个指标实体代表一系列相关事实,完成一项指定的功能。位于星形图星角上的实体是维度实体,其作用是限制用户的查询结果,将数据过滤使得从指标实体查询返回较少的行,从而缩小访问范围。每个维表有自己的属性,维表和事实表通过关键字相关联。星形模式虽然是一个关系模型,但是它不是一个规范化的模型。在星形模式中,维度表被故意地非规范化了,这是星形模式与OLTP系统中的关系模式的基本区别。使用星形模式主要有两方面的原因:提高查询的效率。采用星形模式设计的数据仓库的优点是由于数据的组织已经过预处理,主要数据都在庞大的事实表中,所以只要扫描事实表就可以进行查询,而不必把多个庞大的表联接起来,查询访问效率较高。同时由于维表一般都很小,甚至可以放在高速缓存中,与事实表作连接时其速度较快;便于用户理解。对于非计算机专业的用户而言,星形模式比较直观,通过分析星形模式,很容易组合出各种查询。总结:非正规化;多维数据集中的每一个维度都与事实表连接(通过主键和外键);不存在渐变维度;有冗余数据;查询效率可能会比较高;不用过多考虑正规化因素,设计维护较为简单。

雪花模式在实际应用中,随着事实表和维表的增加和变化,星形模式会产生多种衍生模式,包括星系模式、星座模式、二级维表和雪花模式。雪花模式是对星形模式维表的进一步层次化,将某些维表扩展成事实表,这样既可以应付不同级别用户的查询,又可以将源数据通过层次间的联系向上综合,最大限度地减少数据存储量,因而提高了查询功能。雪花模式的维度表是基于范式理论的,因此是界于第三范式和星形模式之间的一种设计模式,通常是部分数据组织采用第三范式的规范结构,部分数据组织采用星形模式的事实表和维表结构。在某些情况下,雪花模式的形成是由于星形模式在组织数据时,为减少维表层次和处理多对多关系而对数据表进行规范化处理后形成的。雪花模式的优点是:在一定程度上减少了存储空间;规范化的结构更容易更新和维护。同样雪花模式也存在不少缺点:雪花模式比较复杂,用户不容易理解;浏览内容相对困难;额外的连接将使查询性能下降。在数据仓库中,通常不推荐“雪花化”。因为在数据仓库中,查询性能相对OLTP系统来说更加被重视,而雪花模式会降低数据仓库系统的性能。总结:正规化;数据冗余少;有些数据需要连接才能获取,可能效率较低;规范化操作较复杂,导致设计及后期维护复杂;实际应用中,可以采取上述两种模型的混合体:如:中间层使用雪花结构以降低数据冗余度,数据集市部分采用星型以方便数据提取及和分析。

有时候规范化和效率是一组矛盾。一般我们会采取牺牲空间(规范化)来换

取好的性能,把尽可能多的维度信息存在一张“大表”里面是最快的。通常会视情

况而定,采取折中的策略。

星型有时会造成数据大量冗余,并且很有可能将事实表变的及其臃肿(上百万条数据×上百个维度)。

每次遇到需要更新维度成员的情况时,都必须连事实表也同时更新。

而雪花型,有时只需要更新雪花维度中的一层即可,无需更改庞大的事实表。

具体问题具体分析,如时间维度,年,季就没必要做雪花,而涉及到产品和产品的分类,如果分类信息也是我们需要分析的信息,那么,我肯定是建关于分

类的查找表,也就是采用雪花模式

雪花型结构是一种正规化结构,他取除了数据仓库中的冗余数据。比如有一张销售事实表,然后有一张产品维度表与之相连,然后有一张产品类别维度表与产品维度表连。这种结构就是雪花型结构。雪花型结构取除了数据冗余,所以有些统计就需要做连接才能产生,所以效率不一定有星型架构高。正规化也是一种比较复杂的过程,相应数据库结构设计、数据的ETL、以及后期的维护都要复杂一些。

星型架构是一种非正规化的结构,多维数据集中的每一个维度都与事实表相连接,不存在渐变维度,所以数据有一定的冗余,正因为数据的冗余所以很多统计查询不需要做外部的连接所以一般情况下效率比雪花型要高。星型结构不用考虑很多正规化的因素,设计与实现都比较简单。

虽然两种结构有一定差别,我个人认为没有好坏之分,最主要的还是看项目的需求,看业务逻辑。

sql2005的分法常规(等同于星型)、事实(FactTable直接放上维度字段)、1对多(雪花)、多对多(适用多FactTable的情况)。所以也是常规和多对多用的多些。

数据仓库模型的设计

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

数据仓库物理模型设计

数据仓库物理模型设计 数据仓库的物理模型就是数据仓库逻辑模型在物理系统中的实现模式。其中包括了逻辑模型中各种实体表的具体化,例如表的数据结构类型、索引策略、数据存放位置和数据存储分配等。在进行物理模型的设计实现时,所考虑的因素有:I/O存取时间、空间利用率及维护的代价。 为确定数据仓库的物理模型,设计人员必须做这样几方面工作:首先要全面了解所选用的数据库管理系统,特别是存储结构和存取方法;其次了解数据环境、数据的使用频率、使用方式、数据规模及响应时间要求等,这些都是对时间和空间效率进行平衡和优化的重要依据;最后还需要了解外部存储设备的特征。只有这样才能在数据的存储需求与外部存储设备条件两者之间获得平衡。 1 设计存储结构 在物理设计时,常常要按数据的重要性、使用频率及对反应时间的要求进行分类,并将不同类型的数据分别存储在不同的存储设备中。重要性高、经常存取并对反应时间要求高的数据存放在高速存储设备上;存取频率低或对存取响应时间要求低的数据则可以存放在低速存储设备上。另外,在设计时还要考虑数据在特定存储介质上的布局。在设计数据的布局时要注意遵循以下原则。 l 不要把经常需要连接的几张表放在同一存储设备上,这样可以利用存储设备的并行操作功能加快数据查询的速度。 l 如果几台服务器之间的连接会造成严重的网络业务量的问题,则要考虑服务器复制表格,因为不同服务器之间的数据连接会给网络带来沉重的数据传输负担。 l 考虑把整个企业共享的细节数据放在主机或其他集中式服务器上,提高这些共享数据的使用速度。 l 不要把表格和它们的索引放在同一设备上。一般可以将索引存放在高速存储设备上,而表格则存放在一般存储设备上,以加快数据的查询速度。 在对服务器进行处理时往往要进行大量的等待磁盘数据的工作,此时,可以在系统中使用RAID(Redundant Array of Inexpensive Disk,廉价冗余磁盘阵列)。 2 设计索引策略 数据仓库的数据量很大,因而需要对数据的存取路径进行仔细地设计和选择。由于数据仓库的数据一般很少更新,所以可以设计索引结构来提高数据存取效率。在数据仓库中,设计人员可以考虑对各个数据存储建立专用的索引和复杂的索引,以获取较高的存取效率,虽然建立它们需要付出一定的代价,但建立后一般不需要过多的维护。 数据仓库中的表通常要比联机事务处理系统(OLTP)中的表建立更多的索引,表中应用的最大索引数应与表格的规模成正比。数据仓库是个只读的环境,建立索引可以取得灵活性,对性能极为有利。但是表若有很多索引,那么数据加载时间就会延长,因此索引的建立需要进行综合的考虑。在建立索引时,可以按照索引使用的频率由高到低逐步添加,直到某一索引加入后,使数据加载或重组表的时间过长时,就结束索引的添加。 最初,一般都是按主关键字和大多数外部关键字建立索引,通常不要添加很多的其他索引。在表建立大量的索引后,对表进行分析等具体使用时,可能需要许多索引,这会导致表的维护时间也随之增加。如果从主关键字和外部关键字着手建立索引,并按照需要添加其他索引,就会避免首先建立大量的索引带来的后果。如果表格过大,而且需要另外增加索引,那么可以将表进行分割处理。如果一个表中所有用到的列都在索引文件中,就不必访问事实表,只要访问索引就可以达到访问数据的目的,以此来减少I/O操作。如果表太大,并且经常要对它进行长时间的扫描,那么就要考虑添加一张概括表以减少数据的扫描任务。 3 设计存储策略

数据仓库-期末考试复习题

复习思考题(重点) 一、单项选择题 (1) 一般信息管理中,采用哪种方式的概念模型最多 A. MapReduce模型 B. 实体-关系模型 C.02O模型 D.B/S模型 (2)在关系表中,下列哪种属性不能承担主列关键字(Key)? A. 身份证号 B.银行卡号 C.加密电文 D.企业标识码 (3)数据仓库的生命周期中,不包含下列哪个阶段? A.规划分析阶段 B.设计实施阶段 C.使用维护阶段 D.反馈提升阶段 (4)多维切片是指: A.在多个维度上观察全员操作 B.多个成员的操作片段 C.旋转数据集的部分维度 D.在线分析或联机分析 (5) 一般信息管理中,采用哪种方式的分布式物理模型最多 A. MapReduce模型 B. 实体-关系模型 C.02O模型 D.B/S模型 (6)在关系表中,下列哪种属性可以成为外键(Key)? A. 客户信用程度 B.银行卡行号 C.加密的身份证号 D.实体商户地址 (7)数据仓库的生命周期中,不包含下列哪个阶段排在第三阶段? A.规划分析阶段 B.设计实施阶段 C.使用维护阶段 D.反馈提升阶段 (8)多维报表是指: A.在多个维度上观察全员操作 B.不同维度格式不同叠加展示 C.旋转数据集的部分维度 D.在线分析或联机分析 (9)数据表的多维索引的作用是: A.使数据表更节省存储空间 B.加快数据存储速度 C. 表格格式美观大方 C. 加快数据查找效率 (10)MapRedude结构中的MAP职能是? A.钻取 B.汇聚 C.分发 D.结晶 (11)下列哪种客户需求可以直接成为数据仓库的多维报表? A.客户销售业绩清单 B.客户基本名册 C.客户关系图表 D.客户反馈信息 (12) 数据仓库开发强调哪种主体特征? A. 信息安全性 B.业务流程 C.操作事务性 D.数据实时性 (13)数据仓库与数据库系统相比,更加提倡: A.空间换时间 B.数据范式更严格 C.冗余度更小 C. 更加适用于分布式结构 (14)透视表属于OLAP中的哪种能力范畴? A.存储能力 B.展示能力 C.稳定性能力 D.安全性能力 (15)OLAP的系统结构分为: A.胖客户端系统和瘦客户端系统 B. OLAP服务器和多维数据存储 C. OLAP服务器和传输分析处理后结果 C. 多维数据存储和分析处理后结果 (16)MapRedude结构中的Reduce职能是? A.钻取 B.汇聚 C.分发 D.结晶 (17)下列哪种信息不能直接成为数据仓库的元数据? A.客户姓名的格式 B.客户基本信息 C.客户关系图 D.客户反馈法则 (18) noSQL数据库更强调哪种特征? A. 不兼容SQL命令 B.非关系结构 C.非事务性 D.分布式计算 (19)下列哪种关于数据仓库开发的观点是错误的?

面向财务分析的多维数据模型设计

面向财务分析的多维数据模型设计

摘要:数据仓库为商务运作提供结构与工具,以便系统地组织、理解和使用数据进行战略决策。数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理部门的决策过程。而且数据仓库是基于多维数据模型的,该模型可将数据看作数据立方体形式。而财务分析是以会计核算和报表资料及其他相关资料为依据,采用一系列专门的分析技术和方法,对企业等经济组织过去和现在有关筹资活动、投资活动、经营活动、分配活动的盈利能力、营运能力、偿债能力和增长能力状况等进行分析与评价的经济管理活动。可以运用数据仓库实现面向财务分析的多维数据模型设计,通过时间维度、行业维度、方法维度、报表维度等分析。 关键词:财务分析;多维数据;上卷;下卷;财务报表 前言:数据仓库为商务运作提供结构与工具,以便系统地组织、理解和使用数据进行战略决策。而财务分析是以会计核算和报表资料及其他相关资料为依据,采用一系列专门的分析技术和方法,对企业等经济组织过去和现在有关活动的各种能力状况等进行分析与评价的经济管理活动。可运用数据仓库实现面向财务分析的多维数据模型设计。 正文:面向财务分析的多维数据模型设计 财务分析是为企业的投资者、债权人、经营者及其他关心企业的组织或个人了解企业过去、评价企业现状、预测企业未来做出正确决策提供准确的信息或依据的经济应用学科。是以会计核算和报表资料及其他相关资料为依据,采用一系列专门的分析技术和方法,对企业等经济组织过去和现在有关活动的盈利能力、营运能力、偿债能力和增长能力状况等进行分析与评价的经济管理活动。 财务分析的方法与分析工具众多,具体应用应根据分析者的目的而定。最经常用到的还是围绕财务指标进行单指标、多指标综合分析、再加上借用一些参照值(如预算、目标等),运用一些分析方法(比率、趋势、结构、因素等)进行分析,然后通过直观、人性化的格式(报表、图文报告等)展现给用户。 财务分析的方法: (一)比较分析法 比较分析法,是通过对比两期或连续数期财务报告中的相同指标,确定其增减变动的方向、数额和幅度,来说明企业财务状况或经营成果变动趋势的一种方法。比较分析法的具体运用主要有重要财务指标的比较、会计报表的比较和会计报表项目构成的比较三种方式。 1、不同时期财务指标的比较主要有以下两种方法: (1)定基动态比率,是以某一时期的数额为固定的基期数额而计算出来的动态比率。 (2)环比动态比率,是以每一分析期的数据与上期数据相比较计算出来的动态比率。

多维数据模型与OLAP实现

多维数据模型与OLAP实现 近年来,随着网络技术和数理分析在银行业中的广泛应用,西方商业银行开始广泛采用人口地理统计理论,运用数据挖掘及商业智能 对用户请求的快速响应和交互式操作。 OLAP技术在国内兴起和发展的过程中,人们对某些基本概念还有不同的理解。比如,OLAP与多维数据模型的关系,多维数据模型与多维数据库(MDD,MultiDimensionalDatabase)的关系,MOLAP(Multidime

nsionalOLAP,多维联机分析处理)、ROLAP(RelationalOLAP,关系联机分析处理)和HOLAP(HybridOLAP,混合联机分析处理)间的差异,多维数据库与多维联机分析处理是不是完全一致等问题,还有待于进一步澄清。 一、多维数据模型及相关概念 同的维属性。 2.维:是人们观察数据的特定角度,是考虑问题时的一类属性。 属性的集合构成一个维(如时间维、机构维等)。 3.维分层:同一维度还可以存在细节程度不同的各个描述方面(如时间维可包括年、季度、月份、旬和日期等)。

4.维属性:维的一个取值,是数据项在某维中位置的描述(例如“某年某月某日”是在时间维上位置的描述)。 5.度量:立方体中的单元格,用以存放数据。 OLAP的基本多维分析操作有钻取(Rollup,Drilldown)、切片(Slice)、切块(Dice)及旋转(P 钻取包含向下钻取和向上钻取 在多维数据结构中 OLAP多维数据模型的实现有多种途径,其中主要有采用数组的多维数据库、关系型数据库以及两者相结合的方式,人们通常称之为MOLAP、ROLAP和HOLAP。但MOLAP的提法容易引起误解,毕竟根据OLAP的多维概念,ROLAP也是一种多 维数据的组织方式。

最新复杂系统决策模型与层次分析法

复杂系统决策模型与层次分析法

§3.4 复杂系统决策模型与层次分析法 Analitic Hierachy Process (AHP) T.L.Saaty 1970’ 一种定性和定量相结合的、系统化、层次化的分析方法。 一. 问题举例 1. 在海尔、新飞、容声和雪花四个牌号的电冰箱中选购一种。要考虑品牌的信誉、冰箱的功能、价格和耗电量。 2. 在泰山、杭州和承德三处选择一个旅游点。要考虑景点的景色、居住的环境、饮食的特色、交通便利和旅游的费用。 3. 在基础研究、应用研究和数学教育中选择一个领域申报科研课题。要考虑成果的贡献(实用价值、科学意义),可行性(难度、周期和经费)和人才培养。 二. 模型和方法 1. 层次结构模型的构造 步骤一:确定层次结构,将决策的目标、考虑的因素(决策准则)和决策对象按它们之间的相互关系分为最高层、中间层和最低层,绘出层次结构图。 最高层:决策的目的、要解决的问题。 最低层:决策时的备选方案。 中间层:考虑的因素、决策的准则。 对于相邻的两层,称高层为目标层,低层为因素层。 例 例3.

步骤二: 通过相互比较,确定下一层各因素对上一层目标的影响的权重,将定性的判断定量化,即构造因素判断矩阵。 步骤三:由矩阵的特征值确定判别的一致性;由相应的特征向量表示各因素的影响权重,计算权向量。 步骤四: 通过综合计算给出最底层(各方案)对最高层(总目标)影响的权重,权重最大的方案即为实现目标的最由选择。 2. 因素判断矩阵 比较n 个因素y=(y 1,y 2,…,y n )对目标 z 的影响. 采用两两成对比较,用a ij 表示因素 y i 与因素y j 对目标z 的影响程度之比。 通常用数字 1~ 9及其倒数作为程度比较的标度, 即九级标度法 x i /x j 相当 较重要 重要 很重要 绝对重要 a ij 1 3 5 7 9 2, 4, 6, 8 居于上述两个相邻判断之间。 当a ij > 1时,对目标 Z 来说 x i 比 x j 重要, 其数值大小表示重要的程度。 同时必有 a ji = 1/ a ij ≤1,对目标 Z 来说 x j 比 x i 不重要,其数值大小表示不重要的程度。 称矩阵 A = ( a ij )为因素判断矩阵。 因为 a ij >0 且 a ji =1/ a ij 故称A = (a ij )为正互反矩阵。 例. 选择旅游景点 Z :目标,选择景点 y :因素,决策准则 y 1 费用,y 2 景色,y 3 居住,y 4 饮食,y 5 交通 3. 一致性与权向量 如果 a ij a jk =a ik i, j, k=1,2,…,n , 则称正互反矩阵A 具有一致性. 这表明对各个因素所作的两两比较是可传递的。 一致性互正反矩阵A=( a ij )具有性质: A 的每一行(列)均为任意指定行(列)的正数倍数,因此 rank(A)=1. A 有特征值λ=n, 其余特征值均为零. 记A 的对应特征值λ=n 的特征向量为w=(w 1 w 2 ,…, w n ) 则 a ij =w i w j -1 ??? ? ??????? ?? ???=113 3 /15/11123/15/13/12/114 /17/1334 12/155 721 A

数据仓库

哈尔滨工业大学华德应用技术学院实验报告 课程名称:数据仓库与数据挖掘 系别:计算机应用技术系 专业:软件工程 学号:1099111130 姓名:陈天任 学期:2012春季学期 实验成绩:

实验项目列表 序号实验名称成绩1SQL Server Integration Services 2SQL Server Analysis Services 3SQL Server Reporting Services 4 5 6 7 8 9 10 11 12 指导教师签字:

实验名称:实验一SQL Server Integration Services 实验时间:2012.4.17实验地点:S201 实验目的:熟悉数据仓库的ETL操作,熟悉SQL Server2005中SSIS的使用;熟练掌握平面文件、excel文件和sql server三者之间的数据转换; 实验步骤:启动SSMS,在sql server2005中新建一个数据库命名为dw。在dw数据库上单击鼠标右键,在弹出的快捷菜单中,选择“任务→导入数据”,设置表名字T2、选择文件源类型excel、选择文件地址、选择导入的数据库dw、设置字段名、设置字段类型。所有的设置完成点击“完成”.打开数据库,查看表,刷新,导入完成。 在Microsoft SQL Server2005中启动SQL Server Business Intelligence Development Studio,在文件菜单中选择“新建→项目”,在弹出的新建项目对话框中选择,填好名称和位置后,点击确定。(1)在Microsoft SQL Server2005的dw数据库中,新建user表,结构如下一图:新建系别表,结构如下二图: (2)控制流中添加数据流任务,数据流中添加 ,,。 (3)设置平面文件源,源文件text1,设置OLE DB,第四列“系别编号”参照新建的系别表中的“编号”,将test1中的前三列及系别表中的系别列导入到dw数据库中的user表中,建立三者的关系,点击文件点启动,等三个控件都变成绿色代表导入成功。 3.将AdventureWorks数据Production.TransactionHistoryArchive表里

数据仓库的多维数据模型定义 作用 实例

数据仓库的多维数据模型定义作用实例 2010年08月19日06:53 来源:网站数据分析作者:佚名编辑:李伟评论:0条 本文Tag:信息化频道商业智能数据仓库参考文献BI行业信息化【IT168 信息化】 可能很多人理解的数据仓库就是基于多维数据模型构建,用于OLAP的数据平台,通过上一篇文章——数据仓库的基本架构,我们已经看到数据仓库的应用可能远不止这些。但不得不承认多维数据模型是数据仓库的一大特点,也是数据仓库应用和实现的一个重要的方面,通过在数据的组织和存储上的优化,使其更适用于分析型的数据查询和获取。 多维数据模型的定义和作用 多维数据模型是为了满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其基本的应用是为了实现OLAP (Online Analytical Processing)。 当然,通过多维数据模型的数据展示、查询和获取就是其作用的展现,但其真的作用的实现在于,通过数据仓库可以根据不同的数据需求建立起各类多维模型,并组成数据集市开放给不同的用户群体使用,也就是根据需求定制的各类数据商品摆放在数据集市中供不同的数据消费者进行采购。 多维数据模型实例 在看实例前,这里需要先了解两个概念:事实表和维表。事实表是用来记录具体事件的,包含了每个事件的具体要素,以及具体发生的事情;维表则是对事实表中事件的要素的描述信息。比如一个事件会包含时间、地点、人物、事件,事实表记录了整个事件的信息,但对时间、地点和人物等要素只记录了一些关键标记,比如事件的主角叫“Michael”,那么Michael到底“长什么样”,就需要到相应的维表里面去查询“Michael”的具体描述信息了。基于事实表和维表就可以构建出多种多维模型,包括星形模型、雪花模型和星座模型。这里不再展开了,解释概念真的很麻烦,而且基于我的理解的描述不一定所有人都能明白,还是直接上实例吧:

数据仓库维度模型知识点记录

1.生命周期 a)业务需求定义 i.收集需求 ii.分析业务 iii.数据仓库建立总线矩阵 iv.项目规划 b)维度建模、 i.建模过程 1.标识需要建模的业务过程 2.声明粒度 3.标识和选择维度 4.标识和选择事实 ii.维度表 1.代理键 a)日期维度可以使用20140101这样的智能键,智能键可以用来分区 2.渐变维度 a)SCD1 直接更新 b)SCD2 标记维度的时间作用域,插入新数据,增加新行 c)SCD3 不同的列记录不同时间域的值,增加新列 d)将经常变化属性集合为小维度表 3.退化维度 a)没有对应维度表的非事实属性:类似于订单ID 4.支架维度/引用维度 a)比较类似于雪花模型,例如顾客的生日属性可以链接到日期维度表。 日期维度表就是顾客维度的支架维度 5.多值维度 a)使用桥接表实现 b)事实与维度的多值关系 i.例如订单的为多商户分成,可以通过一个商户分组链接表实现, 订单事实中记录商户分组的ID,分组链接表中分行记录不同商 户的账号ID及其分成 c)维度与维度的多值关系 i.例如用户帐户维度与消费自然人客户维度有多对多关系。因此在 帐户维度表与自然人维度表中加入一个“帐户与客户关系”桥接 表。记录 d)可变层次展示 i.例如职员与职员间隶属关系:可以使用桥接表记录每个职员与其 所有下属之间的隶属距离和其下属的直接上司,就可以层次化的 表示出职员之间关系 6.角色扮演维 a)例如下单日期维度和退款日期维度都是通过视图链接到日期维度表, 这两个维度都是角色扮演维。 7.杂项维度 a)慎用杂项维度

b)将小维度合并组成杂项维度。 iii.事实表 1.事务型事实 2.周期快照事实 3.累计快照事实 4.没有事实的事实 a)例如用户登录行为事实,其只有维度没有度量,那么添加一个值永远 为1的login_cnt字段为度量,方便sum 5.面向状态的事实表 a)例如帐户余额其实对应了一个具体的自然人,在自然人的地理位置变 化后,该自然人维度会有SCD 2的转换,可能代理键从1 – 2.帐户余 额需要做一个SCD 2的转换,将自然人维度引用该为2.其实是为了查 询任意时间点,某个地理位置的帐户余额总和 c)物理设计和ETL开发 i.源数据探查 1.出具数据剖析表来记录字段的类型,数据分布等 ii.子系统 1.提取 a)数据剖析:KETTLE有插件datacleaner实现 i.NULL值判断 ii.字符串匹配 iii.数值分布报表 iv.正则表达式匹配等 b)更改数据捕获系统:KETTLE c)提取系统:KETTLE的INPUT节点的功能 2.清理和一致化:KETTLE已经实现 a)数据清洗 i.转换数据类型 ii.重命令列等 b)数据检验 i.Kettle提供了流读取功能来验证数据是否错误 1.取值范围是否合规 2.关系完整性是否存在 3.是否符合状态机规则(例如没有支付日期时就不应该有支付 状态) 4.一般依赖约束:例如派生列和其父列是否满足约束 c)错误事件模式:KETTLE的错误流节点 i.过程错误:trans step等出错 ii.数据校验错误 iii.过滤器错误 iv.一般步骤错误 v.ETL工具箱中描述的错误事件数据分析表能够起作用 d)审核维度汇编器:KETTLE通过统计节点实现 i.审计事实细节:数据从哪里来,什么时候加载,在那个服务器上

数据仓库概念的简单理解

数据仓库概念的简单理解 一个典型的企业数据仓库系统通常包含数据源、数据存储与管理、OLAP服务器以及前端工具与应用四个部分。如下图所示: 数据源: 是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于企业操作型数据库中(通常存放在RDBMS中)的各种业务数据和办公自动化(OA)系统包含的各类文档数据。外部信息包括各类法律法规、市场信息、竞争对手的信息以及各类外部统计数据及各类文档等;数据的存储与管理: 是整个数据仓库系统的核心。在现有各业务系统的基础上,对数据进行抽取、清理,并有效集成,按照主题进行重新组织,最终确定数据仓库的物理存储结构,同时组织存储数据仓库元数据(具体包括数据仓库的数据字典、记录系统定义、数据转换规则、数据加载频率以及业务规则等信息)。按照数据的覆盖范围,数据仓库存储可以分为企业级数据仓库和部门级数据仓库(通常称为“数据集市”,Data Mart)。数据仓库的管理包括数据的安全、归档、备份、维护、恢复等工作。这些功能与目前的DBMS基本一致。 OLAP服务器: 对分析需要的数据按照多维数据模型进行再次重组,以支持用户多角度、多层次的分析,发现数据趋势。其具体实现可以分为:ROLAP、MOLAP和HOLAP。ROLAP 基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;而HOLAP是ROLAP与MOLAP的综合,基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。 前端工具与应用: 前端工具主要包括各种数据分析工具、报表工具、查询工具、数据挖掘工具以及各种基于数据仓库或数据集市开发的应用。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具既针对数据仓库,同时也针对OLAP服务器。? 集线器与车轮状结构的企业级数据仓库 ?

数据仓库建模

背景介绍 熟悉社保行业的读者可以知道,目前我们国家的社保主要分为养老,失业,工伤,生育,医疗保险和劳动力市场这6 大块主要业务领域。在这6 大业务领域中,目前的状况养老和事业的系统已经基本完善,已经有一部分数据开始联网检测。而,对于工伤,生育,医疗和劳动力市场这一块业务,有些地方发展的比较成熟,而有些地方还不够成熟。 1.业务建模阶段 基于以上的背景介绍,我们在业务建模阶段,就很容易来划分相应的业务。因此,在业务建模阶段,我们基本上确定我们本次数据仓库建设的目标,建设的方法,以及长远规划等。如下图: 图8. 业务建模阶段 在这里,我们将整个业务很清楚地划分成了几个大的业务主线,例如:养老,失业,工伤,生育,医疗,劳动力等着几个大的部分,然后我们可以根据这些大的模块,在每个业务主线内,考虑具体的业务主线内需要分析的业务主题。 因此,业务建模阶段其实是一次和业务人员梳理业务的过程,在这个过程中,不仅能帮助我们技术人员更好的理解业务,另一方面,也能够发现业务流程中的一些不合理的环节,加以改善和改进。 同时,业务建模阶段的另一个重要工作就是确定我们数据建模的范围,例如:在某些数据准备不够充分的业务模块内,我们可以考虑先不建设相应的数据模型。等到条件充分成熟的情况下,我们可以再来考虑数据建模的问题。 2.领域概念建模阶段领域概念建模阶段是数据仓库数据建模的一个重要阶段,由于我们在业务建模阶段已经完全理清相应的业务范围和流程,因此,我们在这个领域概念建模阶段的最主要的工作就是进行概念的抽象,整个领域概念建模的工作层次如下图所示:

图9. 领域概念建模阶段 从上图我们可以清楚地看到,领域概念建模就是运用了实体建模法,从纷繁的业务表象背后通过实体建模法,抽象出实体,事件,说明等抽象的实体,从而找出业务表象后抽象实体间的相互的关联性,保证了我们数据仓库数据按照数据模型所能达到的一致性和关联性。 从图上看,我们可以把整个抽象过程分为四个层次,分别为: ?抽象方法层,整个数据模型的核心方法,领域概念建模的实体的划分通过这种抽象方法来实现。 ?领域概念层,这是我们整个数据模型的核心部分,因为不同程度的抽象方法,决定了我们领域概念的不同。例如:在这里,我们可以使用“参与方”这个概念,同时,你也可以把他分成三个概念:“个人”,“公司”,和“经办机构”这三个概念。而我们在构建自己的模型的时候,可以参考业务的状况以及我们自己模型的需要,选择抽象程度高的概念或者是抽象程度低的概念。相对来说,抽象程度高的概念,理解起来较为复杂,需要专业的建模专家才能理解,而抽象程度低的概念,较适合于一般业务人员的理解,使用起来比较方便。笔者在这里建议读者可以选用抽象概念较低的实体,以方便业务人员和技术人员之间的交流和沟通。 ?具体业务层,主要是解决具体的业务问题,从这张图我们可以看出,具体的业务层,其实只是领域概念模型中实体之间的一些不同组合而已。因此,完整的数据仓库的数据模型应该能够相应灵活多变的前端业务的需求,而其本身的模型架构具有很强的灵活性。这也是数据仓库模型所具备的功能之一。 ?业务主线层,这个层次主要划分大的业务领域,一般在业务建模阶段即已经完成这方面的划分。 我们一般通过这种大的业务主线来划分整个业务模型大的框架。 通过领域概念建模,数据仓库的模型已经被抽象成一个个的实体,模型的框架已经搭建完毕,下面的工作就是给这些框架注入有效的肌体。

多维数据建模

多维数据模型 很多研究表明,随着数据的积累,达到一定规模后,目前数据库领域中的几种数据模型已经不能满足数据日益增长的需求。很难为决策支持服务。而且这些传统的数据模型主要运用在面向事物的分析处理中。为了满足对大量数据进行分析处理,需要一种新的模型来实现数据的组织。多维数据模型以描述分析数据的多维特征为目标,最终形成一个模拟现实的多维逻辑视图。在多维数据模型中,数据可分为两部分,第一部分是决策者要分析的对象,通常称为事实,它包含的是一些度量信息。第二部分是决策者进行分析时考察的角度,通常称为维,它包含的是关于度量的描述性信息。多维数据建模技术是数据仓库,OLAP的基础。在实际应用中,由于信息的不完全,不精确,导致很难完全划分出一个明确的不相交界。在对多维数据建模技术的研究上,许多学者提出了相关的模型。最主要的是普通多维数据模型研究。 Li和Wang根据OLAP应用的特点,引入了一种称作分组代数的查询语言,对多维数据进行了形式化的描述。他们在多维立方体基础上引入了一种分组代数,为多维分析和OLAP应用提供了一种独立的,公开的方法。该模型的优点在于:它是真正意义上的概念模型,具有较强的描述能力,同时还提供了一套称为分组代数的代数查询语言。然而由于它只能映射到一个单一的数值,,因此只能描述一个单一的数值,而不能描述复杂的事实。同时它也没有考虑到维层次之间的部分包含关系,对于非到上的维层次关系等复杂维结构也没有较好的解决方案。 Gyssens和Lakshmanan对结构化的形式和内容进行了明确的区分,为其模型引入了代数操作描述以及相应的微积分操作描述,其研究主要集中在概念层,并没有涉及到具体实现细节。 纵观多维数据模型,以代数的结构,特别是偏序关系和映射概念为基础,借助于高等数学中的微积分等知识给出多维数据的模型。这些模型往往都只考虑一类或者几类关系。往往都是基于数学上的理论,给出的比较复杂的模型,或者是给出相对数学上约束比较宽松,但是精确度不够的一些模型。 在处理多维数据模型的中的最主要的一点事如何处理好事实和维,如何能在多维数据的任意一个维上使用聚集函数处理度量属性和描述属性,这是很重要的一点。此外多维数据的聚集技术也有待我们更一步的发掘和完善,精确地数学计算和精确地确定性这是聚集技术的一个重要方向。 在多维数据的模型上,我们目前做出的仅仅是一点点开始,还有许多理论有待开发和研究,以便于寻找更加优化的模型来处理多维数据。

数据仓库设计文档模板

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

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

星型模型和雪花模型(数据仓库设计模型)

We are often told that one of the benefits of OBI EE is the speed and ease of development. Data sources can easily be added into the system, users can then quickly build queries and the results are easy to distribute. While I completely support this, to me this leaves a few questions when you go beyond the slick sales demos: do we need a Data Warehouse? How do we deal with data quality? How do we test? How do we ensure our great looking reports get from our development environment to our production environment and still display the same data? This posting just concentrates on the Data Warehouse. Think of the project if we didn’t need a Data Warehouse, initially in terms of cost: no database license required, no ETL/Data Warehouse development required, no ongoing maintenance and maybe in the eyes of the business no black hole of money and time where the hairy developers go away, grumble about data quality and take longer than everyone thought. Think of all this new way from a business point of view: there is a new reporting requirement, they sit down with a business analyst, add the data source into the physical and then business model, graphically create the joins, and 10 minutes later the data is on the CEO’s dashboard, marvelous, and not a hairy developer type to be found anywhere in the process, so no cost and no hold-ups. But wait a minute: why have we been spending money developing Data Warehouses over the past couple of decades? What was the Data Warehouse actually doing? For starters, they prevented queries being run against the live transactional systems. Query and analysis tools can be very powerful, and hence can generate complex queries. If each of these queries was being run against the live systems then performance would be impacted, plus the reporting system would be dependent on all the systems being live all the time. Thus loading all the data into a ‘reporting database’ protected the transactional systems. (我们应该防止SQL query直接在我们的transactional systems 上运行,这样会影响我们的application system) But what about our real-time Data Warehouse, managers need up to the minute information to make informed decisions? Real-time Data Warehouses can be a double-edged sword, it is great to have up the minute information, but the downside is that reports keep on changing; it becomes more difficult to reconcile information or to get a consistent view of the organization. Sometimes it is actually useful to have a static view of the data for 24 hours. Real-time Data Warehousing can also be implemented using replication features like Change Data Capture in the database if required. Data Warehouses also offer a number of functional advantages: They can store historic data that may have been archived from the transactional system. They can store the history of dimensions, so facts can be correctly categorized when they happened. They can store data from different systems. They can store the data in a way that makes it easy and efficient for users to query, this means that a large volume of data can be accessed and used effectively.

数据仓库的数据模型

业务驱动 任何需求均来源于业务,业务决定了需求,需求分析的正确与否是关系到项目成败的关键所在,从任何角度都可以说项目是由业务驱动的所以数据仓库项目也是由业务所驱动的. 但是数据仓库不同于日常的信息系统开发,除了遵循其他系统开发的需求,分析,设计,测试等通常的软件声明周期之外;他还涉及到企业信息数据的集成,大容量数据的阶段处理和分层存储,数据仓库的模式选择等等,因此数据仓库的物理模型异常重要,这也是关系到数据仓库项目成败的关键. 数据仓库的结构总的来说是采用了三级数据模型的方式: 概念模型: 也就是业务模型,由企业决策者,商务领域知识专家和IT专家共同企业级地跨领域业务系统需求分析的结果. 逻辑模型:用来构建数据仓库的数据库逻辑模型。根据分析系统的实际需求决策构建数据库逻辑关系模型,定义数据库物体结构及其关系。他关联着数据仓库的逻辑模型和物理模型这两头. 物理模型:构建数据仓库的物理分布模型,主要包含数据仓库的软硬件配置,资源情况以及数据仓库模式。 如上图所示,在数据仓库项目中,物理模型设计和业务模型设计象两个轮子一样有力的支撑着数据仓库的实施,两者并行不悖,缺一不可.实际上,我有意的扩大了物理模型和业务模型的内涵和外延.在这里物理模型不仅仅是数据的存储,而且也包含了数据仓库项目实施的方法论,资源,以及软硬件选型等等;而业务模型不仅仅是主题模型的确立,也包含了企业的发展战略,行业模本等等. 一个优秀的项目必定会兼顾业务需求和行业的标准两个方面,业务需求即包括用户提出的实际需求,也要客观分析它隐含的更深层次的需求,但是往往用户的需求是不明确的,需要加以提炼甚至在商务知识专家引导下加以引导升华,和用户一起进行需求分析工作;不能满足用户的需求,项目也就失去原本的意义了. 物理模型就像大厦的基础架构,就是通用的业界标准,无论是一座摩天大厦也好,还是茅草房也好,在架构师的眼里,他只是一所建筑,地基->层层建筑->封顶,这样的工序一样也不能少,关系到住户的安全,房屋的建筑质量也必须得以保证,唯一的区别是建筑的材料,地基是采用钢筋水泥还是石头,墙壁采用木质还是钢筋水泥或是砖头;当然材料和建筑细节还是会有区别的,视用户给出的成本而定;还有不可忽视的一点是,数据仓库的数据从几百GB到几十TB不等,即使支撑这些数据的RDBMS无论有多么强大,仍不可避免的要考虑到数据库的物理设计. 接下来,将详细阐述数据仓库概念模型(业务模型),逻辑模型,物理模型的意义. 概念模型设计 进行概念模型设计所要完成的工作是: 界定系统边界 确定主要的主题域及其内容

飘雪场景 物理模型 LBM 风场建模 D3Q7晶格模型 三维雪花模型

飘雪场景论文:D3Q7晶格离散三维脉动风场中的飘雪模拟 【中文摘要】自然景观中飘雪的模拟,可以大大提高虚拟场景的 逼真效果。雪花形态的不规则性、运动的无规律性以及受环境因素影响大的特点,使其建模方式和运动描述都非常困难。真实感的飘雪模 拟是要让雪花粒子真正的浸入到风场中。为此,本文着重从以下几方 面进行研究和探讨。首先,分析现有关于空气动力学的文献,确定自然界中脉动风的特征,用D3Q7晶格模型改进风场的建模方法。用LBM建立风场模型时,人们对风的随机运动的描述只是简单的在风粒子的运 动方程中引入一个或几个外力来模拟风粒子运动的随机性,与风的运 动轨迹相差较大。而D3Q7晶格模型可以更好的描述粒子各个方向运 动的随机性,从而更逼真的模拟风的运动,进一步对浸入风场中雪粒 子进行受力分析,以模拟出真实度更为逼真的飘雪场景。其次,对雪粒子进行受力分析,给出其沿网格线的运动方式。通过计算得出来的雪 粒子的位置和三维空间的网格点不一定完全对应,采用概率分析的方 法进行处理,保证了雪花粒子的平均位置随预期速度流变化的同时, 沿着晶格线运动。既模拟了雪花飘动的随机性,又保证了雪花粒子的 飘动在宏观上是准确的。再次,采用分形画线的方法,构造出三维的雪花。以往的飘雪场景中构造的雪花模型都是二维... 【英文摘要】The simulation of snow in the natural landscape could greatly enhance the realistic effect of the virtual scene. The features, such as the irregular shape of snowflakes, the

相关文档
最新文档