当前位置:首页 > 业界动态 > 正文

尺寸表

尺寸表

维度表是维度建模的灵魂。 维度表设计中遇到的问题(如维度变化、维度层次、维度一致性、维度整合与分裂等)将直接影响维度建模的质量。 因此,良好的尺寸表设计至关重要。 今天我们就来探讨一下维度表设计的相关概念和技巧。

尺寸表  第1张

前面我们介绍了数据仓库建模中的事实表。 有关详细信息,请参阅数据仓库建模 - 事实表。 除了事实表之外,我们还提到了宽表。 您可以看到数据仓库建模——宽表设计。 今天我们来介绍一下数据仓库中的维度表,以及维度表设计和开发过程中容易遇到的一些问题。 在开始之前,我们先来看看如何识别维度,即什么是维度。 只有正确识别了尺寸,才能设计尺寸表。

确定尺寸

在实际的维度建模过程中,我们首先需要解决的问题是什么是维度或者什么是维度,维度的定义是什么。 事实上,维度的定义很容易就是我们看待事物的角度,或者我们如何衡量事实。 粒度。

事实上,关于什么是维度,每个人都可以回答几个答案。

在实际的维度建模过程中,清晰地识别维度是非常关键的。 维度是数据分析的入口,是保证数据仓库模型的通用性和易用性、回答业务用户范围的前提之一。

Kimball 认为,维度建模首先将真实情况划分为测量值和上下文。 通常指标的测量称为“事实”,产生测量的环境称为“维度”。

如果没有维度或背景,测量就没有意义。 例如,给定一个数字960,我们无法知道这个数字的含义。

图片-20210928161629562

然而,一旦将上下文添加到此测量中,它就变得有意义。 例如,我国的土地面积为960万平方公里。 其实这里也体现了一个问题,那就是单位。 既然是计量,就会有计量单位,所以我们在数据分析时,必须进行一些单位转换等操作。

维度是事实的背景。 没有维度的事实是没有意义的。 换句话说,维度是我们看待数据的视角。 我们通过一个小例子来看一下。

“昨天早上张三在京东花了200块钱买了一个书包。” 这里是时间维度(昨天早上)、地点维度(京东)、产品维度(书包)

尺寸表

前面我们学习了如何识别维度,我们来看看维度表。

维度表通常有一个主键。 在ER模型中,实体是客观存在的事物,有自己的描述性属性。 属性通常是文本和描述性的。 这里客观存在的事物及其描述就是维度。 ,这就是维度本身也有度量的原因。 例如,我们用户的年龄存储在维度表中,而不是事实表中,尽管它是一个度量。

维度建模的核心是将数据抽象为事实和维度。 维度是观察事物的角度,是对事实的一定粒度的度量词。

每个维度表都包含一个主键列。 维度表的主键可以用作与其关联的任何事实表的外键。 维度表通常比较宽,是扁平的、非标准的表,包含大量稳定的文本属性和数值属性。

尺寸表设计

维度设计过程就是确定维度属性的过程。 如何生成维度属性以及生成的维度属性的质量决定了维度使用的便利性,成为数据仓库可用性的关键。

数据仓库的能力与维度属性的质量和深度成正比。 其实这句话就说明了维表的重要性。 如果维度设计不好,数据仓库的数据服务能力就会很差。 具体表现为数据不准确、使用不方便、性能差。

那么我们来看看如何设计维度表。

尺寸表设计过程:选择尺寸

步骤 1:选择维度(添加到现有维度)或创建新维度。

维度是维度建模的核心。 在企业级数据仓库中,必须保证维度的唯一性和一致性。

唯一性,比如我们的一个用户,我们需要保证我们的维度表中只能有一条数据; 一致性是指我们维度表的维度必须一致或者粒度必须始终决定主要维度。 表面

第二步:确定主尺寸表。 这里的主维度表通常是ODS表,直接与业务系统同步。

例如多个业务线使用自己的用户表,那么主维度表可能是多个ods表。

确定相关尺寸表

