简述数据仓库的特点点之一是其数据具有多个维度

出自 MBA智库百科()
(重定向自)
  是一种近年来出现的、发展迅速的技术,它将企业内各种跨平台的数据经过集成,为企业决策者进行市场分析并做出决策提供了有效的途径。的开发是由驱动的,数据仓库的创建过程中是最关键的技术环节,它直接决定数据仓库的成败。因此,要成功地创建一个数据仓库,必须有一个合理的数据模型。
  数据模型是对现实事物的反映和抽象,它可以帮助我们更加清晰地了解客观世界。数据仓库建模在业务需求分析之后开始,是数据仓库构造的正式开始。在创建数据仓库的数据模型时应考虑:
  (1)满足不同层次不同用户的。
  (2)兼顾查询效率与数据粒度的需求。数据粒度与查询效率往往是相互矛盾的,细小的粒度保证了的灵活性,但降低了查询的效率。因此,建模要提供足够的数据粒度,并保证查询的效率。
  (3)适应需求的变化。用户的信息需求随着的变化,建模要考虑支持需求的变化。
  (4)避免业务运营系统的性能影响。由于数据仓库系统中数据增长迅速,运行占用大量资源,建模要考虑尽量减少业务运营系统的性能的影响。
  (5)提供可扩展性。数据模型的可扩展性决定了数据仓库对新的需求的适应能力,建模既要考虑眼前的信息需求,也要考虑未来的需求。
  合理而完备的数据模型是用户业务需求的体现,是数据仓库成败的技术因素。因此,数据模型的创建能直接反映出业务需求,对系统的物理实施起着指导性的作用,是数据仓库的核心问题。
  数据仓库的实现策略有多种, 面向主题的自顶而下的设计方法, 其实面向主题就是面向对象。数据仓库包含的对象可以是:、、策略等多维概念。终端用户通过各种维度来获取商业数据, 其中时间是最基本、最关键的维度。数据仓库的数据建模分为3个层次: 高层建模、中间层建模、底层建模, 其设计方法同传统的一样经历了概念模型设计、逻辑模型设计和物理模型设计3 个阶段, 对于面向主题的数据仓库, 数据建模的具体方法有多种, 这里介绍的是信息包图设计、星型图模型设计和物理数据模型设计:
  ;  1.高层建模方法——
  高层建模(ERD,实体关系层),其特点是实体和关系,属概念模型设计阶段,也就是通常所说的需求分析,在与用户交流的过程中,确定数据仓库所需要访问的信息,这些信息包括当前、将来以及与历史相关的数据。在需求分析阶段确定操作数据、数据源以及一些附加数据,设计容易理解的数据模型,有效地完成查询和数据之间的映射。
  由于数据仓库的多维性,利用传统的进行需求分析己不能满足需要。超立方体(hypercube)用超出三维的表示来描述一个对象,显然具备多维特性,完全可以满足数据仓库的多维特性。利用方法设计一个超立方体的步骤为:(1)确定模型中需要抓住的商业过程,例如销售活动或;(2)确定需要捕获的值,例如销售数量或成本,这些信息通常是一些数值;(3)确定数据的粒度,亦即需要捕获的最低一级的详细信息。
  由于超立方体在表现上缺乏直观性,尤其当维度超出三维后,数据的采集和表示都比较困难,因此我们可以采用一种称为信息包图的方法在平面上展开超立方体,即用二维表格反映多维特征。
  信息包图提供了一个多维空间建立用户信息模型的方法,它提供了超立方体的可视化表示。
  信息包图集中在用户对信息包的需要,它定义主题内容和主要性能测试指标之间的关系,其目标就是满足用户需要。信息包图拥有3个重要对象:指标、维度和类别,而类别是在一个维度内为了提供详细分类而定义的,利用信息包图设计概念模型需要确定如下这3大内容:确定指标。指标表明在维度空间上衡量商务信息的一种方法,是访问数据仓库的关键所在,是用户最关心的信息。成功的信息包可以保证用户从信息包中获取需要的各个性能指标参数。
  确定维度。维度提供了用户访问数据仓库信息的途径,对应超立方体的每一面,位于的第一行的每一个栏目中。
  确定类别。类别表示一个维度包含的详细信息,其中的成员是为了辨别和区分特定数据而设,一个维度内最底层的可用的分类又称为详细类别。
  对于复杂的商业要求进行需求分析时,有时一张信息包图不能反映所有情况,可能需要设计不同的信息包图来满足全部需求,此时应该保证多个信息包图中出现的维度信息和类别信息完全一致。
  2.中间层建模方法——星形图设计
  高层数据模型建好后,下一步就是中间层建模(DIS,数据项集),对高层模型中标识的每个实体都要建一个中间层模型。数据仓库主要提供的是查询操作,而最便于执行查询操作的逻辑模型设计工具是,因此可以利用星形图来设计数据仓库的逻辑模型。
  星形图因其外观似五角星而得名,它支持以商务决策者的观点定义数据实体,满足面向主题数据仓库设计的需要,而信息包图又为星形图的设计提供了完备的概念基础。同信息包图中的3个对象对应,星形图拥有以下3个逻辑实体的定义。
  定义指标实体。位于星形图中心的实体是指标实体,是用户最关心的基本实体和查询活动的中心,为用户的商务活动提供。使用每一个指标,同时确定是否存储经过计算的指标。
  定义维度实体。位于星形图星角上的实体是维度实体,其作用是限制用户的查询结果,将数据过滤使得从指标实体查询返回较少的行,从而缩小访问范围。一个维度实体对应指标实体中多个指标。一个维度实体对应信息包图中的一个列。
  定义详细类别实体。详细类别实体,对应现实世界的某一实体。一个维度内的每个单元就是一个类别,代表该维度内的一个单独层次,要求更加详细的信息才能满足用户的需要,与对应的事务数据库结构产生映射。
  在星形图中,用户通过维度实体获得指标实体数据,其中指标实体与维度实体间的联系通过每个维度中的最低一层的详细类别实体连接。
  当多个信息包图转换成星形图时,可能出现维度实体的交叉重叠,为了保证实体的一致性需要进行统一处理,确定它们是同一实体在不同层次上的数据反映,还是两个不同的实体。当多个维度实体相关并且存在共性时,可能需要将其合并为一个指标实体。
  3.底层建模方法——星形图转换为物理数据模型
  底层建模(物理层),从逻辑模型转向物理模型设计,完全遵循传统的数据库设计方法。一般来说,星形图中的指标实体和详细类别实体通常转变为一个具体的物理数据库表,而维度实体则作为查询参考、过滤和聚合数据使用,因此通常并不直接转变为物理数据库表。在物理模型设计阶段,需要确定以下内容:定义数据标准。数据仓库中的各种数据。
  定义实体和实体特征。完整定义实体所具有的一切属性,决定数据的粒度与分割,当然要加入与每个数据单元相关的时间元。
  定义规模。确定数据容量和更新频率。
  对于传统的系统,我们总是按照应用来建立它的模型,换言之,OLTP系统是面向应用的。而数据仓库则一般按照主题 (Subject)来建模,它是面向主题的。何谓应用?何谓主题?让我们来看一个简单的例子。在银行中,一般都有对私 ()、对公 ()、等多种,它们都是面向应用的,所支持的交易类型简单而且固定。由于实施的先后等原因,这些系统可能运行在不同的平台上,相互之间没有什么关系,各系统之间的数据存在冗余。比如每个系统中都会有的数据,当针对银行建立其数据仓库应用时,要把上述中的数据转换到数据仓库中来。从整个银行的角度来看,其数据模型不再面向个别应用,而是面向整个银行的主题,比如客户、、等。因此,各个中与客户、产品、等相关的信息将分别转换到数据仓库中相应的主题中,从而在整个银行的业务界面上提供一个一致的信息视图。
  模型是对现实事物的反映和抽象,它可以帮助我们更加清晰的了解客观世界。数据仓库建模在业务需求分析之后开始,是数据仓库构造工作正式开始的第一步,正确而完备的数据模型是用户业务需求的体现,是数据仓库项目成功与否最重要的技术因素。
  的具有业务复杂、机构复杂、系统庞大的特点,因此金融行业数据仓库建模必须注意以下几个方面,
  ——满足不同用户的需求
  金融行业的十分复杂,数据仓库系统涉及的业务用户众多,在进行数据模型设计的时候必须兼顾不同业务产品、不同、不同层次、不同级别用户的信息需求。
  数据仓库应该支持企业的各种业务,比如对行业应该考虑财产险、货物运输险、工程险、等不同业务的特点;不同的对信息的需求各有不同,应考虑业务、、、等各个部门的需要;不同层次的组织所关心的信息不同,数据模型应支持地市公司、省公司和的信息需求;是知识密集型的企业,的显著特征是智能员工()占企业员工的大多数,数据仓库必须支持所有相关智能型员工的信息需求,包括高层领导、基层领导和普通员工。
  ——兼顾效率与数据粒度的需要
  数据粒度和查询效率从来都是矛盾的,细小的数据粒度可以保证信息访问的灵活性,但同时却降低了查询的效率并占用大量的存储空间,数据模型的设计必须在这矛盾的两者中取得平衡,优秀的数据模型设计既可以提供足够详细的数据支持又能够保证查询的效率。
  ——支持需求的变化
  用户的信息需求随着市场的变化而变化,所以需求的变化只有在停顿的时候才会停止,而且随着竞争的激化,会越来越频繁。数据模型的设计必须考虑如何适应和满足需求的变化。
  ——避免对业务运营系统造成影响
  金融企业的数据仓库系统是一个每天都在长大的庞然大物,它的运行很容易占用很多的资源,比如网络资源、系统资源,在进行数据模型设计的时候也需要考虑如何减少对业务系统性能的影响。
  ——考虑未来的可扩展性
  数据仓库系统是一个与企业同步发展的有机体,数据模型作为数据仓库的灵魂必须提供可扩展的能力,在进行数据模型设计时必须考虑未来的发展,更多的非核心业务数据如人事数据、市场数据、竞争对手数据等必须可以方便的加入到数据仓库,而不需要对数据仓库中原有的系统进行大规模的修改。
  大规模的数据仓库系统特别是金融行业数据仓库的从技术角度划分应当包含三个部分,如下图所示,
  1.分段存储区(Staging Area)
  由于数据仓库中的数据结构和组织方式具有很大差异、所有原始业务系统的数据必须经过严格的抽取、映射和转换,数据的整合过程十分复杂,通常会耗费比较长的处理时间。如果从业务系统直接抽取数据到数据仓库,必定会占用许多业务系统的资源和时间,为了避免影响的运行,我们在数据模型的设计中引入分段存储区的概念。
  分段存储区(Staging Area)是为了保证数据移动的顺利进行而开设的阶段性数据存储空间,它是业务系统原始数据进入数据仓库前的缓存区。需要进入数据仓库的各个业务系统的数据首先直接快速传输到分段存储区,再从分段存储区经过清洗、转换、映射等复杂的数据移动处理转移到目标数据仓库中。从业务系统到分段存储区的数据传输,应尽量避免进行复杂的数据处理,以保证数据的快速导入而尽量减小对业务系统造成的压力。分段存储区的数据有和文件两种不同存储方式,分别对应于不同运营系统的数据源。数据成功导入数据仓库之后,应清空分段存储区中的数据。
  在数据仓库系统的运行和使用过程中,分段存储区的作用主要体现在以下几个方面,
