数据仓库建模与etl实践技巧.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据仓库的架构 仓库(Data Warehouse DW )是为了便于多维分析和多角度展现而将数据按特走的模式进 行存储所建立起来的关系型数据库r它的数据基于OLTP源系统。数据仓库中的数据是细节的、 集成的、面向主题的,以OLAP系统的分析露求为目的。 仓库的架构模型包括了星型架构(图二:pic2.bmp )与雪花型架构(图三:pic3.bmp )两 种模式。如图所示,星型架构的中间为事实表,四周为维度表,类似星星;而相比较而言,雪花 型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表达了清晰的维度层次关系。 从OLAP系统的分析需求和ETL的处理效率两方面来考虑:星型结构聚合快,分析效率高;而 雪花型结构明确,便于与OLTP系统交互。因此,在实际项目中,我们将综合运用星型架构与雪 花型架构来设计数据仓库。 另吆■下面我们就来看一看■构建企业级数据仓库的流程。 构建企业级数据仓库五步法 (—)、确走主题 即确走数据分析或前端展现的主题。例如:我们希望分析某年某月某一地区的啤酒销售情况,这 就是一个主题。主题要体现出某一方面的各分析角度(维度)和统计数值型数据(呈度)之间的 关系r确走主题时要综合考虑。 我们可以形象的将一个主题想象为一颗星星:统计数值型数据(星度)存在于星星中间的事实表; 分析角度(维度)是星星的各个角;我们将通过维度的组合,来考蔡量度。那么,某年某月某 一地区的啤酒销售情况这样一个主题,就要求我们通过时间和地区两个维度的组合,来考察销 售情况这个量度。从而,不同的主题来源于数据仓库中的不同子集r我们可以称之为数据集市。 集市体现了数据仓库某一方面的信息,多个数据集市构成了数据仓库。 (二八确走量度 在确走了主题以后哉们将考虑要分析的技术指标,诸如年销售额之类。它们一般为数值型娠。 我们或者将该数据汇总,或者将该数据取次数、独立次数或取最大最小值等,这样的数据称为量 呈度是要统计的指标,必须事先选择恰当,基于不同的呈度可以进行复杂关键性能指标(KPI) 等的设计和计算。 、确走事实数据粒度 在确走了呈屋之后,我们要考虑至I」该呈度的汇总情况和不同维度下呈度的聚合情况。考虑到呈度 的聚合程度不同,我们将采用最小粒康原则,即将題的粒度设置到最小。 例如:假设目前的数据最小记录到秒,即数据库中记录了每一秒的交易额。那么,如果我们可以 确认,在将来的分析需求中,时间只需要精确到天就可以的话,我们就可以在ETL处理过程中, 按天来汇总数据,此时,数据仓库中量度的粒度就是天;反过来,如果我们不能确认将来的 分析零求在时间上是否需要精确到秒,那么,我们就需要遵循最小粒度原则,在数据仓库的 事实表中保留每一秒的数据,以便日后对秒进行分析。 在采用最小粒度原则的同时,我们不必担心海量数垢所带来的汇总分析效率问题,因为在后 续建立多维分析模型(CUBE )的时候,我们会对数据提前进行汇总,从而保障产生分析结果的 效率。关于建立多维分析模型(CUBE )的相关问题,我们将在下期栏目中予以阐述。 、确走维屋 维度是指分析的各个角度。例如我们希望按照时间,或者按照地区,或者按照产品进行分析,那 么这里的时间、地区、产品就是相应的维度。基于不同的维度,我们可以看到各星度的汇总情况, 也可以基于所有的维度进行交叉分析。 这里我们首先要确走维度的层次(Hierarchy )和级别(Level)(图四:pic4.bmp )。如图所 示,我们在时间维度上,按照年-季度-月形成了一个层次,其中年、季康、月 成为了这个层次的3个级别;同理,当我们建立产品维度时,我们可以将产品大类-产品子类- 产品划为一个层次,其中包含产品大类、产品子类、产品三个级别。 刃吆r我们分析中所用到的这些维度,在数据仓库中的存在形式是怎样的呢? 我们可以将3个级别设置成一张碧表中的 我们可以将3个级别设置成一张碧 分别保存产品大类、产品子类、产品三部分数据r比如产品维度。 另外,值得一提的是,我们在建立维度表时要充分使用代理键。代理键是数值型的ID号码(例 如图六中每张表的第一个字段),它唯一标识了每一维度成员。更重要的是,在聚合时,数值型 字段的匹配和比较,JOIN效率高,便于聚合。同时,代理键对缓慢变化维度有着重要的意义, 在原数据主键相同的情况下,它起到了对新数据与历史数垢的标识作用。 在此,我们不妨谈一谈维度表随时间变化的问题,这是我们经常会遇到的情况,我们称其为缓憬 变化维度。 比如我们増加了新的产品,或者产品的ID号码修改了,或者产品增加了一个新的雇性,此时, 维度表就会被修改或者増加新的记录行。这样,我们在ETL的过程中,就要考虑到缓慢变化维 度的处理。对于缓慢变化维康,有三种情况: 1、缓慢变化维度第一种类型:历史数据需要修改。这种情况下,我们

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档