第三步:确定相关维度表。 数据仓库是业务源系统的数据集成。 不同业务系统或同一业务系统的表之间存在关联性。 根据业务系统的排序,确定哪些表与主维表相关,并选择其中的部分表。 用于生成维度属性。

以商品维度为例,根据业务逻辑,我们可以得到商品与品类、SKU、买家、卖家、店铺等维度的关系。

也就是说,当我们确定了维度之后,比如产品或者用户,那么我们的维度表还需要存储产品的属性。

确定尺寸属性

步骤4:确定维度属性。 该步骤是基于相关维度表的确定。 也就是说,首先要确定自己需要哪些相关维度,然后再确定选择相关维度的哪些维度属性。

该步骤主要包括两个阶段,其一是从主维度表中选择维度属性或者生成新的维度属性;

第二阶段是从相关维度表中选取维度属性或生成新的维度属性。以商品维度为例,从主维度表以及category、sku、seller等相关维度表中选取维度属性或生成新的维度属性、商店等

维度表设计原则 维度层次划分

维度层次结构是指维度表中属性之间的从属关系。 例如,产品品类可能是分层的(一级品类、二级品类、三级品类等,特别是宝洁、联合利华等大型快速消费品集团),品类、品牌和产品其实也是有层次的。 那么维度建模如何处理这些层次结构呢?

其实有两种方法可以处理:

第一个是将所有维度层次结构扁平化并冗余存储在一个维度表中。 比如一到三级品类的商品分别存储在三个字段中,品牌等的处理也类似; 二是新建类别维度表,并维护维度表中的父子关系。

第一个实际上是星型架构,第二个是雪花架构。 在维度建模中,我们使用第一种方法来处理维度的层次问题。 这种反规范化的过程牺牲了部分存储,但给用户带来了便利,降低了学习和使用的成本。

维度的层次结构通常与下钻相关,即对信息的持续深入探索。

钻取分为向上钻取和向下钻取。 例如,某零售商的年度销售报告显示,其年度销售总额增长了 20%。 那么从时间上分析,哪个季度的增速更高呢?

这时你可以分析每个季度的增长率,也可以继续分析月增长率甚至日增长率。 同样的分析也可以应用于品类、品牌等,分析哪个品类是增长或增速。 哪个品牌的增长导致年度总销售额增长了20%。 这称为向下钻取。

相反的是向上钻。 钻孔的本质是增加或减少维度。 增加维度(向下钻取)是从汇总数据到详细数据,而减少维度(向上钻取)是从详细数据汇总到汇总。 数据。 通过钻取,用户可以更深入地了解数据,更容易发现问题,做出正确的决策。

尺寸一致性

在 Kimball 的维度设计理论中,不存在物理数据仓库。 数据仓库是通过多个主题、多个业务流程的多次迭代逐步建立起来的。 多个问题和多个业务流程的多次迭代通常在逻辑上划分为数据集市。

所谓数据集市一般由一个或多个密切相关的事实表和多个维度表组成,通常是部门级别的或面向特定主题的。 数据仓库是企业级的、面向主题的、集成的数据集合。

物理数据集市合并为逻辑数据仓库。 一旦数据集市的建立逐步完成,如果在逐步建立数据集市的过程中维度表不一致,则数据集市将成为一个孤立的集合。 市场无法在逻辑上组合成一个集成的数据仓库,维度一致性就是为了解决这个问题而设计的。

维度一致性是指如果两个维度相关,则它们要么完全相同,要么在数学意义上一个维度是另一个维度的子集。

不一致包括维度表内容不一致和维度属性不一致。

维度一致性在将数据集市转变为数据仓库的过程中发挥着关键作用。 在实际的数据集市设计和开发过程中,必须保证维度的一致性。 具体来说,您可以共享同一个维度表,也可以将其中一个维度表作为另一个维度表。 子集等方法保证一致性,从而避免孤立数据集市的出现

维度整合与分裂

在实际的维度表设计中,有时同一张维度表来自于多个前端业务系统,这会造成维度整合和拆分的问题。

