零售电子商务数仓搭建之维度建模

本文从维度建模的基本概念以及工具实践两方面为您介绍如何使用维度建模。

维度建模储备知识介绍

基本概念

说明

智能建模强依赖于Kimball维度建模理论,请您在实际操作前务必阅读一下数仓分层和维度建模中的基本概念。

  • 维度建模:关于维度建模的详细说明,请参见维度建模

  • 业务分类:业务分类是某一大类的业务的指标和维度的集合。在后续模型设计过程中,可将模型归属到对应的业务分类,提升后续模型使用的便捷性。例如零售电子商务就是一个一级业务分类,如需进一步细分,可分为门店零售,电子商务等。

  • 数据域:是指一个或多个业务过程或者维度的集合。例如在电商领域,可以划分会员域、商品域、交易域等。

  • 业务过程:业务过程指企业的业务活动事件,如下单、支付。

  • 数据集市:是基于业务分类,面向特定应用场景或者产品的数据组织。通常位于数据应用层,依赖于公共层的整合数据。例如电商集市、供应链数据集市等。

  • 主题域:用于将数据集市按照分析视角进行划分,通常是联系较为紧密的数据主题的集合。例如在电商集市下,可以创建电商360、活动等主题域。

  • 维度:维度是用于分析数据的一个角度,一方面对维度进行可控管理,另一方面指导维度表的设计,如地理维度,时间维度。

  • 维度属性:维度属性隶属于一个维度,用来描述维度的属性,如地理维度中的国家名称,省份名称。

  • 时间周期:时间周期是用来明确数据统计的时间范围或者时间点,如最近30天,自然周。

  • 修饰词:修饰词是对指标统计业务范围的划定,指除了统计维度外指标的业务场景的限定抽象,如PC端,无线端。

  • 原子指标:用于明确业务的统计口径和计算逻辑,是基于用户的业务活动(即业务过程)创建的,用于统计业务活动中某一业务状况的数值。例如,存量会员数。

  • 派生指标:由原子指标、时间周期、修饰词构成,用于反映企业某一业务活动在指定时间周期及目标范围中的业务状况。例如,历史截至当日(时间周期)_异常会员(修饰词)_存量会员数(原子指标)。

  • 数仓分层:关于数仓分层的详细说明,请参见数仓分层

    • 数据引入层ODS:Operation Data Store。

    • 数据公共层CDM:Common Data Model,又称通用数据模型层。分为如下层级:

      • 公共维度层(DIM)。

      • 公共汇总粒度事实层(DWS)。

      • 明细粒度事实层(DWD)。

    • 数据应用层ADS:Application Data Service。

模型设计理论

以下简单介绍了维度建模模型设计方法论,举例说明了如何划分数据域等,更多关于维度建模方法论、事实表维度表模型设计内容,请参见《Star Schema完全参考手册》[1]中的第2章~第6章节和第11章节、《数据仓库工具箱(第3版)》[2]。

1

说明

  • [1] 亚当森.Star Schema完全参考手册.北京:清华大学出版社,2012

  • [2] Ralph Kimball ,Margy Ross.数据仓库工具箱(第3版).北京:清华大学出版社,2015

例如,如何划分数据域:

建模理论

说明

  • 以上为数据域划分案例,和本次实验的数据域划分有一点出入。

  • 以上示意图引用自阿里巴巴数据技术及产品部《大数据之路:阿里巴巴大数据实践》。

实验预期:本文操作结果

预期的分层划域,下图中从下到上数仓分层,从左到右划分数据域。这里您仅需了解一下概貌,后面会一步一步配置,蓝色字体为本实验中需要使用到的表,需将模型发布至引擎生成物理表。

业务分类

电商业务

实验操作:维度建模

说明

维度建模中部分标注了可选,表示不操作不影响后续实验。建议您都进行操作一下,以便结合业务从整体角度了解一下维度建模。

