数据仓库相关术语

数据仓库相关术语

数据仓库

数据仓库是一个支持管理决策的数据集合。数据是面向主题的、集成的、不易丢失的并且是时变的。数据仓库是所有操作环境和外部数据源的快照集合。它并不需要非常精确,因为它必须在特定的时间基础上从操作环境中提取出来。


数据集市

数据仓库只限于单个主题的区域,例如顾客、部门、地点等。数据集市在从数据仓库获取数据时可以依赖于数据仓库,或者当它们从操作系统中获取数据时就不依赖于数据仓库。


事实

事实是数据仓库中的信息单元,也是多维空间中的一个单元,受分析单元的限制。事实存储于一张表中(当使用关系数据库时)或者是多维数据库中的一个单元。每个事实包括关于事实(销售额,销售量,成本,毛利,毛利率等)的基本信息,并且与维度相关。在某些情况下,当所有的必要信息都存储于维度中时,单纯的事实出现就是对于数据仓库足够的信息。


维度

维度是用来反映业务的一类属性,这类属性的集合构成一个维度。例如,某个地理维度可能包括国家、地区、省以及城市的级别。一个时间维度可能包括年、季、月、周、日的级别。


级别

维度层次结构的一个元素。级别描述了数据的层次结构,从数据的最高(汇总程度最大)级别直到最低(最详细)级别(如大分类-中分类-小分类-细分类)。级别仅存在于维度内。级别基于维度表中的列或维度中的成员属性。


数据清洗

对数据仓库系统无用的或者不符合数据格式规范的数据称之为脏数据。清洗的过程就是清除脏数据的过程。


数据采集

数据仓库系统中后端处理的一部分。数据采集过程是指从业务系统中收集与数据仓库各指标有关的数据。


数据转换

解释业务数据并修改其内容,使之符合数据仓库数据格式规范,并放入数据仓库的数据存储介质中。数据转换包括数据存储格式的转换以及数据表示符的转换(如产品代码到产品名称的转换)。


联机分析处理(OLAP OnlineAnalytical Processing )

OLAP是一种多维分析技术,用来满足决策用户在大量的业务数据中,从多角度探索业务活动的规律性、市场的运作趋势的分析需求,并辅助他们进行战略发展决策的制定。按照数据的存储方式分OLAP又分为ROLAP、MOLAP和HOLAP。在客户信息数据仓库CCDW的数据环境下,OLAP提供上钻、下钻、切片、旋转等在线分析机制。完成的功能包括多角度实时查询、简单的数据分析,并辅之于各种图形展示分析结果。


切片

一种用来在数据仓库中将一个维度中的分析空间限制为数据子集的技术。


切块

一种用来在数据仓库中将多个维度中的分析空间限制为数据子集的技术。


星型模式

是数据仓库应用程序的最佳设计模式。它的命名是因其在物理上表现为中心实体,典型内容包括指标数据、辐射数据,通常是有助于浏览和聚集指标数据的维度。星形图模型得到的结果常常是查询式数据结构,能够为快速响应用户的查询要求提供最优的数据结构。星形图还常常产生一种包含维度数据和指标数据的两层模型。


雪花模式

指一种扩展的星形图。星形图通常生成一个两层结构,即只有维度和指标,雪花图生成了附加层。实际数据仓库系统建设过程中,通常只扩展三层:维度(维度实体)、指标(指标实体)和相关的描述数据(类目细节实体);超过三层的雪花图模型在数据仓库系统中应该避免。因为它们开始像更倾向于支持OLTP 应用程序的规格化结构,而不是为数据仓库和OLAP应用程序而优化的非格式化结构。


粒度

粒度将直接决定所构建仓库系统能够提供决策支持的细节级别。粒度越高表示仓库中的数据较粗,反之,较细。粒度是与具体指标相关的,具体表现在描述此指标的某些可分层次维的维值上。例如,时间维度,时间可以分成年、季、月、周、日等。数据仓库模型中所存储的数据的粒度将对信息系统的多方面产生影响。事实表中以各种维度的什么层次作为最细粒度,将决定存储的数据能否满足信息分析的功能需求,而粒度的层次划分、以及聚合表中粒度的选择将直接影响查询的响应时间。