尺寸表

维度表是维度建模的灵魂。 维度表设计中遇到的问题(如维度变化、维度层次、维度一致性、维度整合与分裂等)将直接影响维度建模的质量。 因此,良好的尺寸表设计至关重要。 今天我们就来探讨一下维度表设计的相关概念和技巧。

尺寸表  第2张

前面我们介绍了数据仓库建模中的事实表。 有关详细信息,请参阅数据仓库建模 - 事实表。 除了事实表之外,我们还提到了宽表。 您可以看到数据仓库建模——宽表设计。 今天我们来介绍一下数据仓库中的维度表,以及维度表设计和开发过程中容易遇到的一些问题。 在开始之前,我们先来看看如何识别维度,即什么是维度。 只有正确识别了尺寸,才能设计尺寸表。

确定尺寸

在实际的维度建模过程中,我们首先需要解决的问题是什么是维度或者什么是维度,维度的定义是什么。 事实上,维度的定义很容易就是我们看待事物的角度,或者我们如何衡量事实。 粒度。

事实上,关于什么是维度,每个人都可以回答几个答案。

在实际的维度建模过程中,清晰地识别维度是非常关键的。 维度是数据分析的入口,是保证数据仓库模型的通用性和易用性、回答业务用户范围的前提之一。

Kimball 认为,维度建模首先将真实情况划分为测量值和上下文。 通常指标的测量称为“事实”,产生测量的环境称为“维度”。

如果没有维度或背景,测量就没有意义。 例如,给定一个数字960,我们无法知道这个数字的含义。

图片-20210928161629562

然而,一旦将上下文添加到此测量中,它就变得有意义。 例如,我国的土地面积为960万平方公里。 其实这里也体现了一个问题,那就是单位。 既然是计量,就会有计量单位,所以我们在数据分析时,必须进行一些单位转换等操作。

维度是事实的背景。 没有维度的事实是没有意义的。 换句话说,维度是我们看待数据的视角。 我们通过一个小例子来看一下。

“昨天早上张三在京东花了200块钱买了一个书包。” 这里是时间维度(昨天早上)、地点维度(京东)、产品维度(书包)

尺寸表

前面我们学习了如何识别维度,我们来看看维度表。

维度表通常有一个主键。 在ER模型中,实体是客观存在的事物,有自己的描述性属性。 属性通常是文本和描述性的。 这里客观存在的事物及其描述就是维度。 ,这就是维度本身也有度量的原因。 例如,我们用户的年龄存储在维度表中,而不是事实表中,尽管它是一个度量。

维度建模的核心是将数据抽象为事实和维度。 维度是观察事物的角度,是对事实的一定粒度的度量词。

每个维度表都包含一个主键列。 维度表的主键可以用作与其关联的任何事实表的外键。 维度表通常比较宽,是扁平的、非标准的表,包含大量稳定的文本属性和数值属性。

尺寸表设计

维度设计过程就是确定维度属性的过程。 如何生成维度属性以及生成的维度属性的质量决定了维度使用的便利性,成为数据仓库可用性的关键。

数据仓库的能力与维度属性的质量和深度成正比。 其实这句话就说明了维表的重要性。 如果维度设计不好,数据仓库的数据服务能力就会很差,表现为数据不准确、使用不方便、性能差。

那么我们来看看如何设计维度表。

尺寸表设计过程:选择尺寸

步骤 1:选择维度(添加到现有维度)或创建新维度。

维度是维度建模的核心。 在企业级数据仓库中,必须保证维度的唯一性和一致性。

唯一性,比如我们的一个用户,我们需要保证我们的维度表中只能有一条数据; 一致性是指我们维度表的维度必须一致或者粒度必须始终决定主要维度。 表面

第二步:确定主尺寸表。 这里的主维度表通常是ODS表,直接与业务系统同步。

例如多个业务线使用自己的用户表,那么主维度表可能是多个ods表。

确定相关尺寸表