可以减少对业务系统资源的占用,避免复杂数据转换对业务系统的影响
根据经验,跨越网络特别是的操作会大大降低数据处理的效率,而且处理的复杂程度越高,网络对处理效率的影响越严重,分段存储区可以大大加速数据仓库后台数据数据处理过程的实现;
分段存储区作为数据缓存区,可以在一定程度上屏蔽业务系统变化对数据移动整合系统的影响
如果在数据处理过程中发生系统故障,作为数据仓库系统的备份数据,可以直接从分段存储区进行数据仓库数据恢复,而不必要再从业务系统原始数据开始。
  2.基础数据仓库(BaseLine)
  基础数据仓库存储所有最详细的业务数据。该层数据直接来源于对分段存储区数据的清洗和加工,属于未经汇总的数据,但数据的组织方式可能已经完全不同于原始的业务系统。根据业务需求的不同,基础数据仓库的以三范式模型为主,在有的系统中也可能采用星型或雪花模型。
  通常在金融企业的数据仓库系统中,基础数据仓库数据包括未经汇总的客户交易数据,用户资料数据、客户服务数据等,此外一些相关数据如网络利用,,成本投资数据也包括在内。由于基础数据仓库数据是对原始业务数据的原形再现,所以数据量会非常庞大,根据不同业务的需要数据保留的时间在6个月到两年不等。
  3.()
  根据业务需求将数据仓库数据分类成几个不同的数据集市,每个数据集市完成不同的分析和查询需求,数据集市中的数据通常由基础数据仓库的详细数据聚合而来,根据数据聚合程度的不同包含轻度聚合、中度聚合和高度聚合三种不同的层次。汇总的方式将依据数据量的大小和使用频度综合考虑。
