关于数据仓库的数据模型的思考

关于数据仓库的数据模型的思考
关于数据仓库的数据模型的思考

关于数据仓库的数据模型的思考

任何需求均来源于业务,业务决定了需求,需求分析的正确与否是关系到项目成败的关键所在,从任何角度都可以说项目是由业务驱动的所以数据仓库项目也是由业务所驱动的.

业务驱动

任何需求均来源于业务,业务决定了需求,需求分析的正确与否是关系到项目成败的关键所在,从任何角度都可以说项目是由业务驱动的所以数据仓库项目也是由业务所驱动的.

但是数据仓库不同于日常的信息系统开发,除了遵循其他系统开发的需求,分析,设计,测试等通常的软件声明周期之外;他还涉及到企业信息数据的集成,大容量数据的阶段处理和分层存储,数据仓库的模式选择等等,因此数据仓库的物理模型异常重要,这也是关系到数据仓库项目成败的关键.

数据仓库的结构总的来说是采用了三级数据模型的方式:

概念模型: 也就是业务模型,由企业决策者,商务领域知识专家和IT专家共同企业级地跨领域业务系统需求分析的结果.

逻辑模型:用来构建数据仓库的数据库逻辑模型。根据分析系统的实际需求决策构建数据库逻辑关系模型,定义数据库物体结构及其关系。他关联着数据仓库的逻辑模型和物理模型这两头.

物理模型:构建数据仓库的物理分布模型,主要包含数据仓库的软硬件配置,资源情况以及数据仓库模式。

logic phic

如上图所示,在数据仓库项目中,物理模型设计和业务模型设计象两个轮子一样有力的支撑着数据仓库的实施,两者并行不悖,缺一不可.实际上,我有意的扩大了物理模型和业务模型的内涵和外延.在这里物理模型不仅仅是数据的存储,而且也包含了数据仓库项目实施的方法论,资源,以及软硬件选型等等;而业务模型不仅仅是主题模型的确立,也包含了企业的发展战略,行业模本等等.

一个优秀的项目必定会兼顾业务需求和行业的标准两个方面,业务需求即包括用户提出的实际需求,也要客观分析它隐含的更深层次的需求,但是往往用户的需求是不明确的,需要加以提炼甚至在商务知识专家引导下加以引导升华,和用户一起进行需求分析工作;不能满足用户的需求,项目也就失去原本的意义了.

物理模型就像大厦的基础架构,就是通用的业界标准,无论是一座摩天大厦也好,还是茅草房也好,在架构师的眼里,他只是一所建筑,地基->层层建筑->封顶,这样的工序一样也不能少,关系到住户的安全,房屋的建筑质量也必须得以保证,唯一的区别是建筑的材料,地基是采用钢筋水泥还是石头,墙壁采用木质还是钢筋水泥或是砖头;当然材料和建筑细节还是会有区别的,视用户给出的成本而定;还有不可忽视的一点是,数据仓库的数据从几百GB到几十TB不等,即使支撑这些数据的RDBMS无论有多么强大,仍不可避免的要考虑到数据库的物理设计.

接下来,将详细阐述数据仓库概念模型(业务模型),逻辑模型,物理模型的意义.

概念模型设计

进行概念模型设计所要完成的工作是:

?界定系统边界

?确定主要的主题域及其内容

?确定主题域的关系

概念模型设计是,在原有的业务数据库的基础上建立了一个较为稳固的概念模型。因为数据

仓库是对原有数据库系统中的数据进行集成和重组而形成的数据集合,所以数据仓库的概念模型设计,首先要对原有数据库系统加以分析理解,看在原有的数据库系统中“有什么”、“怎样组织的”和“如何分布的”等,然后再来考虑应当如何建立数据仓库系统的概念模型。一方面,通过原有的数据库的设计文档以及在数据字典中的数据库关系模式,可以对企业现有的数据库中的内容有一个完整而清晰的认识;另一方面,数据仓库的概念模型是面向企业全局建立的,它为集成来自各个面向应用的数据库的数据提供了统一的概念视图。

概念模型的设计是在较高的抽象层次上的设计,因此建立概念模型时不用考虑具体技术条件的限制。

1.界定系统的边界

数据仓库是面向决策分析的数据库,我们无法在数据仓库设计的最初就得到详细而明确的需求,但是一些基本的方向性的需求还是摆在了设计人员的面前:

. 要做的决策类型有哪些?

