数据仓库【三】:基本概念

众所周知,做数据分析、BI建设,都离不开数据仓库建设,数仓建设的本质目的是支撑分析决策。今天跟着我来学学数据仓库的基础知识,通过本文的阅读,你将获得以下方面的认知:

  1. 什么是数仓
  2. 数仓的核心概念
  3. 数仓的分层架构

数据仓库概述

数据仓库,顾名思义,就是存储数据的仓库。

现实中的仓库会有不同的分区和归类,分区下有多个货架,货架上堆放着各种各样的商品。对于数据仓库来说,分区归类就类似于数据仓库的基础架构,数据仓库的数据存储结构(如表)就是仓库的货架,而商品则是对应数据仓库实际存储的各种数据。无论是什么样的仓库,无论仓库大小,其目的都是为了实现物品的集中管理、有序存取,数据仓库也是一样,它管理存储的是数据以及数据结构。

其实业界对于数据仓库早已有了广泛认可的定义,即:数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策

数据仓库本质上是一种特殊的数据组织形式:

  1. 面向主题,即数据仓库中表的设计是按照一个个主题进行组织的而非按照业务流程设计;
  2. 集成性,是指将企业中各大业务系统进行数据集中、整合、加工从而形成全局统一的数据视图;
  3. 相对稳定,则是指数据仓库中的数据不会做频繁的增删改操作,相对于业务系统中频繁的事务处理,其数据变化相对稳定;
  4. 反应历史变化,表明数据仓库通常会保存数据的历史备份,因此就可以从中获取数据历史变化情况。

数据仓库的这些特性满足了分析型应用的需求,可以更好的帮助企业制定管理决策。

数据仓库核心概念

理解完数据仓库基本概念和特性,接着我们来学习下数据仓库的核心概念。

维度

维度是一个与业务相关的观察角度,比如我们从地区角度观察哪个地区的销售额最多,那么地区就是一个维度。在数据仓库中我们将这些维度信息存储成一张张数据库表,我们称之为维表。

维表主要分为:单级维、层级维、变化维。

  • 单级维是指一对一的代码表,不存在层级关系,最主要的作用是将事实表中的代码显示为标题(名称)
  • 层级维是具有分层结构的维度表,比如地区维,层级往上可以到区、市、省、国家等。
  • 缓慢变化维是随着时间属性变化的,如机构维,机构名称会随时间而改变。

维表通常由维主键编码和维度名称以及其他属性字段组成。

度量

度量是反映企业运行情况或状态的一些数值指标,是业务量化的表示,可以用来监测业务的成效,比如销售额、利润来反应企业业绩。

事实表

事实表也被称为主题表,它是由若干维度和度量组合而成,表达期望分析的主题。事实表中的多个维度的组合决定了事实表的数据详细程度,这种详细程度我们称之为颗粒度。以颗粒度来划分主题表的话,通常会有三种事实表:事务粒度事实表周期快照粒度事实表累积快照粒度事实表

以一个例子来说明,比如某个商品的一笔销售记录,我们用表记录下来,这条记录已经是最小的数据记录单元,不可再分,因此它是一个事务粒度的事实表,我们将这张表按自然月进行汇总得到该商品月度销售情况,那么这张表就是按一定周期记录事实,我们称之为周期快照粒度事实表。最后一种累积快照事实表,则记录覆盖整个生命周期过程中的不同阶段的关键信息,如订单累积快照事实表,包括下单时间、付款时间、发货时间、收货时间等,通过多个时间字段记录订单从产生到业务完结的关键节点,在订单的不同阶段,这些时间字段逐步被填充。

在数据仓库中,维度表和事实表的设计需要遵循一些重要原则,即一致性维度一致性事实

所谓一致性维度是指在同一个集市内,两个维度如果有关系,要么就是完全一样的,要么就是一个维度在数学意义上是另一个维度的子集,例如,如果建立月维度话,月维度的各种描述必须与日期维度中的完全一致,最常用的做法就是在日期维度上建立视图生成月维度。这样月维度就可以是日期维度的子集,在后续钻取等操作时可以保持一致;

所谓一致性事实,即是指表达相同业务含义的度量(或称为指标)需要在描述定义和计算口径、度量单位等保持一致,杜绝系统间同词不同义或同义不同词的问题。

数据仓库分层架构

数据仓库有分层结构,每个分层结构都有各自的作用,大抵上分层结构分为:贴源层、整合层、集市层、汇总层

  • 贴源层,就是将所有涉及业务系统的数据抽取到这一层集中存放,同时也会保留历史数据,这一层基本保留了与源系统一样的结构和数据
  • 整合层,会保留最细颗粒的所有历史数据,它面向主题、规范化建模,站在全局的视角上规划主题、整合业务模型,在数据模型维度上完成重大的转变。
  • 集市层,面向某个业务主题的多维模型集合。通过预计算、预连接、维度规范化等方式进一步将业务系统的范式模型转变成面向主题的多维模型。
  • 汇总层,它应技术或业务需要而建,直面需求,方便展现,同时提高数据的存储性能。

数据仓库分层架构从整体上来看,是将数据从分散到集中、从细粒度到高度汇总、从业务模型到分析型模型转变的过程,从而更好的为分析型系统提供后台数据支撑。



转载请注明出处:数据仓库【三】:基本概念
原文地址:https://www.xiaotanzhu.com/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/2022-07-02-dw-basic-concepts.html