度量

度量是业务流程节点上的一个数值。比如销量,价格,成本等等。


事实表中的度量可分为三类:完全可加,半可加,不可加。


完全可加的度量是最灵活,最有用的,比如说销量,销售额等,可进行任意维度汇总;

半可加的度量可以对某些维度汇总,但不能对所有维度汇总,差额是常见的半可加度量,它除了时间维度外,可以跨所有维度进行加法操作;

还有一种是完全不可加的,例如:比率。对于这类非可加度量,一种好的方法是,尽可能存储非可加度量的完全可加分量,并在计算出最终的非可加事实前,将这些分量汇总到最终的结果集中。

度量值

在多维数据集中,度量值是一组值,这些值基于多维数据集的事实数据表中的一列,而且通常为数字。此外,度量值是所分析的多维数据集的中心值。即,度量值是最终用户浏览多维数据集时重点查看的数字数据(如销售、毛利、成本)。


口径

口径就是取数逻辑(如何取数的),比如要取的数是10岁以下儿童中男孩的平均身高,这就是统计的口径。


指标

指标是口径的衡量值,也就是最后的结果。比如最近七天的订单量,一个促销活动的购买转化率等。


一个指标具体到计算实施,主要有以下几部分组成:


指标加工逻辑,比如count ,sum, avg


维度,比如按部门、地域进行指标统计,对应sql中的group by


业务限定/修饰词,比如以不同的支付渠道来算对应的指标,微信支付的订单退款率,支付宝支付的订单退款率 。对应sql中的where。


除此之外,指标本身还可以衍生、派生出更多的指标,基于这些特点,可以将指标进行分类:








原子指标:

基本业务事实,没有业务限定、没有维度。比如订单表中的订单量、订单总金额都算原子指标;


业务方更关心的指标,是有实际业务含义,可以直接取数据的指标。比如店铺近1天订单支付金额就是一个派生指标,会被直接在产品上展示给商家看。


但是这个指标却不能直接从数仓的统一中间层里取数(因为没有现成的事实字段,数仓提供的一般都是大宽表)。需要有一个桥梁连接数仓中间层和业务方的指标需求,于是便有了派生指标


派生指标

维度+修饰词+原子指标。店铺近1天订单支付金额中店铺是维度,近1天是一个时间类型的修饰词,支付金额是一个原子指标;维度:观察各项指标的角度;修饰词:维度的一个或某些值,比如维度性别下,男和女就是2种修饰词。


衍生指标

比如某一个促销活动的转化率就是衍生指标,因为需要促销投放人数指标和促销订单数指标进行计算得出。


标签

标签是人为设定的、根据业务场景需求,对目标对象运用一定的算法得到的高度精炼的特征标识。可见标签是经过人为再加工后的结果,如网红、白富美、萝莉。对于有歧义的标签,我们内部可进行标签区分,比如:苹果,我们可以定义苹果指的是水果,苹果手机才指的是手机。


自然键

由现实中已经存在的属性组成的键,它在业务概念中是唯一的,并具有一定的业务含义,比如商品ID,员工ID。


以数仓角度看,来自于业务系统的标识符就是自然键,比如业务库中员工的编号。


持久键

保持永久性不会发生变化。有时也被叫做超自然持久键。比如身份证号属于持久键。


自然键和持久键区别:举个例子就明白了,比如说公司员工离职之后又重新入职,他的自然键也就是员工编号发生了变化,但是他的持久键身份证号是不变的。


代理键

就是不具有业务含义的键。代理键有许多其他的称呼:无意义键、整数键、非自然键、人工键、合成键等。


代理键就是简单的以按照顺序序列生产的整数表示。产品行的第1行代理键为1,则下一行的代理键为2,如此进行。代理键的作用仅仅是连接维度表和事实表。


退化维度

退化维度,就是那些看起来像是事实表的一个维度关键字,但实际上并没有对应的维度表,就是维度属性存储到事实表中,这种存储到事实表中的维度列被称为退化维度。与其他存储在维表中的维度一样,退化维度也可以用来进行事实表的过滤查询、实现聚合操作等。