. 决策者感兴趣的是什么问题?

. 这些问题的需要什么样的信息?

. 要得到这些信息需要包含原有数据库系统的哪些部分的数据?

这样,我们可以划定一个当前的大致的系统边界,集中精力进行最需要的部分的开发。因而,从某种意义上讲,界定系统边界的工作也可以看作是数据仓库系统设计的需求分析,因为它将决策者的数据分析的需求用系统边界的定义形式反映出来。

2,确定主要的主题域

在这一步中,要确定所包含的主题域,然后对每个主题域的内容进行较明确数据仓库建模技术在XX行业中的应用的描述,描述的内容包括:

. 主题域的公共码键;

. 主题域之间的联系:

. 充分代表主题的属性组。

概念模型的构建通常是企业的shakeholder,商务领域知识专家和IT专家共同企业级地跨领域业务系统需求分析的结果.

通常企业决策者有自己的发展战略和规划, 他们会定期阅读由各部门经理上报的分析报告,他们也知道大致了解自己企业信息系统的功能, 但是未必清楚自己的每一个业务系统的每一个功能和每一部分数据,毕竟决策者不是信息专家,他们更关心的企业的经营业绩,资产负

债,盈亏受益等等核心指标.

各个部门经理往往很了解自己部门的信息系统,在信息系统规划时优先考虑的是自己的利益,因此每个部门往往都在独立的构建自己的信息系统,无法或者不可能从企业总体角度和其他业务系统接轨,如ERP系统,MIS系统,CRM系统等等,这就造成了企业在发展企业信息系统时的不平衡,导致了所谓的孤岛效应,他们会阅读下属提供的分析报告,然后进行归纳整理,形成部门报表进行上报,但是最终结果却是每个部门都在上报自己的经营业绩,却始终缺乏一个一致的统一的数字.

普通用户更关注的是某一类与工作相关的报表,包括报表的数据准确性,报表的样式,图标格式这类的细节.

而IT部门负责企业IT系统的预算,采购,但是因为职能部门不同,无法深入了解各个信息系统的业务.

有这么一句话:如果你想实施某个企业信息系统,你必须能够具备担当这个企业副总的能力.这就要求项目负责人能够站在企业的战略高度考虑,同时具备很高的协调能力和管理能力;所以必须引入商务领域知识专家和IT专家的角色(就是通常所说的咨询顾问),这些人往往具备比较资深的行业背景,具备丰富的独立实施该行业信息系统建设的经验,了解该行业最先进和通用的标准和规范,同时在结合现有企业信息系统的基础上,以及融合企业发展战略的基础上,提出当前企业的业务模型,来帮助企业提高决策支持分析能力,但是这样的模型不能太超前,太超前则意味脱离了实际,不具备实际可操作性;当然更不能停留在于企业目前的信息建设水平上,否则就失去了意义.

logic phic

逻辑模型设计

逻辑建模是数据仓库实施中的重要一环,因为它能直接反映出业务部门的需求,同时对系统的物理实施有着重要的指导作用。通过实体和关系勾勒出真个企业的数据蓝图。

在这一步里进行的工作主要有:

?分析丰富主题域,确定当前要装载的主题;

?确定粒度层次划分;

?确定数据分割策略;

?关系模式定义;

?记录系统定义

逻辑模型设计的成果是,对每个当前要装载的主题的逻辑实现进行定义,并将相关内容记录在数据仓库的元数据中,包括:

?适当的粒度划分;

?合理的数据分割策略;

?适当的表划分;

?定义合适的数据来源等。

1.分析主题域

在概念模型设计中,我们确定了几个基本的主题域,但是,数据仓库的设计方法是一个逐步求精的过程,在进行设计时,一般是一次一个主题或一次若干个主题地逐步完成的。所以,我们必须对概念模型设计步骤中确定的几个基本主题域进行分析,一并选择首先要实施的主题域。选择第一个主题域所要考虑的是它要足够大,以便使得该主题域能建设成为一个可应用的系统;它还要足够小,以便于开发和较快地实施。如果所选择的主题域很大并且很复杂,我们甚至可以针对它的一个有意义的子集来进行开发。在每一次的反馈过程中,都要进行主题域的分析。具体的实施细节需要和AAA业务部门和信息中心沟通。

2.粒度层次划分