第三步:确定相关维度表。 数据仓库是业务源系统的数据集成。 不同业务系统或同一业务系统的表之间存在关联性。 根据业务系统的排序,确定哪些表与主维表相关,并选择其中的部分表。 用于生成维度属性。

以商品维度为例,根据业务逻辑,我们可以得到商品与品类、SKU、买家、卖家、店铺等维度的关系。

也就是说,当我们确定了维度之后,比如产品或者用户,那么我们的维度表还需要存储产品的属性。

确定尺寸属性

步骤4:确定维度属性。 该步骤是基于相关维度表的确定。 也就是说,首先要确定自己需要哪些相关维度,然后再确定选择相关维度的哪些维度属性。

该步骤主要包括两个阶段,其一是从主维度表中选择维度属性或者生成新的维度属性;

第二阶段是从相关维度表中选取维度属性或生成新的维度属性。以商品维度为例,从主维度表以及category、sku、seller等相关维度表中选取维度属性或生成新的维度属性、商店等

维度表设计原则 维度层次划分

维度层次结构是指维度表中属性之间的从属关系。 例如,产品品类可能是分层的(一级品类、二级品类、三级品类等,特别是宝洁、联合利华等大型快速消费品集团),品类、品牌和产品其实也是有层次的。 那么维度建模如何处理这些层次结构呢?

其实有两种方法可以处理:

第一个是将所有维度层次结构扁平化并冗余存储在一个维度表中。 比如一到三级品类的商品分别存储在三个字段中,品牌等的处理也类似; 二是新建类别维度表,并维护维度表中的父子关系。

第一个实际上是星型架构,第二个是雪花架构。 在维度建模中,我们使用第一种方法来处理维度的层次问题。 这种反规范化的过程牺牲了部分存储,但给用户带来了便利,降低了学习和使用的成本。

维度的层次结构通常与下钻相关,即对信息的持续深入探索。

钻取分为向上钻取和向下钻取。 例如,某零售商的年度销售报告显示,其年度销售总额增长了 20%。 那么从时间上分析,哪个季度的增速更高呢?

这时你可以分析每个季度的增长率,也可以继续分析月增长率甚至日增长率。 同样的分析也可以应用于品类、品牌等,分析哪个品类是增长或增速。 哪个品牌的增长导致年度总销售额增长了20%。 这称为向下钻取。

相反的是向上钻。 钻孔的本质是增加或减少维度。 增加维度(向下钻取)是从汇总数据到详细数据,而减少维度(向上钻取)是从详细数据汇总到汇总。 数据。 通过钻取,用户可以更深入地了解数据,更容易发现问题,做出正确的决策。

尺寸一致性

在 Kimball 的维度设计理论中,不存在物理数据仓库。 数据仓库是通过多个主题、多个业务流程的多次迭代逐步建立起来的。 多个问题和多个业务流程的多次迭代通常在逻辑上划分为数据集市。

所谓数据集市一般由一个或多个密切相关的事实表和多个维度表组成,通常是部门级别的或面向特定主题的。 数据仓库是企业级的、面向主题的、集成的数据集合。

物理数据集市合并为逻辑数据仓库。 一旦数据集市的建立逐步完成,如果在逐步建立数据集市的过程中维度表不一致,则数据集市将成为一个孤立的集合。 市场无法在逻辑上组合成一个集成的数据仓库,维度一致性就是为了解决这个问题而设计的。

维度一致性是指如果两个维度相关,则它们要么完全相同,要么在数学意义上一个维度是另一个维度的子集。

不一致包括维度表内容不一致和维度属性不一致。

维度一致性在将数据集市转变为数据仓库的过程中发挥着关键作用。 在实际的数据集市设计和开发过程中,必须保证维度的一致性。 具体来说,您可以共享同一个维度表,也可以将其中一个维度表作为另一个维度表。 子集等方法保证一致性,从而避免孤立数据集市的出现

维度整合与分裂

在实际的维度表设计中,有时同一张维度表来自于多个前端业务系统,这会造成维度整合和拆分的问题。

尺寸表

