# 维度建模

# 维度表

维度表用于确定您观察业务状况的视角,存储不同观察视角的维度描述。例如,分析产品销售情况,您可以选择按产品类别及时间两个维度进行分析,创建产品维度表及时间维度表。本文将为您介绍维度表的创建方法。

结合业务的数据域的规划,提取出各业务数据域中进行数据分析时可能存在的维度,并将维度及其属性通过维度表的方式存储下来。例如,在进行电商业务数据分析时,可用的维度及其属性有:订单维度(属性包括订单ID、订单创建时间、买家ID、卖家ID等)、用户维度(性别、出生日期等)、商品维度(包括商品ID、商品名称、商品上架时间)等,此时您就可以将这些维度和属性创建为订单维度表、用户维度表、商品维度表等,将维度属性记录作为维度表的字段。后续您可将这些维度表部署到数仓中,通过ETL将实际维度数据按照维度表定义的方式进行存储,方便业务人员在后续的数据分析时进行取用。

# 明细表

明细表用于存储大量能够体现业务活动状况的实际数据或详细数值,是数据聚合后依据某个维度生成的结果表。例如,分析产品销售情况,您可以创建销售明细表,用来存储产品维度(作为外键)、时间维度(作为外键)以及销售总量。

结合业务过程的规划,梳理分析各业务过程中可能产生的实际数据,将这些实际数据字段通过明细表的方式存储下来。例如下订单这一业务过程中,您可以创建下订单这一明细表,用于记录下单过程可能产生实际数据字段,例如订单ID、订单创建时间、商品ID、数量、金额等。后续您可将这些明细表部署到数仓中,通过ETL将真实的数据按照明细表的定义方式进行汇总存储,便于业务分析时取用。

# 汇总表

汇总表用于组织一个数据域下相同时间周期、相同维度的多个派生指标的统计数据,为后续的业务查询,OLAP分析,数据分发等提供基础。

您可以结合业务数据分析和数仓分层,将一些明细的事实数据和维度数据先进行汇总分析,创建汇总表,后续数据分析时直接取用汇总表中的数据即可,无需再取用明细表和维度表中的数据。

# 应用表

应用表是面向具体业务场景时,用于组织相同时间周期、相同维度的多个原子指标、派生指标或统计粒度的统计数据,为后续的业务查询,OLAP分析,数据分发等提供基础。

应用表是将一个数据集市或主题域中的多个原子指标或派生指标,通过时间周期及关联维度整合在一起,关联的维度、时间周期、原子指标、派生指标,用于生成应用表中的统计字段,帮助您进行报表等分析展示。您可以使用应用表呈现相同时间、相同维度下,多个指标所统计的业务情况。

# 存储策略

策略 代码
每日增量 di
每日全量 df
每月增量 mi
每月全量 mf
小时增量 hi
小时全量累计 hf
实时增量 ri
实时全量 rf
15分钟全量 qhf
15分钟增量 qhi
小时当天累计 hh
小时月增量 hm
每周全量 wf
每周增量 wi
每季度全量 qf
每季度增量 qi
每年全量 yf
每年增量 yi
更新时间: 7/25/2022, 2:09:31 PM