那么究竟怎么定义退化维度呢?比如说订单id,这种量级很大的维度,没必要用一张维度表来进行存储,而我们进行数据查询或者数据过滤的时候又非常需要,所以这种就冗余在事实表里面,这种就叫退化维度,citycode这种我们也会冗余在事实表里面,但是它有对应的维度表,所以它不是退化维度。


下钻

这是在数据分析中常见的概念,下钻可以理解成增加维的层次,从而可以由粗粒度到细粒度来观察数据,比如对产品销售情况分析时,可以沿着时间维从年到月到日更细粒度的观察数据。从年的维度可以下钻到月的维度、日的维度等。


上卷

知道了下钻,上卷就容易理解了,它俩是相逆的操作,所以上卷可以理解为删掉维的某些层,由细粒度到粗粒度观察数据的操作或沿着维的层次向上聚合汇总数据。


T+0与T+1

概念最早来自于股市。T+0和T+1交易制度是中国股市的一种交易制度,T+0交易指的是当天买入股票可当天卖出,当天卖出股票又可当天买入。


在大数据中:T+0代表实时处理的数据。T+1代表处理昨天的数据。


数据挖掘

数据挖掘是指利用复杂的模式识别技术从大量数据中找到有意义的模式、提取见解。这与我们前文讨论的使用个人数据做分析的术语“分析”密切相关。为了提取出有意义的模式,数据挖掘者使用统计学(是呀,好老的数学)、机器学习算法和人工智能。


数据科学家

我们谈论的是一个如此热门的职业!数据科学家们可以通过提取原始数据(难道是从前文所说的数据湖中提取的?),处理数据,然后提出新见解。数据科学家所需具备的一些技能与超人无异:分析、统计、计算机科学、创造力、故事讲述和理解业务环境。难怪他们能获得如此高的薪水报酬。


总线架构

维度建模的数据仓库中,有一个概念叫Bus Architecture,中文一般翻译为“总线架构”。总线架构是Kimball的多维体系结构(MD)中的三个关键性概念之一,另两个是一致性维度(Conformed Dimension)和一致性事实(Conformed Fact)。


在多维体系结构(MD) 的数据仓库架构中,主导思想是分步建立数据仓库,由数据集市组合成企业的数据仓库。但是,在建立第一个数据集市前,架构师首先要做的就是设计出在整个企业内具有统一解释的标准化的维度和事实,即一致性维度和一致性事实。而开发团队必须严格的按照这个体系结构来进行数据集市的迭代开发。


一致性维度就好比企业范围内的一组总线,不同数据集市的事实的就好比插在这组总线上的元件。这也是称之为总线架构的原因。


实际设计过程中,我们通常把总线架构列表成矩阵的形式,其中列为一致性维度,行为不同的业务处理过程,即事实,在交叉点上打上标记表示该业务处理过程与该维度相关。这个矩阵也称为总线矩阵(Bus Matrix)。


总线架构和一致性维度、一致性事实共同组成了Kimball的多维体系结构的基础,也建立了一套可以逐步建立数据仓库的方法论。由于总线架构是多维体系结构的核心,所以我们有时就把多维体系结构直接称为总线架构。


总线矩阵

通常,总线矩阵的一行会产生几个相关的事实表,由此可以从不同角度跟踪业务过程。订单业务过程可能会有行项级别的订单事务事实表和订单级别的订单快照事实表。这两种基于订单的维度模型同属于订单业务过程,这种分组称为业务过程维度模型。


二、数仓概念之间关系

实体表,事实表,维度表之间的关系

在Kimball维度建模中有维度与事实,在Inmon范式建模中有实体与关系,如果我们分开两种建模方式看这些概念比较容易理解。但是目前也出现了不少混合建模方式,两种建模方式结合起来看,这些概念是不是容易记忆混乱,尤其事实表和实体表,它们之间到底有怎样区别与联系,先看下它们各自概念:


维度表

维度表可以看成是用户用来分析一个事实的窗口,它里面的数据应该是对事实的各个方面描述,比如时间维度表,地域维度表,维度表是事实表的一个分析角度。


事实表

