数仓常见术语解析
一.数仓名词解释
- 实体
实体是指依附的主体,就是我们分析的一个对象,比如我们分析商品的销售情况,如华为手机近半年的销售量是多少,那华为手机就是一个实体;我们分析用户的活跃度,用户就是一个实体。当然实体也可以现实中不存在的,比如虚拟的业务对象,活动,会员等都可看做一个实体。
实体的存在是为了业务分析,作为分析的一个筛选的维度,拥有描述自己的属性,本身具有可分析的价值。 - 维度
维度就是看待问题的角度,分析业务数据,从什么角度分析,就建立什么样的维度。所以维度就是要对数据进行分析时所用的一个量,比如你要分析产品销售情况,你可以选择按商品类别来进行分析,这就构成一个维度,把所有商品类别集合在一起,就构成了维度表。 - 度量
度量是业务流程节点上的一个数值。比如销量,价格,成本等等。
事实表中的度量可分为三类:完全可加,半可加,不可加。
a.完全可加的度量是最灵活,最有用的,比如说销量,销售额等,可进行任意维度汇总。
b.半可加的度量可以对某些维度汇总,但不能对所有维度汇总,差额是常见
的半可加度量,它除了时间维度外,可以跨所有维度进行加法操作。
c.还有一种是完全不可加的,例如:比率。对于这类非可加度量,一种好的方法是,尽可能存储非可加度量的完全可加分量,并在计算出最终的非可
加事实前,将这些分量汇总到最终的结果集中。 - 粒度
粒度就是业务流程中对度量的单位,比如商品是按件记录度量,还是按批记录度量。
在数仓建设中,我们说这是用户粒度的事实表,那么表中每行数据都是一个用户,无重复用户;例如还有销售粒度的表,那么表中每行都是一条销售记录。
选择合适的粒度级别是数据仓库建设好坏的重要关键内容,在设计数据粒度时,通常需重点考虑以下因素:
1).要接受的分析类型、可接受的数据最低粒度和能存储的数据量。
2).粒度的层次定义越高,就越不能在该仓库中进行更细致的分析。
3).如果存储资源有一定的限制,就只能采用较高的数据粒度划分。
4).数据粒度划分策略一定要保证:数据的粒度确实能够满足用户的决策分析需要,这是数据粒度划分策略中最重要的一个准则。 - 口径
口径就是取数逻辑(如何取数的),比如要取的数是 10 岁以下儿童中男孩的平均身高,这就是统计的口径。 - 指标
指标是口径的衡量值,也就是最后的结果。比如最近七天的订单量,一个促销活动的购买转化率等。
一个指标具体到计算实施,主要有以下几部分组成:
a.指标加工逻辑,比如 count ,sum, avg。
b.维度,比如按部门、地域进行指标统计,对应 sql 中的 group by。
c.业务限定/修饰词,比如以不同的支付渠道来算对应的指标,微信支付的
订单退款率,支付宝支付的订单退款率 。对应 sql 中的 where。
除此之外,指标本身还可以衍生、派生出更多的指标,基于这些特点,可以将指标进行分类:
a.原子指标:基本业务事实,没有业务限定、没有维度。比如订单表中的订单量、订单总金额都算原子指标。
业务方更关心的指标,是有实际业务含义,可以直接取数据的指标。比如店铺近 1天订单支付金额就是一个派生指标,会被直接在产品上展示给商家看。但是这个指标却不能直接从数仓的统一中间层里取数(因为没有现成的事实字段,数仓提供的一般都是大宽表)。需要有一个桥梁连接数仓中间层和业务方的指标需求,于是便有了派生指标。
b.派生指标:维度+修饰词+原子指标。 店铺近 1 天订单支付金额中店铺是维度,近 1 天是一个时间类型的修饰词,支付金额是一个原子指标。
维度:观察各项指标的角度;
修饰词:维度的一个或某些值,比如维度性别下,男和女就是 2 种修饰词。
c.衍生指标:比如某一个促销活动的转化率就是衍生指标,因为需要促销投放人数指标和促销订单数指标进行计算得出。 - 标签
标签是人为设定的、根据业务场景需求,对目标对象运用一定的算法得到的高度精炼的特征标识。可见标签是经过人为再加工后的结果,如网红、白富美、萝莉。对于有歧义的标签,我们内部可进行标签区分,比如:苹果,我们可以定义苹果指的是水果,苹果手机才指的是手机。 - 自然键
由现实中已经存在的属性组成的键,它在业务概念中是唯一的,并具有一定的业务含义,比如商品 ID,员工 ID。
以数仓角度看,来自于业务系统的标识符就是自然键,比如业务库中员工的编号。 - 持久键
保持永久性不会发生变化。有时也被叫做超自然持久键。比如身份证号属于持久键。
自然键和持久键区别:举个例子就明白了,比如说公司员工离职之后又重新入职,他的自然键也就是员工编号发生了变化,但是他的持久键身份证号是不变的。 - 代理键
就是不具有业务含义的键。代理键有许多其他的称呼:无意义键、整数键、非自然键、人工键、合成键等。
代理键就是简单的以按照顺序序列生产的整数表示。产品行的第 1 行代理键为 1,则下一行的代理键为 2,如此进行。代理键的作用仅仅是连接维度表和事实表。 - 退化维度
退化维度,就是那些看起来像是事实表的一个维度关键字,但实际上并没有对应的维度表,就是维度属性存储到事实表中,这种存储到事实表中的维度列被称为退化维度。与其他存储在维表中的维度一样,退化维度也可以用来进行事实表的过滤查询、实现聚合操作等。
那么究竟怎么定义退化维度呢?比如说订单 id,这种量级很大的维度,没必要用一张维度表来进行存储,而我们进行数据查询或者数据过滤的时候又非常需要,所以这种就冗余在事实表里面,这种就叫退化维度,citycode 这种我们也会冗余在事实表里面,但是它有对应的维度表,所以它不是退化维度。 - 下钻
这是在数据分析中常见的概念,下钻可以理解成增加维的层次,从而可以由粗粒度到细粒度来观察数据,比如对产品销售情况分析时,可以沿着时间维从年到月到日更细粒度的观察数据。从年的维度可以下钻到月的维度、日的维度等。 - 上卷
知道了下钻,上卷就容易理解了,它俩是相逆的操作,所以上卷可以理解为删掉维的某些层,由细粒度到粗粒度观察数据的操作或沿着维的层次向上聚合汇总数据。 - 数据集市
数据集市(Data Mart),也叫数据市场,数据集市就是满足特定的部门或者用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体。其实就是从数据仓库中抽取出来的一个小合集。
作者:liuyang 创建时间:2023-09-20 15:25
最后编辑:liuyang 更新时间:2023-10-23 13:28
最后编辑:liuyang 更新时间:2023-10-23 13:28