维度表是维度建模的灵魂。 维度表设计中遇到的问题(如维度变化、维度层次、维度一致性、维度整合与分裂等)将直接影响维度建模的质量。 因此,良好的尺寸表设计至关重要。 今天我们就来探讨一下维表设计的相关概念和技巧。

尺寸表  第3张

前面我们介绍了数据仓库建模中的事实表。 有关详细信息,请参阅数据仓库建模 - 事实表。 除了事实表之外,我们还提到了宽表。 您可以看到数据仓库建模——宽表设计。 今天我们来介绍一下数据仓库中的维度表,以及维度表设计和开发过程中容易遇到的一些问题。 在开始之前,我们先来看看如何识别维度,即什么是维度。 只有正确识别了尺寸,才能设计尺寸表。

确定尺寸

在实际的维度建模过程中,我们首先需要解决的问题是什么是维度或者什么是维度,维度的定义是什么。 事实上,维度的定义很容易就是我们看待事物的角度,或者我们如何衡量事实。 粒度。

事实上,关于什么是维度,每个人都可以回答几个答案。

在实际的维度建模过程中,清晰地识别维度是非常关键的。 维度是数据分析的入口,是保证数据仓库模型的通用性和易用性、回答业务用户范围的前提之一。

Kimball 认为,维度建模首先将真实情况划分为测量值和上下文。 通常指标的测量称为“事实”,产生测量的环境称为“维度”。

如果没有维度或背景,测量就没有意义。 例如,给定一个数字960,我们无法知道这个数字的含义。

图片-20210928161629562

然而,一旦将上下文添加到此测量中,它就变得有意义。 例如,我国的土地面积为960万平方公里。 其实这里也体现了一个问题,那就是单位。 既然是计量,就会有计量单位,所以我们在数据分析时,必须进行一些单位转换等操作。

维度是事实的背景。 没有维度的事实是没有意义的。 换句话说,维度是我们看待数据的视角。 我们通过一个小例子来看看。

“昨天早上张三在京东花了200块钱买了一个书包。” 这里是时间维度(昨天早上)、地点维度(京东)、产品维度(书包)

尺寸表

前面我们学习了如何识别维度,我们来看看维度表。

维度表通常有一个主键。 在ER模型中,实体是客观存在的事物,并且会有自己的描述性属性。 属性通常是文本和描述性的。 这里客观存在的事物及其描述就是维度。 ,这就是维度本身也有度量的原因。 例如,我们用户的年龄存储在维度表中,而不是事实表中,尽管它是一个度量。

维度建模的核心是将数据抽象为事实和维度。 维度是观察事物的角度,是对事实的一定粒度的度量词。

每个维度表都包含一个主键列。 维度表的主键可以用作与其关联的任何事实表的外键。 维度表通常比较宽,是扁平的、非标准的表,包含大量稳定的文本属性和数值属性。

尺寸表设计

维度设计过程就是确定维度属性的过程。 如何生成维度属性以及生成的维度属性的质量决定了维度使用的便利性,成为数据仓库可用性的关键。

数据仓库的能力与维度属性的质量和深度成正比。 其实这句话就说明了维表的重要性。 如果维度设计不好,数据仓库的数据服务能力就会很差。 具体表现为数据不准确、使用不方便、性能差。

那么我们来看看如何设计维度表。

尺寸表设计过程:选择尺寸

步骤 1:选择维度(添加到现有维度)或创建新维度。

维度是维度建模的核心。 在企业级数据仓库中,必须保证维度的唯一性和一致性。

唯一性,比如我们的一个用户,我们需要保证我们的维度表中只能有一条数据; 一致性是指我们维度表的维度必须一致或者说粒度必须始终决定主要维度。 表面

第二步:确定主尺寸表。 这里的主维度表通常是ODS表,直接与业务系统同步。

例如,如果多个业务线使用自己的用户表,那么主维度表可能是多个ods表。

确定相关尺寸表

