百摩网
当前位置: 首页 生活百科

数据仓库分层实战(为什么要给数据仓库分层)

时间:2023-06-07 作者: 小编 阅读量: 7 栏目名: 生活百科

此层数据通常来源与DWD和DWM层的数据。由于宽和窄的界限不易界定,也可以去掉DWM这一层,只留DWS层,将所有的数据在放在DWS亦可。数据量可能是千万级或者上亿级别。在DWM层,我们会从DWD层中选取业务关注的核心维度来做聚合操作,比如只保留人、商品、设备和页面区域维度。最后,在APP应用层,根据需求从DWS层的一张或者多张表取出数据拼接成一张应用表即可。

(1)为什么要分层

作为一名数据的规划者,我们肯定希望自己的数据能够有秩序地流转,数据的整个生命周期能够清晰明确被设计者和使用者感知到。直观来讲就是如图这般层次清晰、依赖关系直观。

但是,大多数情况下,我们完成的数据体系却是依赖复杂、层级混乱的。如下图,在不知不觉的情况下,我们可能会做出一套表依赖结构混乱,甚至出现循环依赖的数据体系。

因此,我们需要一套行之有效的数据组织和管理方法来让我们的数据体系更有序,这就是谈到的数据分层。数据分层并不能解决所有的数据问题,但是,数据分层却可以给我们带来如下的好处:

1)清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解;2)减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算;3)统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径;4)复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题。

为了满足前面提到好处,通常将数据模型分为三层:数据运营层( ODS )、数据仓库层(DW)和数据应用层(APP)。简单来讲,我们可以理解为:ODS层存放的是接入的原始数据,DW层是存放我们要重点设计的数据仓库中间层数据,APP是面向业务定制的应用数据。下面详细介绍这三层的设计。

(2)数据模型的分层

1)源数据层(ODS)此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。

2)数据仓库层(DW)也称为细节层,DW 层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。

此层可以细分为三层:明细层DWD(Data Warehouse Detail):存储明细数据,此数据是最细粒度的事实数据。该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证。同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联。

中间层DWM(Data WareHouse Middle):存储中间数据,为数据统计需要创建的中间表数据,此数据一般是对多个维度的聚合数据,此层数据通常来源于DWD层的数据。

业务层DWS(Data WareHouse Service):存储宽表数据,此层数据是针对某个业务领域的聚合数据,业务层的数据通常来源与此层,为什么叫宽表,主要是为了业务层的需要在这一层将业务相关的所有数据统一汇集起来进行存储,方便业务层获取。此层数据通常来源与DWD和DWM层的数据。

在实际计算中,如果直接从DWD或者ODS计算出宽表的统计指标,会存在计算量太大并且维度太少的问题,因此一般的做法是,在DWM层先计算出多个小的中间表,然后再拼接成一张DWS的宽表。由于宽和窄的界限不易界定,也可以去掉DWM这一层,只留DWS层,将所有的数据在放在DWS亦可。

3)数据应用层(DA 或 APP)前端应用直接读取的数据源;根据报表、专题分析的需求而计算生成的数据。

4)维表层(Dimension)最后补充一个维表层,维表层主要包含两部分数据:A)高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。B)低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。

(3)问题扩展数据仓库系统架构

上图系统各部分的执行流程是:1)确定分析所依赖的源数据。2)通过ETL将源数据采集到数据仓库。3)数据按照数据仓库提供的主题结构进行存储。4)根据各部门的业务分析要求创建数据集市(数据仓库的子集)。5)决策分析、报表等应用系统从数据仓库查询数据、分析数据。6)用户通过应用系统查询分析结果、报表。

(4)结合项目中使用

电商网站的数据体系设计,这里针对用户访问日志这一部分数据进行举例说明:

在ODS层中,由于各端的开发团队不同或者各种其它问题,用户的访问日志被分成了好几张表上报到了我们的ODS层。

为了方便大家的使用,我们在DWD层做了一张用户访问行为天表,在这里,我们将PC网页、H5、小程序和原生APP访问日志汇聚到一张表里面,统一字段名,提升数据质量,这样就有了一张可供大家方便使用的明细表了。

在DWM层,我们会从DWD层中选取业务关注的核心维度来做聚合操作,比如只保留人、商品、设备和页面区域维度。类似的,我们这样做很多个DWM的中间表。