数据仓库逻辑设计中要解决的一个重要问题是决定数据仓库的粒度划分层次,粒度层次划分适当与否直接影响到数据仓库中的数据量和所适合的查询类型。由于主题数据库响应企业级业务OLTP需求,所以必须保存最细类度数据,同时根据业务部门的查询需求考虑确定多重粒度来提高复杂查询速度。

3.确定数据分割策略

在这一步里,要选择适当的数据分割的标准,一般要考虑以下几方面因素:数据量〔而非记录行数)、数据分析处理的实际情况、简单易行以及粒度划分策略等。数据量的大小是决定是否进行数据分割和如何分割的主要因素;数据分析处理的要求是选择数据分割标准的一个主要依据,因为数据分割是跟数据分析处理的对象紧密联系的;我们还要考虑到所选择的数据分割标准应是自然的、易于实施的:同时也要考虑数据分割的标准与粒度划分层次是适应的。

4.关系模式定义

数据仓库的每个主题都是由多个表来实现的,这些表之间依靠主题的公共码键联系在一起,形成一个完整的主题。在概念模型设计时,我们就确定了数据仓库的基本主题,并对每个主题的公共码键、基本内容等做了描述在这一步里,我们将要对选定的当前实施的主题进行模式划分,形成多个表,并确定各个表的关系模式。

物理模型设计

这一步所做的工作是根据信息系统的容量,复杂度,项目资源以及数据仓库项目自身的软件生命周期确定数据仓库系统的软硬件配置,数据仓库分层设计模式,数据的存储结构,确定索引策略,确定数据存放位置,确定存储分配等等。这部分应该是由项目经理和数据仓库架构师共同实施的.

确定数据仓库实现的物理模型,要求设计人员必须做到以下几方面:

1. 确定项目资源

根据预算和业务需求,并参考以往的数据仓库项目经验,对该项目的成本周期和资源进行估算.

关于项目周期的估算,主要基于ETL函数功能点以及加权后的复杂度进行估算,因为ETL过程占据了整个数据仓库项目的70%,;ETL过程主要是基于源<=>目的的原则进行处理的,而不同的功能点具有不同的复杂度,通过以往项目经验和专家评估,然后再根据软件生命周期的划分,可以有效的得知项目的整体周期.

关于人员的估算,主要取决于人员的工作经验,素养,对新技术的掌握能力,还要考虑到人员流动等方面的人员备份.

协作,每一个IT企业都应该具备一个丰富的技能和人力资源库,当项目资源遇到瓶颈的时候,就可以考虑需求协作.

2. 确定软硬件配置

数据仓库项目与其他业务系统不同,尤其需要对数据容量进行估算,这是因为数据仓库是历史的稳定的基于主题的集成的等等特性所决定的,他是对以往历史数据的集成,如果项目初期不加以考虑,很快就会造成灾难性的后果.

数据仓库的容量估算应该是可预见的,首先确定核心明细数据的存储年限,相关表的平均字段长度值*每年的记录数*(每年预计的增长),然后再加上20%的冗余,以及磁盘预留的20%的冗余,我们不难得到数据仓库的预计容量.

数据仓库的处理能力和容量息息相关,也和具体的关系数据库的性能息息相关,如何在Oracle,SQLServer,DB,Sybase甚至MySQL 之间寻找平衡,既要考虑实际的预算,也要视实际的需求而定.

关于硬件的配置,既需要发挥软件的功能,满足实际的处理要求,也要为将来的系统扩展保留一定的空间.

3. 数据仓库存储设计

数据仓库一般采用分层设计,即ODS层,数据仓库层,数据仓库聚合层数据集市等等;数据仓库的分层是灵活的,没有固定的模式,一切视实际情况而定.

?ODS层存放从原系统采集来的原始交易数据,只保存一定期限内的数据,同时ODS支持部分近实时性报表的展示.

?数据仓库层保存经过清洗,转换和重新组织的历史业务数据,数据将保留较长时间(5~10年不等),满足系统最细粒度的查询需要.

?数据仓库聚合层面向KPI指标计算和分析,支持汇总层面交易级的指标查询,提高汇总级的KPI数据展示速度和数据保存时间。保存较长的历史数据.

?数据集市是基于部门或者某一类特定分析主题需要,

数据仓库模型的设计

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 设计存储策略

数据仓库的数据模型

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

数据仓库

哈尔滨工业大学华德应用技术学院实验报告 课程名称:数据仓库与数据挖掘 系别:计算机应用技术系 专业:软件工程 学号: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表里

数据仓库安全模型分析