张叶娥.数据仓库建模技术之比较[J].福建电脑,-42.
杨军.数据仓库的数据建模[J].盐城工学院学报(自然科学版)2004年第02期
本条目对我有帮助9
&&如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请。
本条目相关文档
& 4页& 2页& 4页& 5页& 4页& 3页
本条目由以下用户参与贡献
(window.slotbydup=window.slotbydup || []).push({
id: '224685',
container: s,
size: '728,90',
display: 'inlay-fix'
评论(共0条)提示:评论内容为网友针对条目"数据仓库模型"展开的讨论,与本站观点立场无关。
发表评论请文明上网,理性发言并遵守有关规定。
以上内容根据网友推荐自动排序生成博客访问: 1793538
博文数量: 1613
博客积分: 19423
博客等级: 上将
技术积分: 16069
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: IT职场
数据仓库中商务智能的基本概念
指标维度----维度表指标值------事实表
树形汇总星型模型
维度空间(时间、地区、产品、部门、ROI,销量,利润率)指标(维度表)--X年X月某公司某产品利润,某部门的管理费用数值(事实表)--某部门某月份的所有管理费用类凭证挖掘(某维度的明细维度,某指标值的明细清单)分析(关联,趋势,)
指标是事实
指标是维度空间的一个点
维度中的一维具有内部结构(树形结构,分组分类)
多个维度构成一个指标
一个指标具有数值(指标值)
指标值来源于事实表(统计汇总)
阅读(3228) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。漫谈数据仓库之维度建模 - 简书
漫谈数据仓库之维度建模
下面的内容,是笔者在学习和工作中的一些总结,其中概念性的内容大多来自书中,实践性的内容大多来自自己的工作和个人理解。由于资历尚浅,难免会有很多错误,望批评指正!
数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容:
以Hadoop、Spark、Hive等组建为中心的数据架构体系。
各种数据建模方法,如维度建模。
调度系统、元数据系统、ETL系统、可视化系统这类辅助系统。
我们暂且不管数据仓库的范围到底有多大,在数据仓库体系中,数据模型的核心地位是不可替代的。
因此,下面的将详细地阐述数据建模中的典型代表:维度建模,对它的的相关理论以及实际使用做深入的分析。
本文将按照下面的顺序进行阐述:
先介绍比较经典和常用的数据仓库模型,并分析其优缺点。
详细介绍维度建模的基本概念以及相关理论。
为了能更真切地理解什么是维度建模,我将模拟一个大家都十分熟悉的电商场景,运用前面讲到的理论进行建模。
理论和现实的工作场景毕竟会有所差距,这一块,我会分享一下企业在实际的应用中所做出的取舍。
0x01 经典数据仓库模型
下面将分别介绍四种数据仓库模型,其中前三种模型分别对应了三本书:《数据仓库》、《数据仓库工具箱》和《数据架构 大数据 数据仓库以及Data Vault》,这三本书都有中文版,非常巧的是,我只有三本数据仓库的书,正好对应了这三种理论。
Anchor模型我并不是特别熟悉,放在这里以供参考。
一、实体关系(ER)模型
数据仓库之父Immon的方法从全企业的高度设计一个3NF模型,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF,它与OLTP系统中的3NF的区别,在于数据仓库中的3NF上站在企业角度面向主题的抽象,而不是针对某个具体业务流程的实体对象关系抽象,它更多的是面向数据的整合和一致性治理,正如Immon所希望达到的:“single version of the truth”。
但是要采用此方法进行构建,也有其挑战:
需要全面了解企业业务和数据
实施周期非常长
对建模人员的能力要求也非常高
二、维度模型
维度模型是数据仓库领域另一位大师Ralph Kimall所倡导,他的《The DataWarehouse Toolkit-The Complete Guide to Dimensona Modeling,中文名《数据仓库工具箱》,是数据仓库工程领域最流行的数仓建模经典。维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。
典型的代表是我们比较熟知的星形模型,以及在一些特殊场景下适用的雪花模型。
三、DataVault
DataVault是Dan Linstedt发起创建的一种模型方法论,它是在ER关系模型上的衍生,同时设计的出发点也是为了实现数据的整合,并非为数据决策分析直接使用。它强调建立一个可审计的基础数据层,也就是强调数据的历史性可追溯性和原子性,而不要求对数据进行过度的一致性处理和整合;同时也基于主题概念将企业数据进行结构化组织,并引入了更进一步的范式处理来优化模型应对源系统变更的扩展性。
它主要由:Hub(关键核心业务实体)、Link(关系)、Satellite(实体属性) 三部分组成 。
四、Anchor模型
Anchor模型是由Lars. R?nnb?ck设计的,初衷是设计一个高度可扩展的模型,核心思想:所有的扩展只是添加而不是修改,因此它将模型规范到6NF,基本变成了K-V结构模型。
Anchor模型由:Anchors 、Attributes 、Ties 、Knots 组成,相关细节可以参考《AnchorModeling-Agile Information Modeling in Evolving Data Environments》
0x02 维度建模
一、什么是维度建模
维度模型是数据仓库领域大师Ralph Kimall所倡导,他的《数据仓库工具箱》,是数据仓库工程领域最流行的数仓建模经典。维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。
我们换一种方式来解释什么是维度建模。学过数据库的童鞋应该都知道星型模型,星型模型就是我们一种典型的维度模型。我们在进行维度建模的时候会建一张事实表,这个事实表就是星型模型的中心,然后会有一堆维度表,这些维度表就是向外发散的星星。那么什么是事实表、什么又是维度表吗,下面会专门来解释。
二、维度建模的基本要素
维度建模中有一些比较重要的概念,理解了这些概念,基本也就理解了什么是维度建模。
发生在现实世界中的操作型事件,其所产生的可度量数值,存储在事实表中。从最低的粒度级别来看,事实表行对应一个度量事件,反之亦然。
额,看了这一句,其实是不太容易理解到底什么是事实表的。
比如一次购买行为我们就可以理解为是一个事实,下面我们上示例。
图中的订单表就是一个事实表,你可以理解他就是在现实中发生的一次操作型事件,我们每完成一个订单,就会在订单中增加一条记录。
我们可以回过头再看一下事实表的特征,在维度表里没有存放实际的内容,他是一堆主键的集合,这些ID分别能对应到维度表中的一条记录。
每个维度表都包含单一的主键列。维度表的主键可以作为与之关联的任何事实表的外键,当然,维度表行的描述环境应与事实表行完全对应。 维度表通常比较宽,是扁平型非规范表,包含大量的低粒度的文本属性。
我们的图中的用户表、商家表、时间表这些都属于维度表,这些表都有一个唯一的主键,然后在表中存放了详细的数据信息。
下面我们将以电商为例,详细讲一下维度建模的建模方式,并举例如果使用这个模型(这点还是很重要的)。
一、业务场景
假设我们在一家电商网站工作,比如某宝、某东。我们需要对这里业务进行建模。下面我们分析几点业务场景:
电商网站中最典型的场景就是用户的购买行为。
一次购买行为的发起需要有这几个个体的参与:购买者、商家、商品、购买时间、订单金额。
一个用户可以发起很多次购买的动作。
好,基于这几点,我们来设计我们的模型。
二、模型设计
下面就是我们设计出来的数据模型,和之前的基本一样,只不过是换成了英文,主要是为了后面写sql的时候来用。
![Uploading p3_414705.png . . .]
我就不再解释每个表的作用了,现在只说一下为什么要这样设计。
首先,我们想一下,如果我们不这样设计的话,我们一般会怎么做?
如果是我,我会设计下面这张表。你信不信,我能列出来50个字段!其实我个人认为怎么设计这种表都有其合理性,我们不论对错,单说一下两者的优缺点。
先说我们的维度模型:
数据冗余小(因为很多具体的信息都存在相应的维度表中了,比如用户信息就只有一份)
结构清晰(表结构一目了然)
便于做OLAP分析(数据分析用起来会很开心)
增加使用成本,比如查询时要关联多张表
数据不一致,比如用户发起购买行为的时候的数据,和我们维度表里面存放的数据不一致
再说我们这张大款表的优缺点:
业务直观,在做业务的时候,这种表特别方便,直接能对到业务中。
使用方便,写sql的时候很方便。
数据冗余巨大,真的很大,在几亿的用户规模下,他的订单行为会很恐怖
粒度僵硬,什么都写死了,这张表的可复用性太低。
三、使用示例
数据模型的建立必须要为更好的应用来服务,下面我先举一个例子,来切实地感受一下来怎么用我们的模型。
需求:求出2016年在帝都的男性用户购买的LV品牌商品的总价格。
SUM(order.money)
date.year = '2016'
AND user.sex = 'male'
AND address.province = '帝都'
AND product.name = 'LV'
维度建模是一种十分优秀的建模方式,他有很多的优点,但是我们在实际工作中也很难完全按照它的方式来实现,都会有所取舍,比如说为了业务我们还是会需要一些宽表,有时候还会有很多的数据冗余。
作者: | |
个人主页:文章可以转载, 但必须以超链接形式标明文章原始出处和作者信息
擅长写bug,精通ctrl+c/v大量数据需要多层次多维度分析 - 数据分析员的个人空间 - 世界经理人管家
- Powered by X-Space
大量数据需要多层次多维度分析
& 20:49:05
/ 个人分类:
背景提示:数据库存储的数据量从20世纪80年代的兆字节及千兆字节过渡到现在的兆兆字节和千兆兆字节,在此时同样的,用户的查询需求也越来越复杂,涉及的已不仅是查询或操纵一张关系表中的一条或几条记录,而且要对多张表中千万条记录的数据进行和信息综合,关系数据库系统已不能全部满足这一要求。    SOLAP产品是润乾为满足决策支持和多维环境特定查询和报表需求倾力打造的OLAP(联机分析处理)产品,其功能注重从多维角度观察数据组成、横向比对和纵向趋势变化等情况; 在短时间内响应非数据处理人员的复杂查询要求。    SOLAP具有灵活的分析功能、直观的数据操作和分析结果可视化表示等突出优点,从而使用户对基于大量复杂数据的分析变得轻松而高效,以利于迅速做出正确判断。    比如,经理不仅仅关注汇总性的销售业绩数据,更多的是要实时了解具体到某些销售人员在每天、每月、每季度及每年的详细销售清单,“实时”是一个非常复杂的做法,因此SOLAP就发挥着不可替代的作用。    SOLAP不仅提供基本的维设置、测度设定、旋转、切片、钻取、分析、统计图等全面的在线分析功能,还有丰富的细节设定,如数据的显示风格,满足用户个性化制定。  SOLAP通过对信息的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许决策人员对数据进行深入观察。SOLAP专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握的经营状况,了解对象的需求,制定正确的方案。
站内搜索:
输入您的搜索字词
提交搜索表单

我要回帖

更多关于 数据仓库的特点包括 的文章

 

随机推荐