然后在DWS层,我们将一个人在整个网站中的行为数据放到一张表中,这就是我们的宽表了,有了这张表,就可以快速满足大部分的通用型业务需求了。最后,在APP应用层,根据需求从DWS层的一张或者多张表取出数据拼接成一张应用表即可。

    推荐阅读
  • 动物世界鸟大全(动物世界大全第五章)

    列入《华盛顿公约》CITESⅠ级保护动物。列入中国《国家重点保护野生动物名录》一级保护野生动物,从你我做起。。丹顶鹤,是世界上最大的珍稀鹤类,栖息在广阔的河滩沼泽地带,它们的飞行能力卓越,迁徙路线和觅食地点通常固定不变,每年春天,从南方迁徙来,丹顶鹤一般每年4月中旬至5月中旬产卵。保护野生动物人人有责。。

  • 解脱是什么意思(解脱解释)

    下面希望有你要的答案,我们一起来看看吧!解脱是什么意思解脱,指解除烦恼,摆脱束缚,从而获得身心自由。语出《史记·酷吏列传》:“是时九卿罪死即死,少被刑,而成极刑,自以为不复收,於是解脱,诈刻传出关归家。”佛教指摆脱烦恼业障的系缚而复归自在。在现实生活中,该词可泛指摆脱苦恼、困境等。也有电影或音乐以此为题。

  • 腹式呼吸的方法(正确的腹式呼吸方法)

    腹式呼吸可以采取坐姿或者平躺,将一只手放在腹部,让身体完全处于放松状态用鼻子吸气、嘴巴呼气,呼吸缓慢,吸气时间持续4秒,感觉腹部慢慢鼓起来,然后,屏住呼吸2秒,再用嘴巴缓慢呼气,感受腹内的气体随着呼吸道缓慢排出体外,这个呼气的过程约3~4秒,我来为大家科普一下关于腹式呼吸的方法?腹式呼吸的方法腹式呼吸可以采取坐姿或者平躺,将一只手放在腹部,让身体完全处于放松状态。腹式呼吸可以锻炼肺的通气量、改善供氧。

  • 跑步怎样瘦肚子(如何通过跑步来瘦肚子)

    同时我也很负责的告诉大家,运动是做不到局部减肥的!最后祝愿每个自律的人都能瘦身成功!

  • 在春天遇见最美的时光(与春相约与爱同行)

    孕育一个冬季的欲望,此刻再也抑制不住内心的激动,“似曾相识燕归来”,爱的世界从来不缺惊喜,正如春的赴约从来不缺温暖。相遇春天,感谢雨的滋润,感谢风的馈赠,感谢小草的勃发,感谢垂柳的盎然,更感谢这相遇之美:与春相约,与爱同行。本文系作者原创,未经许可禁止使用。

  • 安徽皇菊还是江西皇菊(四大名菊你都喝全了吗)

    四大名菊贡菊,杭菊、滁菊、亳菊并称中国四大名菊。清光绪年间列为贡品,故又称“滁贡菊”。花朵较松,容易散瓣是亳菊的重要特点之一。夏季还可将亳菊与大米一起煮成粥,可预防中暑。比如有糖尿病或血糖偏高的人群,最好不加糖,单独饮菊花茶。另外,孕妇脾胃虚弱,免疫力低下,饮用菊花茶容易刺激肠胃,引起肚疼腹泻等症状,不利于胎儿健康。菊花茶会刺激胃酸分泌,所以感冒并伴有咽喉炎的患者也不适合喝菊花茶。

  • 上班生活感悟句子(上班生活感悟句子推荐)

    我们一起去了解并探讨一下这个问题吧!上班生活感悟句子工作中只有用心做事,才能学到更多,学到的任何技能和知识都可能成为自己未来的生存工具,工作是一个人生存的手段,是幸福人生的保障。要工作,要勤劳:劳作是最可靠的财富。有了工作,才能保障生活。工作谅是为了更好的生活,加油吧,打工人!

  • 山东协和学院是公办还是民办学院(山东协和学院你没看错)

    山东协和学院你没看错学校介绍与众多院校不同的是,创办于1993年的山东协和学院是一所有医药类学院背景的民办大学,他的前身是山东中医学院中专部在上世纪90年代,学院的目标是为培养社会急缺的医护类人才,之后随着社会经济的不断。

  • 重阳节做什么吃的好(重阳节也是老人节)

    重阳节做什么吃的好农历九月九日,是中国的传统节日重阳节,又被称为老人节。然后在鱼身上铺上姜丝和葱,淋上蒸鱼豉油,最后烧点热油,浇在鱼和葱丝周围即可。

  • 垃圾分类从我做起创意(H5垃圾分类从我做起)

    「链接」,我来为大家科普一下关于垃圾分类从我做起创意?以下内容希望对你有帮助!