数据仓库安全模型分析 摘要:对数据仓库安全模型进行了分析,讨论了现有的数据仓库安全模型,并对数据仓库安全模型的发展方向进行了展望。关键词:数据仓库数据仓库安全安全模型 数据仓库是在以事务处理为主要任务的数据库基础上发展起来的,但是它与数据库有着根本的不同。数据仓库的主要特征是面向主题的、集成的、与时间相关的、不可修改的数据集合[1]。数据仓库是一种决策支持系统,它主要是对企业决策提供强有力的支持,因此它的安全性更加重要。因为数据仓库中数据的丢失将损害企业的决策,所以数据仓库的安全性相对于数据库来说更为重要。 近几年来,虽然对数据仓库的研究较多,但是控制对数据仓库的访问却是一个正在发展的技术领域,对数据仓库的安全控制方面的研究仍旧涉及很少。对数据仓库的安全控制和对于传统的操作型数据库的安全控制是不同的。数据仓库的控制有着更高的复杂性,原因主要在于数据仓库的建立目的与限制对数据的访问是矛盾的;数据仓库中存在着不同粒度的数据;数据仓库中的数据是以多维的方式存在的。这些因素决定了数据仓库安全的研究是一个复杂的领域。目前对于数据仓库安全性的研究还比较少,国内还处于起步阶段,但是它却有着极其重要的现实意义。本文主要是通过对几个数据仓库安全模型的研究,对数据仓库安全性目前研究的主要内容、现状和发展趋势进行了分析,并给出了一些模型的应用实例。 1 数据仓库安全模型 一个好的安全模型是数据仓库安全性的重要保障。现存的许多数据仓库在设计阶段都没有能够很好地在数据仓库的安全方面进行很好的设计,这使得在数据仓库建成之后再添加关于安全方面的设计时成本大增,而且在数据仓库建成之后再实施安全策略时也比较困难。因此在设计阶段就设计好数据仓库的安全模型对于构建一个安全的数据仓库有着极其重要的意义。本文主要分析了四种关于数据仓库和OLAP的安全模型。 1.1 基于元数据的数据仓库安全模型设计 元数据是描述数据仓库内数据的结构和建立方法的数据。元数据是数据仓库中很重要的一部分,它将会影响数据仓库中所有的层次,常被开发者用来管理控制和开发数据仓库。元数据也是用户访问数据仓库的一部分,它常被用来控制访问控制和分析数据。 通过对元数据的控制来加强数据仓库的安全性,这种情况下与安全主题和客体相关的访问规则被以元数据的形式存储。当一个用户访问数据仓库中的数据时,安全查询机制层将会查询这个访问是否被允许。为了保证查询的正确进行,可通过分析“安全元数据”来分析相应的访问许可机制。 N.Katic于1998年提出一个基于元数据的安全模型[2]。这是通过“安全管理者”的方式来实现的。通过它可以管理、定义、描述用户和用户群体。此外还设置了一个安全查询管理层(SQML),它的作用是通过检查是否允许一个任务的执行来过滤用户的查询。图1描述了这个安全模型。 此模型的主要作用是如果用户企图查询他没有访问权限的数据,则由“安全管理者”和“信息服务器”可以把用户想查询而又没有查询权限的那部分数据过滤掉,而只把他可以访问的那些数据返回给他。这种操作对于用户来说是透明的,用户并不知道还有些数据他没有访问到。数据仓库的信息对于用户来说好像是提供了他所需要的所有数据。这是一个很重要的安全策略,使用户不知道自己被禁止了部分数据,因而他不会去试图访问他原本看不到的数据。这样也极大地增强了数据仓库中数据的安全性。

数据仓库多维数据模型的设计

1、数据仓库基本概念 1.1、主题(Subject) 主题就是指我们所要分析的具体方面。例如:某年某月某地区某机型某款App的安装情况。主题有两个元素:一是各个分析角度(维度),如时间位置;二是要分析的具体量度,该量度一般通过数值体现,如App安装量。 1.2、维(Dimension) 维是用于从不同角度描述事物特征的,一般维都会有多层(Level:级别),每个Level 都会包含一些共有的或特有的属性(Attribute),可以用下图来展示下维的结构和组成:以时间维为例,时间维一般会包含年、季、月、日这几个Level,每个Level一般都会有ID、NAME、DESCRIPTION这几个公共属性,这几个公共属性不仅适用于时间维,也同样表现在其它各种不同类型的维。 1.3、分层(Hierarchy) OLAP需要基于有层级的自上而下的钻取,或者自下而上地聚合。所以我们一般会在维的基础上再次进行分层,维、分层、层级的关系如下图:

每一级之间可能是附属关系(如市属于省、省属于国家),也可能是顺序关系(如天周年),如下图所示: 1.4、量度 量度就是我们要分析的具体的技术指标,诸如年销售额之类。它们一般为数值型数据。我们或者将该数据汇总,或者将该数据取次数、独立次数或取最大最小值等,这样的数据称为量度。 1.5、粒度 数据的细分层度,例如按天分按小时分。 1.6、事实表和维表 事实表是用来记录分析的内容的全量信息的,包含了每个事件的具体要素,以及具体发

生的事情。事实表中存储数字型ID以及度量信息。 维表则是对事实表中事件的要素的描述信息,就是你观察该事务的角度,是从哪个角度去观察这个内容的。 事实表和维表通过ID相关联,如图所示: 1.7、星形/雪花形/事实星座 这三者就是数据仓库多维数据模型建模的模式 上图所示就是一个标准的星形模型。 雪花形就是在维度下面又细分出维度,这样切分是为了使表结构更加规范化。雪花模式可以减少冗余,但是减少的那点空间和事实表的容量相比实在是微不足道,而且多个表联结操作会降低性能,所以一般不用雪花模式设计数据仓库。 事实星座模式就是星形模式的集合,包含星形模式,也就包含多个事实表。

数据仓库的开发设计过程

数据仓库之路 FAQ FAQ目录 一、与数据仓库有关的几个概念 (3) 1.1 目录 (3) 二、数据仓库产生的原因 (8) 三、数据仓库体系结构图 (11) 四、数据仓库设计 (12) 4.1 数据仓库的建模 (12) 4.2 数据仓库建模的十条戒律: (13) 五、数据仓库开发过程 (14) 5.1 数据模型的内容 (14) 5.2 数据模型转变到数据仓库 (14)

5.3 数据仓库开发成功的关键 (15) 六、数据仓库的数据采集 (16) 6.1 后台处理 (17) 6.2 中间处理 (17) 6.3 前台处理 (18) 6.4 数据仓库的技术体系结构 (18) 6.5 数据的有效性检查 (20) 6.6 清除和转换数据 (20) 6.7 简单变换 (22) 6.8 清洁和刷洗 (24) 6.9 集成 (25) 6.10 聚集和概括 (27) 6.11 移动数据 (27) 七、如何建立数据仓库 (30) 7.1 数据仓库设计 (31) 7.2 数据抽取模块 (32) 7.3 数据维护模块 (33)

一、与数据仓库有关的几个概念 1.1 目录 ?Datawarehouse ?Datamart ?OLAP ?ROLAP ?MOLAP ?ClientOLAP ?DSS ?ETL ?Adhocquery ?EIS ?BPR ?BI ?Datamining ?CRM ?MetaData Data warehouse 本世纪80年代中期,“数据仓库之父”William H.Inmon先生在其《建立数据仓库》一书中定义了数据仓库的概念,随后又给出了更为精确的定义:数据仓

数据仓库建模

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

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

数据仓库设计文档模板

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

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

数据仓库模型建设规范1.0

数据仓库模型建设规范 1.概述 数据仓库不同于日常的信息系统开发,除了遵循其他系统开发的需求、分析、设计、测试等通常的软件生命周期之外,它还涉及到企业信息数据的集成,大容量数据的阶段处理和分层存储,数据仓库的模式选择等等,因此数据仓库的模型设计异常重要,这也是关系到数据仓库项目成败的关键。 物理模型就像大厦的基础架构,就是通用的业界标准,无论是一座摩天大厦也好,还是茅草房也好,在架构师的眼里,他只是一所建筑,地基—层层建筑—封顶,这样的工序一样也不能少,关系到住户的安全,房屋的建筑质量也必须得以保证,唯一的区别是建筑的材料,地基是采用钢筋水泥还是石头,墙壁采用木质还是钢筋水泥或是砖头;当然材料和建筑细节还是会有区别的,视用户给出的成本而定;还有不可忽视的一点是,数据仓库的数据从几百GB到几十TB不等,即使支撑这些数据的RDBMS无论有多么强大,仍不可避免地要考虑数据库的物理设计。 数据仓库建模的设计目标是模型的稳定性、自适应性和可扩展性。为了做到这一点,必须坚持建模的相对独立性、业界先进性原则。 2.数聚模型架构 在数聚项目实施过程,我们一般将数据仓库系统的数据划分为如下图所示几个层次。