事实表其实就是通过各种维度和一些指标值的组合来确定一个事实的,比如通过时间维度,地域组织维度,指标值可以去确定在某时某地的一些指标值怎么样的事实。事实表的每一条数据都是几条维度表的数据和指标值交汇而得到的。


实体表

实体表就是一个实际对象的表,实体表放的数据一定是一条条客观存在的事物数据,比如说各种商品,它就是客观存在的,所以可以将其设计一个实体表。实时表只描述各个事物,并不存在具体的事实,所以也有人称实体表是无事实的事实表。


举个例子:比如说手机商场中有苹果手机,华为手机等各品牌各型号的手机,这些数据可以组成一个手机实体表,但是表中没有可度量的数据。某天苹果手机卖了15台,华为手机卖了20台,这些手机销售数据属于事实,组成一个事实表。这样就可以使用日期维度表和地域维度表对这个事实表进行各种维度分析。


指标与标签的区别

概念不同

指标是用来定义、评价和描述特定事物的一种标准或方式。比如:新增用户数、累计用户数、用户活跃率等是衡量用户发展情况的指标;


标签是人为设定的、根据业务场景需求,对目标对象运用一定的算法得到的高度精炼的特征标识。可见标签是经过人为再加工后的结果,如网红、白富美、萝莉。


构成不同

指标名称是对事物质与量两方面特点的命名;指标取值是指标在具体时间、地域、条件下的数量表现,如人的体重,指标名称是体重,指标的取值就是120斤;


标签名称通常都是形容词或形容词+名词的结构,标签一般是不可量化的,通常是孤立的,除了基础类标签,通过一定算法加工出来的标签一般都没有单位和量纲。如将超过200斤的称为大胖子。


分类不同

对指标的分类:

按照指标计算逻辑,可以将指标分为原子指标、派生指标、衍生指标三种类型;


按照对事件描述内容的不同,分为过程性指标和结果性指标;


对标签的分类:

按照标签的变化性分为静态标签和动态标签;


按照标签的指代和评估指标的不同,可分为定性标签和定量标签;


指标最擅长的应用是监测、分析、评价和建模。

标签最擅长的应用是标注、刻画、分类和特征提取。

特别需要指出的是,由于对结果的标注也是一种标签,所以在自然语言处理和机器学习相关的算法应用场景下,标签对于监督式学习有重要价值,只是单纯的指标难以做到的。而指标在任务分配、绩效管理等领域的作用,也是标签无法做到的。

维度和指标区别与联系

维度就是数据的观察角度,即从哪个角度去分析问题,看待问题。


指标就是从维度的基础上去衡算这个结果的值。


维度一般是一个离散的值,比如时间或地域维度上每一个独立的日期或地区。因此统计时,可以把维度相同记录的聚合在一起,应用聚合函数做累加、均值、最大值、最小值等聚合计算。


指标就是被聚合的通计算,即聚合运算的结果,一般是一个连续的值。


自然键与代理键在数仓的使用区别

数仓工具箱中说维度表的唯一主键应该是代理键而不应该是自然键。有时建模人员不愿意放弃使用自然键,因为他们希望与操作型代码查询事实表,而不希望与维度表做连接操作。然而,应该避免使用包含业务含义的多维键,因为不管我们做出任何假设最终都可能变得无效,因为我们控制不了业务库的变动。


所以数据仓库中维度表与事实表的每个连接应该基于无实际含义的整数代理键。避免使用自然键作为维度表的主键。


SKU与SPU

SPU = Standard Product Unit (标准化产品单元)

SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。


SKU=stock keeping unit(库存量单位)

SKU即库存进出计量的单位, 可以是以件、盒、托盘等为单位。


你想要一台iPhone13, 店员也会再继续问: 你想要什么iPhone 13? 64G 银色?128G 白色?每一台iPhone 13的毛重都是400.00g,产地也都是中国大陆,这两个属性就属于spu属性。


而容量和颜色,这种会影响价格和库存的(比如64G与128G的价格不同,128G白色还有货,绿色卖完了)属性就是sku属性。


spu属性:

1、毛重420.00 g


2、产地中国大陆


sku属性:

1、容量: 16G, 64G, 128G


2、颜色: 银、白、玫瑰金




作者:薛秋艳


欢迎关注微信公众号 :大数据球球