步骤一:数仓规划

  1. 新建如下一个业务分类:

    业务名称:电商业务,英文缩写:ec。

    49

  2. 数仓分层:系统内置了常规的数据分层,您可以针对每个数据分层设置表名检查器。本实验使用默认分层结构,并且为了规范模型的命名,将同一分层中表名称的命名格式统一,系统为每个数仓分层配置对应的表名“检查器”,开启并设置默认检查器,在进行模型设计时,表名会按照检查器设置自动填充,设计师仅需补充自定义内容即可。

    • 贴源层:数据引入层ODS。

    • 公共层:维度层DIM、明细数据层DWD、汇总数据层DWS。

    • 应用层:应用数据层ADS。

    50

    表名检查器示例:

    • 弱规则:新建对象时,根据规则定义内容,推荐填写规则名称。

    • 强规则:新建对象时,根据规则定义内容,推荐填写并强制校验规则名称。

    分层

    规则定义

    规则示例

    维度层DIM

    dim_业务大类英文缩写_数据域英文缩写_自定义

    e.g:dim_ec_mbr_user_info 会员基础信息维度表_维度表_电商业务_会员域_xxxx。

    明细数据层DWD

    dwd_业务大类英文缩写_数据域英文缩写_业务过程英文缩写_自定义_存储策略缩写

    • e.g:dwd_ec_trd_create_ord_di 交易下单明细事实表。

    • 明细表_电商业务_交易域_下单业务过程_xxxx_每日增量。

    汇总数据层DWS

    dws_业务大类英文缩写_数据域英文缩写_自定义_统计周期

    • e.g dws_ec_mbr_cnt_std 历史截至当日_存量会员数_cube统计表。

    • 汇总表_电商业务_会员域_xxx_历史截止当日。

    应用数据层ADS

    ads_业务大类英文缩写_主题域英文缩写_自定义。真实场景中建议使用ads_业务大类英文缩写_数据集市英文缩写_主题域英文缩写_自定义

    • e.g: ads_ec_ec360_gmv_kpi_overview 电商360KPI概览。

    • 应用表_电商业务<业务分类>_电商360<主题域>_xxx

    数据引入层ODS

    通常ODS层不需要做数据建模,所以这里忽略。

    -

  3. 公共层:

    1. 新建六个如下表的数据域。您也可以使用通用工具导入数据域

      英文缩写

      英文名

      中文名

      模型评审人

      负责人

      备注

      mbr

      mbr

      会员域

      xxx

      xxx

      网站服务的注册会员及潜在会员(Leads)的各种基础信息。

      trd

      trd

      交易域

      xxx

      xxx

      交易从加入购物车到下单、支付、发货、退款及成功交易的各个过程,同时还包括拍卖、机票、彩票等各种类型的交易。

      itm

      itm

      商品域

      xxx

      xxx

      网站可供用户交易的商品数据,包括类目、品牌、SPU、SKU等相关商品基础信息。

      lgt

      lgt

      物流域

      xxx

      xxx

      -

      log

      log

      日志域

      xxx

      xxx

      各种类型的网站日志数据。

      risk

      risk

      信用&风控域

      xxx

      xxx

      企业或者个人信用及风险相关的数据,包括审核、风控监控事件、评价、投诉、举报、申诉、处罚等相关数据。

      51

    2. 业务过程。

      1. 参照下表,新建会员域下的业务。您也可以使用通用工具导入业务过程

        英文缩写

        中文名

        英文名

        数据域

        负责人

        备注

        login

        登录

        login

        会员域

        xxx

        -

        register

        注册

        register

        会员域

        xxx

        -

        mbf_default(系统)

        会员域_默认(系统)

        mbr_default

        会员域

        xxx

        数据域下默认的业务过程。

        52

      2. 参照下表,新建交易域下的业务过程。

        英文缩写

        中文名

        英文名

        数据域

        负责人

        备注

        cart

        加购

        cart

        交易域

        xxx

        加入购物车

        create

        下单

        create

        交易域

        xxx

        创建订单

        pay

        支付

        pay

        交易域

        xxx

        -

        refund

        退款

        refund

        交易域

        xxx

        -

        trd_default(系统)

        交易域_默认

        trd_default

        交易域

        xxx

        数据域下的默认业务过程。

      3. 参照下表,新建商品域下的业务过程。

        英文缩写

        中文名

        英文名

        数据域

        负责人

        备注

        on_off

        商品上下架

        on_off

        商品域

        xxx

        -

        publish

        商品发布

        publish

        商品域

        xxx

        -

        itm_default(系统)

        商品域_默认

        itm_default

        商品域

        xxx

        数据域下的默认业务过程。

      4. 参照下表,新建物流域下的业务过程。

        英文缩写

        中文名

        英文名

        数据域

        负责人

        备注

        take_over

        揽件

        take_over

        物流域

        xxx

        -

        lg_order_crt

        接单

        lg_order_crt

        物流域

        xxx

        -

        ship

        发货

        ship

        物流域

        xxx

        -

        delivery

        派送

        delivery

        物流域

        xxx

        -

        sign

        签收

        sign

        物流域

        xxx

        -

        lgt_default(系统)

        物流域_默认

        lgt_default(系统

        物流域

        xxx

        数据域下的默认的业务过程。

      5. 参照下表,新建日志域下的业务过程。

        英文缩写

        中文名

        英文名

        数据域

        负责人

        备注

        exp

        曝光

        exposure

        日志域

        xxx

        -

        se

        搜索

        search

        日志域

        xxx

        -

        clk

        点击

        click

        日志域

        xxx

        -

        pv

        浏览

        pv

        日志域

        xxx

        -

        log_default(系统)

        日志域_默认

        log_default

        日志域

        xxx

        数据域下的默认业务过程。

      6. 参照下表,新建信用与风控域下的业务过程。

        英文缩写

        中文名

        英文名

        数据域

        负责人

        备注

        remark

        评价

        remark

        信用&风控域

        xxx

        -

        risk_default(系统)

        信用&风控域,默认

        risk_default

        信用&风控域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

soso1968

你的鼓励是我继续创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值