2.1.数据架构图

2.2.架构工作方法规范

2.3.准备层L0 2.3.1.主要数据结构 临时表:从数据源抽取,直接落地到临时表。临时表总是保存这次抽取的数据,不保留历史数据。也就是说,如果是全量抽取的话,就是源系统整个表的数据,如果 是增量抽取的话,就是自从上次修改后的数据。 接口表:从临时表,经过清洗、转换到达接口表。接口表保存历史数据,也就是说,如果是全量抽取的话,就是源系统整个表的数据,如果是增量抽取的话。 接口表里面也是源系统整个表的数据。 转换表:为了进行清洗和转换建立的中间辅助表。 2.3.2.命名规范 临时表:L0_TMP_源系统_具体业务或 L0_TMP_业务主题_具体业务(对单一源)举例:L0_TMP_POS_SALESORDER 接口表:L0_DCI_业务主题_具体业务表 举例:L0_DCI_SALES_SALESORDER 转换表:L0_MAP_具体业务表 举例:L0_MAP_SALES 2.3.3.开发工作 ●开发数据抽取接口,落地TMP区 ●开发数据清洗转换程序,落地DCI区,多源系统进行合并 ●开发数据装载程序,装载到L1层 2.4.原子层L1 2.4.1.主要数据结构 维度表:整个数据仓库一致的维度 代码表:维度属性,非维度代码等。 原子事实表:根据业务主题,形成原子事实表 汇总事实表:根据分析主题,业务主题形成合并或汇总的事实表。

数据仓库建模与ETL实践技巧

一、数据仓库的架构 数据仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库,它的数据基于OLTP源系统。数据仓库中的数据是细节的、集成的、面向主题的,以OLAP系统的分析需求为目的。 数据仓库的架构模型包括了星型架构(图二:pic2.bmp)与雪花型架构(图三:pic3.bmp)两种模式。如图所示,星型架构的中间为事实表,四周为维度表,类似星星;而相比较而言,雪花型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表达了清晰的维度层次关系。 从OLAP系统的分析需求和ETL的处理效率两方面来考虑:星型结构聚合快,分析效率高;而雪花型结构明确,便于与OLTP系统交互。因此,在实际项目中,我们将综合运用星型架构与雪花型架构来设计数据仓库。 那么,下面我们就来看一看,构建企业级数据仓库的流程。 二、构建企业级数据仓库五步法 (一)、确定主题 即确定数据分析或前端展现的主题。例如:我们希望分析某年某月某一地区的啤酒销售情况,这就是一个主题。主题要体现出某一方面的各分析角度(维度)和统计数值型数据(量度)之间的关系,确定主题时要综合考虑。 我们可以形象的将一个主题想象为一颗星星:统计数值型数据(量度)存在于星星中间的事实表;分析角度(维度)是星星的各个角;我们将通过维度的组合,来考察量度。那么,“某年某月某一地区的啤酒销售情况”这样一个主题,就要求我们通过时间和地区两个维度的组合,来考察销售情况这个量度。从而,不同的主题来源于数据仓库中的不同子集,我们可以称之为数据集市。数据集市体现了数据仓库某一方面的信息,多个数据集市构成了数据仓库。 (二)、确定量度 在确定了主题以后,我们将考虑要分析的技术指标,诸如年销售额之类。它们一般为数值型数据。我们或者将该数据汇总,或者将该数据取次数、独立次数或取最大最小值等,这样的数据称为量度。 量度是要统计的指标,必须事先选择恰当,基于不同的量度可以进行复杂关键性能指标(KPI)等的设计和计算。

数据仓库与数据挖掘课程设计报告书

目录 1. 绪论 (2) 1.1项目背景 (2) 1.2 提出问题 (2) 2 数据库仓库与数据集的概念介绍 (2) 2.1数据仓库 (2) 2.2数据集 (3) 3 数据仓库 (3) 3.1 数据仓库的设计 (3) 3.1.1数据仓库的概念模型设计 (3) 3.1.2数据仓库的逻辑模型设计 (3) 3.2 数据仓库的建立 (4) 3.2.1数据仓库数据集 (4) 3.2.2建立维表 (4) 4.数据挖掘操作 (5) 4.1数据预处理 (5) 4.1.1描述性数据汇总 (5) 4.2决策树 (5) 5、实验心得 (13) 6、大总结 (14)

