数据仓库 — 10_数仓建模理论(基本分层模型、关系建模和维度建模、事实表和维度表)


欢迎访问笔者个人技术博客: http://rukihuang.xyz/
学习视频来源于尚硅谷,视频链接: 尚硅谷大数据项目数据仓库,电商数仓V1.2新版,Respect!

1 数仓分层

1.1 基本分层模型

在这里插入图片描述

  • 分层原因:
    • 把复杂问题简单化:将复杂的任务分解成多层来完成,每一层只处理简单任务,方便定位问题。
    • 减少重复开发:规范数据分层,通过中间层数据,能够减少大量的重复计算,增加一次计算结果的复用性。
    • 隔离原始数据:不论是数据的异常还是数据的敏感性,使真实数据与统计数据隔离开。

1.2 数据集市和数据仓库

  • 数据集市:部门级。一种微型的数据仓库,通常具有更少的数据,更少的主题区域,以及更少的历史数据。
  • 数据仓库:企业级。能为整个企业各个部门运转提供决策支持手段。

2 数仓理论

2.1 范式理论

详见过往文章对范式理论的解释:Java Web 02 — MySQL_02(数据库的设计、数据库的备份和还原、多表查询、事务、DCL)

  • 第一范式1NF:属性不可切割
  • 第二范式2NF:不能存在部分函数依赖
  • 第三范式3NF:不能存在传递函数依赖

2.2 关系建模和维度建模

  • 当今的数据处理大致可以分为2类:联机事务处理OLTP ( on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP 是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。二者的主要区别对比如下表所示。
对比属性OLTPOLAP
读特性每次查询只返回少量数据对大量数据进行汇总
写特性随机、低延时写入用户的输入批量导入
使用场景用户,JavaEE项目内部分析师,为决策提供支持
数据表征最新数据状态随时间变化的历史状态
数据规模GBTB、PB

2.2.1 关系建模

在这里插入图片描述

  • 关系模型如图所示,严格遵循第三范式(3NF),从图中可以看出,较为松散、零碎,物理表数量多,而数据冗余程度低。由于数据分布于众多的表中,这些数据可以更为灵活地被应用,功能性较强。关系模型主要应用与OLTP 系统中,为了保证数据的一致性以及避免冗余,所以大部分业务系统的表都是遵循第三范式的。

2.2.2 维度建模

在这里插入图片描述

  • 维度模型如图所示,主要应用于OLAP 系统中,通常以某一个事实表为中心进行表的组织,主要面向业务,特征是可能存在数据的冗余,但是能方便的得到数据。
  • 关系模型虽然冗余少,但是在大规模数据,跨表分析统计查询过程中,会造成多表关联,这会大大降低执行效率。所以通常我们采用维度模型建模,把相关各种表整理成两种:事实表维度表两种。

2.2.2.1 维度建模的三种模型

  1. 星型模型:事实表周围只有一层维度表

在这里插入图片描述

  1. 雪花模型:维度表有多个层级

在这里插入图片描述

  1. 星座模型:多张事实表

在这里插入图片描述

2.3 维度表和事实表

2.3.1 维度表

  • 维度表:一般是对事实的描述信息。每一张维表对应显示世界中的一个对象或者概念。
  • 维度表特征:
    • 维度的范围很宽(具有多个属性,多个列)
    • 和事实表相比,行数相对少
    • 内容相对固定:编码表
  • 如商品信息表,每一行表示一种商品的具体特征和概念(小米手机,128G,白色,4999元)

2.3.2 事实表

  • 每一个事实表的行包括:具有可加性的数值型的度量值、与维表相连接的外键、通常具有两个和两个以上的外键、外键之间表示维表之间多对多的关系。可统计的
  • 特征:
    • 非常大
    • 内容相对窄(列数少)
    • 经常发生变化,每天会新增很多
  • 如订单表(小明,小米手机,4999元,优惠券200元,下单时间20200521 09:00)
要想在百度八亿网页的数据海洋中找到你所要的信息, 人工方式需要1200 多人年,而百度搜索技术不到1 秒钟。人 们被数据淹没,却渴望知识。商务智能技术已成为当今企业 获取竞争优势的源泉之一。商务智能通常被理解为将企业中 现有的数据转化为知识,帮助企业做出明智决策的IT工具集。 其中数据仓库、OLAP和数据挖掘技术是商务智能的重要组成 部分。商务智能的关键在于如何从众多来自不同企业运作系 统的数据中,提取有用数据,进行清理以保证数据的正确性, 然后经过抽取、转换、装载合并到一个企业级的数据仓库里, 从而得到企业数据的一个全局视图,并在此基础上利用适当 的查询分析、数据挖掘、OLAP等技术工具对其进行分析处理, 最终将知识呈现给管理者,为管理者的决策过程提供支持。 可见,数据仓库技术是商业智能系统的基础,在智能系统开 发过程中,星型模式设计又是数据仓库设计的基本概念之一。 星型模式是由位于中央的事实和环绕在四周的维度 组成的,事实中的每一行与每个维度的多行建立关系, 查询结果是通过将一个或者多个维度事实结合之后产 生的,因此每一个维度事实都有一个“一对多”的连 接关系维度的主键是事实中的外键。随着企业交易量 的越来越多,星型模式中的事实数据记录行数会不断增加, 而且交易数据一旦生成历史是不能改变的,即便不得不变动, 如对发现以前的错误数字做修改,这些修改后的数据也会作 为一行新纪录添加到事实中。与事实总是不断增加记录 的行数不同,维度的变化不仅是增加记录的行数,而且据 需求不同维度属性本身也会发生变化。本文着重讨论数据 仓库维度的变化类型及其更新技术。
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页