美文网首页数据科学家成长之路大数据
QA:数仓中表的分层,怎样才合理?

QA:数仓中表的分层,怎样才合理?

作者: 老树之见 | 来源:发表于2019-12-29 22:39 被阅读0次

(该问题来自于一位热心好学的读者。非常抱歉,过了许久才提笔回答。
由于没有正儿八紧地做过数仓开发,仅凭个人浅薄的理解来回答该问题。)

在数仓中,对表进行分层,我理解有三层含义,其一是在物理资源上划分(存储资源&运算资源),其二是表名称上区隔,其三是使用权限上做切分。后两条为必要条件。

分层的终极目的,就是提高数据应用的效率。是否合理也许很难有刚性的标准,但以我的观察,需要具备如下特征,即可称为合理:

  • 不同用户角色与表的层次,有明确的对应关系,但未必要求一对一。比如,分析师、运营、数据研发、产品经理、决策者等,依据职能边界和数据消费特点,对应不同层次的使用侧重。
  • 信息的聚合程度,在不同层次上有明显的不同。越上层的表,信息聚合度越高,量化程度也越高。
  • 表任务的资源分配、运行成本和效率要求,在不同层次上有显著区别。
  • 数据安全等级和权限开放的程度,在不同层次上也有所区别。

下图呈现我对分层的理解:


老树之见-数仓表的分层逻辑.jpg

如上图左边部分,一般来说,表都会分为生产层(ODS)、公共明细层(DWD)、公共汇总层(DWS)和应用层(ADS)。普遍来说,合理的数仓分层,可做如下表述:
生产层指从各系统中抽取的数据,数量众多且主题划分模糊,没有做整合。一般除了数据研发和业务产研,不向其他角色开放。
经过一层ETL后,成为公共明细层。公共明细层里的表,往往主题明确,且主题下的各种细节数据已经完成拼装;如许多公司会做订单大宽表,即把各种有必要的信息标准化后,都成为宽表字段。除了产研,这层表会向分析师和运营等角色开放。
公共汇总层是在明细层基础上再做聚合,往往是将重要信息加工为指标表和维度表,并将高频使用的维度退化到指标表中。这也就意味着,汇总层表能较好的支撑业务分析。这层表往往是使用者最多,业务需求最强的,建设是否健全,是公司内部分析提效的关键。另外,这层表的数据安全管理也​最需要重视。

应用层表相对特殊,它的内容会来自于之下的各层表。它一般只服务与具体的应用产品,所以对产出时间和运行效率要求较高,往往也不对业务运营、分析师等角色开放。

DWD+DWS层,往往称为公共层。公共层建设得越健壮,整个公司的数据应用效率越高。层次越往上,与公司业务分析的耦合度或者说紧密度越高。如上图右侧内容,则是从我角度更细的分层的表述:

DWD层一分为二,DWD-Process层可理解为业务过程的抽象。比如线上零售业务中,用户浏览、收藏购物车、下单、支付、收货各环节,就是业务过程。DWD-Collection可理解为从各业务过程明细表中,将高频使用且重要的信息提取,成为一个完整业务链条的信息集成表。比如订单宽表,就是把下单各个业务过程中,核心的环节进行整合,以便在交易分析时提高效率。

DWS层也能一分为二。Objective一层将可量化的信息提取,聚合到业务对象颗粒度。还是以线上零售为例,用户、店铺、商品等,都是业务对象;而将重要的指标和维度整个为业务对象的汇总表,显然能大幅度降低分析时的数据获取成本。Department层更靠近业务,往往按业务部门的需求,作出一套汇总表。该部门成员能够以很低的上手成本,迅速应用全面的数据。

以上就是我对数仓表分层的理解,希望能给读者们带来帮助​。有更多问题,欢迎关注公众号:老树之见,或发邮件huchenchuan@hotmail.com进行交流。

相关文章

  • QA:数仓中表的分层,怎样才合理?

    (该问题来自于一位热心好学的读者。非常抱歉,过了许久才提笔回答。由于没有正儿八紧地做过数仓开发,仅凭个人浅薄的理解...

  • 用户行为数仓搭建

    # 数仓分层概念 1.数仓分层 ods 存放原始数据 dwd 数据清洗 dws 数据汇总 ads 为统计报表提供数...

  • 数仓分层

    DW :data warehouse 翻译成数据仓库DW数据分层,由下到上为 DWD,DWB,DWSDWD:dat...

  • 数仓分层

      数仓分层的理论不仅是一种数据仓库的建设思想,对大数据的统计分析过程设计同样具有指导意义。  数仓分层的理论有很...

  • 数仓实战01:数仓分层

    1.为什么分层 1.1 数仓分层: 1.2 为什么分层 2.数据集市和数据仓库概念 3.数仓命名规范 3.1 表命...

  • 离线数仓的架构模型

    1)数仓的分层原则 好的数仓分层并不是为了分层而分层,没有最好的只有更合适的,要考虑对下游及整个链路的影响 好的分...

  • 浅谈数仓建设中的分层

    作者介绍 数据仓库@唐刚 “数据人创作者联盟”成员。 01数仓为什么要分层 数仓分层的原因也即是分层的好处体现在下...

  • 从0开始研究数据仓库的一些想法

    研究方向 数仓理论:分层设计理论、维度建模理论基于OLAP数仓:adb/clickhouse/greenplum/...

  • 数仓建设规范

    1、数仓分层原则 优秀可靠的数仓体系,往往需要清晰的数据分层结构,即要保证数据层的稳定又要屏蔽对下游的影响,并且要...

  • 基于Apache doris怎么构建数据中台(八)-数仓管理

    数仓分层模型 数仓分层模型的好处: 1、数据结构化更清晰:每一个数据分层都有它的作用域和职责,在使用表的时候能更方...

网友评论

    本文标题:QA:数仓中表的分层,怎样才合理?

    本文链接:https://www.haomeiwen.com/subject/zpmuoctx.html