1. 绪论 1.1项目背景 在现在大数据时代,各行各业需要对商品及相关关节的数据进行收集处理,尤其零售行业,于企业对产品的市场需求进行科学合理的分析,从而预测出将来的市场,制定出高效的决策,给企业带来经济收益。 1.2 提出问题 对于超市的商品的购买时期和购买数量的如何决定,才可以使销售量最大,不积压商品,不缺货,对不同时期季节和不同人群制定不同方案,使企业收益最大,通过数据挖掘对数据进行决策树分析,关联分析,顺序分析与决策分析等可以制定出最佳方案。 2 数据库仓库与数据集的概念介绍 2.1数据仓库 数据仓库是为企业所有级别的决策制定过程提供支持的所有类型数据的战略集合。它是单个数据存储,出于分析性报告和决策支持的目的而创建。为企业提供需要业务智能来指导业务流程改进和监视时间、成本、质量和控制。 数据仓库是决策系统支持(dss)和联机分析应用数据源的结构化数据环境。

数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。 2.2数据集 数据集是指一种由数据所组成的集合。Data set(或dataset)是一个数据的集合,通常以表格形式出现。每一列代表一个特定变量。每一行都对应于某一成员的数据集的问题。它列出的价值观为每一个变量,如身高和体重的一个物体或价值的随机数。每个数值被称为数据资料。对应于行数,该数据集的数据可能包括一个或多个成员。 3 数据仓库 3.1 数据仓库的设计 3.1.1数据仓库的概念模型设计 概念模型的设计是整个概念模型开发过程的三阶段。设计阶段依据概念模型分析以及分析过程中收集的任何数据,完成星型模型和雪花型模型的设计。如果仅依赖ERD,那只能对商品、销售、客户主题设计成如图所示的概念模型。这种模型适合于传统的数据库设计,但不适合于数据仓库的设计。 3.1.2数据仓库的逻辑模型设计 逻辑建模是数据仓库实施中的重要一环,因为它能直接反映出各个业务的需求,同时对系统的物理实施有着重要的指导作用,它的作用在于可以通过实体和关系勾勒出企业的数据蓝图,数据仓库的逻辑模型设计任务主要有:分析主题域,确定要装载到数据仓库的主题、确认粒度层次划分、确认数据分割策略、关系模式的定义和记录系统定义、确认数据抽取模型等。逻辑模型最终设计成果包

数据仓库建模方法

每个行业有自己的模型,但是不同行业的数据模型,在数据建模的方法上,却都有着共通的基本特点。什么是数据模型 数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。 在这里,数据模型表现的抽象的是实体和实体之间的关系,通过对实体和实体之间关系的定义和描述,来表达实际的业务中具体的业务关系。 数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型,一般的来说, 我们数据仓库模型分为几下几个层次。 图 2. 数据仓库模型 通过上面的图形,我们能够很容易的看出在整个数据仓库得建模过程中,我们需要经历一般四个过程: ?业务建模,生成业务模型,主要解决业务层面的分解和程序化。 ?领域建模,生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。 ?逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。 ?物理建模,生成物理模型,主要解决,逻辑模型针对不同关系型数据库的物理化以及性能等一些具体的技术问题。 因此,在整个数据仓库的模型的设计和架构中,既涉及到业务知识,也涉及到了具体的技术,我们既需要了解丰富的行业经验, 同时,也需要一定的信息技术来帮助我们实现我们的数据模型,最重要的是,我们还需要一个非常适用的方法论,来指导我们自己针对我们的业务进行抽象,处理,生成各个阶段的模型。 为什么需要数据模型 在数据仓库的建设中,我们一再强调需要数据模型,那么数据模型究竟为什么这么重要呢?首先我们需要了解整个数据仓库的建设的发展史。 数据仓库的发展大致经历了这样的三个过程: ?简单报表阶段:这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,

数据仓库模型的设计

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

关于数据仓库的数据模型的思考

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

数据仓库-数据建模过程

