离线数仓DWS层

本文详细介绍了离线数仓DWS层的设计规范,包括公共汇总层的功能、存储策略(ORC+snappy)、表名命名规则,以及聚集设计原则,强调了公共汇总层在提高数据仓库性能和数据复用性中的关键作用。
摘要由CSDN通过智能技术生成

数据服务层:DWS(Data WareHouse Servce)公共汇总层

存储公用的中间结果,减少重复计算,提高中间结果的复用性。依托于ADS层的需求,商榷中间公共结果(需求驱动)

设计要点:
(1)DWS层的设计参考链接: 数仓指标体系
(2)DWS层的数据存储格式为ORC列式存储 + snappy压缩。
(3)DWS层表名的命名规范为dws_数据域_统计粒度_业务过程_统计周期(1d/nd/td)

DWS 层为公共汇总层,会进行轻度汇总,粒度比明细数据稍粗,基于 DWD 层上的基础数据,整合汇总成分析某一个主题域的服务数据,一般是宽表。DWS 层应覆盖 80% 的应用场景。又称数据集市或宽表。
按照业务划分,如主题域流量、订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP 分析,数据分发等。
一般来讲,该层的数据表会相对比较少,一张表会涵盖比较多的业务内容,由于其字段较多,因此一般也会称该层的表为宽表。

DWS公共汇总层设计规范

数据仓库的性能是数据仓库建设是否成功的重要标准之一。聚集主要是通过汇总明细粒度数据来获得改进查询性能的效果。通过访问聚集数据,可以减少数据库在响应查询时必须执行的工作量,能够快速响应用户的查询,同时有利于减少不同用访问明细数据带来的结果不一致问题。(聚集的作用)

  1. 聚集的基本原则
    ● 一致性。聚集表必须提供与查询明细粒度数据一致的查询结果。
    ● 避免单一表设计。不要在同一个表中存储不同层次的聚集数据。
    ● 聚集粒度可不同。聚集并不需要保持与原始明细粒度数据一样的粒度,聚集只关心所需要查询的维度。

  2. 聚集的基本步骤
    第一步:确定聚集维度
    在原始明细模型中会存在多个描述事实的维度,如日期、商品类别、卖家等,这时候需要确定根据什么维度聚集,如果只关心商品的交易额情况,那么就可以根据商品维度聚集数据。
    第二步:确定一致性上钻
    这时候要关心是按月汇总还是按天汇总,是按照商品汇总还是按照类目汇总,如果按照类目汇总,还需要关心是按照大类汇总还是小类汇总。当然,我们要做的只是了解用户需要什么,然后按照他们想要的进行聚集。
    第三步:确定聚集事实
    在原始明细模型中可能会有多个事实的度量,比如在交易中有交易额、交易数量等,这时候要明确是按照交易额汇总还是按照成交数量汇总。

  3. 公共汇总层设计原则
    除了聚集基本的原则外,公共汇总层还必须遵循以下原则:
    ● 数据公用性。汇总的聚集会有第三者使用吗?基于某个维度的聚集是不是经常用于数据分析中?如果答案是肯定的,那么就有必要把明细数据经过汇总沉淀到聚集表中。
    ● 不跨数据域。数据域是在较高层次上对数据进行分类聚集的抽象。如以业务
    ● 区分统计周期。在表的命名上要能说明数据的统计周期,如 _Id
    表示最近1天,_td 表示截至当天,_nd 表示最近N天。

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值