第三步:确定相关维度表。 数据仓库是业务源系统的数据集成。 不同业务系统或同一业务系统的表之间存在关联性。 根据业务系统的排序,确定哪些表与主维表相关,并选择其中的部分表。 用于生成维度属性。

以商品维度为例,根据业务逻辑,我们可以得到商品与品类、SKU、买家、卖家、店铺等维度的关系。

也就是说,当我们确定了维度之后,比如产品或者用户,那么我们的维度表还需要存储产品的属性。

确定尺寸属性

步骤4:确定维度属性。 该步骤是基于相关维度表的确定。 也就是说,首先要确定自己需要哪些相关维度,然后再确定选择相关维度的哪些维度属性。

该步骤主要包括两个阶段,其一是从主维度表中选择维度属性或者生成新的维度属性;

第二阶段是从相关维度表中选取维度属性或生成新的维度属性。以商品维度为例,从主维度表以及category、sku、seller等相关维度表中选取维度属性或生成新的维度属性、商店等

维度表设计原则 维度层次划分

维度层次结构是指维度表中属性之间的从属关系。 例如,产品品类可能是分层的(一级品类、二级品类、三级品类等,特别是宝洁、联合利华等大型快消品集团),品类、品牌和产品其实也是有层次的。 那么维度建模如何处理这些层次结构呢?

其实有两种方法可以处理:

第一个是将所有维度层次结构扁平化并冗余地存储到一个维度表中。 比如第一到第三级品类的商品分别存储在三个字段中,品牌等的处理也类似; 二是新建类别维度表,并维护维度表中的父子关系。

第一个实际上是星型架构,第二个是雪花架构。 在维数建模中,我们使用第一种方法来处理维度的分层问题。 这个否定的过程牺牲了一部分存储,但是为用户带来便利并降低了学习和使用的成本。

尺寸的层次结构通常与钻对相关,这是信息的连续深入探索。

钻孔分为钻孔和钻孔。 例如,对于零售商的年销报告,其年销总数显示为20%。 因此,从时间分析中,哪个季度的增长率更高?

目前,您可以分析每个季度的增长率,还可以继续分析每月增长率甚至每日增长率。 同样的分析也可以应用于类别,品牌等,以分析哪个类别是增长率或增长率。 该品牌的增长导致总年销售量增长20%。 这称为钻探。

相反的是钻探。 钻井的本质是增加或减小尺寸。 增加的尺寸(向下钻取)从摘要数据到详细数据,同时缩小了尺寸(钻探)总结从详细数据到摘要。 数据。 通过钻探,用户可以更深入地了解数据,更容易找到问题并做出正确的决定。

尺寸一致性

在Kimball的维度设计理论中,没有物理数据仓库。 数据仓库是通过多个主题和多个业务流程的多个迭代逐渐建立的。 这些多个问题的多个迭代和多个业务流程通常在逻辑上分为数据集市。

所谓的数据集市通常由一个或多个密切相关的事实表和多个维度表组成,通常在部门级别或针对特定主题。 数据仓库是企业级,面向主题的集成数据收集。

物理数据集市被合并为逻辑数据仓库。 一旦建立数据集市的建立逐步完成,如果在建立数据集市的逐步过程中尺寸表不一致,则数据集市将成为一个孤立的集合。 市场不能从逻辑上合并到集成的数据仓库中,并且尺寸一致性旨在解决此问题。

维度一致性意味着,如果二维相关,则它们是完全相同的,或者一个维度是数学意义上另一个维度的子集。

矛盾之处包括维度表的内容的不一致和维度属性的不一致。

维度一致性在将数据集市变成数据仓库中起着关键作用。 在实际数据集市设计和开发过程中,必须确保维度一致性。 具体来说,您可以共享相同的维度表,也可以让一个维表之一为另一个维度表。 子集和其他方法以确保一致性,从而避免出现孤立的数据集市

尺寸整合和分裂

在实际的尺寸表设计中,有时相同的维表来自多个前端业务系统,这会导致维度集成和分裂问题。

0
0
收藏0

最新文章

取消
扫码支持 支付码