目录 一、数据仓库建模模式: (1) 1.自顶向下: (1) 2.自底向上: (1) 二、数据仓库设计重点步骤: (1) 1.概念模型设计(客观世界->主观世界) (1) 1)业务数据理解和需求分析; (1) 2)分析主题和元数据; (1) 2.逻辑模型设计(主观世界->关系模型) (3) 1)事实表及其度量和粒度确定; (3) 2)维度确定; (3) 3.物理模型设计(关系模型->存储模型) (5) 1)数据仓库的物理存储方式 (5) 三、cube展示 (5) 一、数据仓库建模模式: 1.自顶向下: 先通过ETL将数据汇集到数据仓库中,然后再通过数据复制的方式推进各个数据集 市; 2.自底向上: 先通过ETL将数据汇集到数据集市中,然后再数据复制的方式提升到数据仓库中; 二、数据仓库设计重点步骤: 1.概念模型设计(客观世界->主观世界) 1)业务数据理解和需求分析; 如:这次我主要针对营帐中的应收金额做简单的数据模型,主要分析应收金额, 从各个维度去分析和了解应收金额的情况; 2)分析主题和元数据; a)

转换为星型图为: b)主题和元数据 主题:分析应收金额 元数据:表格中分析出的的维度,类别层次以及度量都属于元元素 元数据:定义了数据仓库中的许多对象—--表,列,查询,规则以及数据仓库内部的数据转移;

2.逻辑模型设计(主观世界->关系模型) 1)事实表及其度量和粒度确定; 根据对应收的分析,分析出事实表(主键+外键+度量字段)和粒度 注:设计事实表时,尽量的使事实表尽可能的小,可以提高事实表的处理,备份以及查询的性能,可通过减少列的数量,降低列的大小等方式。 如果事实表的数据量过大,可以采用数据分割的方式,将数据按照一定的规 则分割,如可以按照时间按月来分割成多个部分,或者按年来分割,来降低数 据量。 度量值:应收金额 粒度:取的是精确到天。 事实表:FACT_RPT_AI 字段如下: SEQNO 序列号 CREATETIME 创建日期 AIMONTH 归属月 AI_NO 费用表外键 OPID 操作员表外键 ORGID 组织结构表外键 CUSTID 客户表外键 ACCTID 账户表外键 SERVICEACCOUNTID 用户表外键 PRODUCTID 产品表外键 STID 用户所属街道 SERVICEID 品牌 PACKAGEID 产品包 VALUE 应收金额 SETOFFAMOUNT 销账金额 2)维度确定; a)时间维度:日,月,年,建立相应的维度表(Dimtime),表结构如下: PKID 主键 the_day 日 the_month 月 he_year 年 b)区域维度:街道,区域,市, 相应的维度表(DimDISTRICT) ,表结构如下: STID 主键 STNAME 街道 T_STNAME 区域 c)组织机构维度:一级,二级,三级,四级(DimOrganization) ,表结构如下:

Oracle数据仓库设计指南

Oracle数据仓库设计指南 在一般的数据仓库应用系统中,根据系统体系结构的不同,数据仓库设计的内容和范围不尽相同,并且设计方法也不尽相同,下面的两幅图示分别表示带有ODS的数据仓库应用系统体系结构和不带ODS的数据仓库应用系统体系结构。本文将说明两个体系结构上的差异以及这种差异造成的设计方法的不同,并且重点介绍带有ODS的体系结构中数据仓库的设计方法。 在数据仓库的设计指导思想中,数据仓库的概念定义是非常重要的,数据仓库概念规定了数据仓库所具有的几个基本特性,这些特性也正是对数据仓库设计结果进行检验的重要依据。 根据Bill.Inmon的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统”。 ODS(Operational Data Store)是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据。 一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用: 1)在业务系统和数据仓库之间形成一个隔离层 一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中,从这些业务系统对数据进行抽取并不是一件容易的事。因此,ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极大降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。 2)转移一部分业务系统细节查询的功能 在数据仓库建立之前,大量的报表、分析是由业务系统直接支持的,在一些比较复杂的报表生成过程中,对业务系统的运行产生相当大的压力。ODS的数据从粒度、组织方式等各个方面都保持了与业务系统的一致,那么原来由业务系统产生的报表、细节数据的查询自然能够从ODS中进行,从而降低业务系统的查询压力。 3)完成数据仓库中不能完成的一些功能 一般来说,带有ODS的数据仓库体系结构中,DW层所存储的数据都是进行汇总过的数据,并不存储每笔交易产生的细节数据,但是在某些特殊的应用中,可能需要对交易细节数据进行查询,这时就需要把细节数据查询的功能转移到ODS来完成,而且ODS的数据模型按照面向主题的方式进行存储,可以方便地支持多维分析等查询功能。

相关文档
最新文档