Hadoop构建数据仓库实践读书笔记【3】__数据仓库设计基础

关系数据库

关系表的属性:

  1. 每个表都有唯一的名称。
  2. 一个表中每个列有不同的名字。
  3. 一个列的值来自于相同的属性域。
  4. 列是无序的。
  5. 行是无序的。

候选键:

仅包含唯一标识记录所必须的最小数量列的超键。表的候选键有三个属性:

  • 唯一性:在每条记录中,候选键的值唯一标识该记录。
  • 最小性:具有唯一性属性的超键的最小子集。
  • 非空性:候选键的值不允许为空

主键:

唯一标识表中记录的候选键。主键是唯一的、非空的。没有被选做主键的候选键称为备用键。在选择主键时,我们可以参考以下原则:

  • 主键要尽可能地小
  • 主键值不应该被改变。主键会被其他表所引用。如果改变了主键的值,所有引用该主键的值都需要修改,否则引用就是无效的。
  • 主键通常使用数字类型,数字类型的主键要比其他数据类型效率更高。
  • 主键应该是没用业务含义的,它不应该包含实际的业务信息,无意义的数字列不需要修改,因此是主键的思想选择。大部分关系型数据库支持的增属性或序列对象更适合当作主键。
  • 虽然主键允许由多列组成,但应该使用尽可能少的列,最好是单列。

关系型数据库的主要语言就是SQL语言。

关系数据模型的缺点:需要额外建立数据集市的存储区,并增加相应的数据装载过程。对数据仓库的使用强烈依赖于SQL语言的掌握程度。

 维度数据模型的特点:

  • 易理解
  • 高性能
  • 可扩展

星形模式

维度模型最简单的形式,也是数据仓库以及数据集市开发中使用最广泛的形式。由事实表和维度表组成。

优点:简化查询、简化业务报表逻辑、获得查询性能、快速聚合、便于向礼服体提供数据。

缺点:不能保证数据完整性,对于数据分析需求来说不够灵活。

雪花模式

一种多维模型中表的逻辑布局,由事实表和维度表所组成。雪花化就是将星形模式中的维度表进行规范化处理。当所有的维度表完成规范化后,就形成了以事实表为中心的雪花型。

优点:星形模型是雪花模式的一个特例(维度没有那么多层级)。某些条件下,雪花模式更具有优势:一些OLAP多维数据库建模工具专为雪花模型进行了优化。规范化的维度熟悉节省存储空间。

缺点:维度数据规范化增加了查询的连接操作和复杂度。不确保数据完整性。

向雪花模式的表中装载数据时,一定要有严格控制的管理,避免数据异常插入或更新。

Data Vault 模型

Data Vault 模型是一种数据仓库建模方法,用来存储来自多个操作型系统的完整的历史数据。

Data Vault 不区分数据在业务层面的正确与错误,它保留操作型系统的所有时间的所有数据,装载数据时不做数据验证、清洗等工作。Data Vault 允许并行数据装载,不需要重新设计就可以实现扩展。

Data Vault 模型的组成部分:中心表(Hub)、链接表(Link)、附属表(Satellite)

从技术角度考虑,我们最好还是增加一个代理键。使用只有一列的代理键更易维护。对外键列和装载时间列联合建立唯一索引,也是一个好习惯。

Data Vault模型的特点

  • 所有数据都基于时间来存储,即使数据是低质量的,也不能再ETL过程中处理掉。
  • 依赖越少越好
  • 和源系统越独立越好
  • 设计上适合变化 (1、源系统中数据的变化。2、在不改变模型的情况下可扩展)
  • ETL作业可以重复执行
  • 数据完全可追踪。

数据集市与数据仓库的区别

对比项 数据仓库 数据集市
范围 企业级 部门或业务线
主题 多个主题 单一主题
数据源 遗留系统、事务系统、外部数据的多个数据源 数据仓库或事务系统的少量数据源
数据粒度 较软的粒度 较粗的粒度
数据结构 通常是规范化结构(3NF) 星形模式、雪花模式或者二者兼而有之
历史数据 全部历史数据 部分历史数据
完成需要的时间 几个月到几年 几个月

数据集市主要用于部门级的分析型应用,数据大多数经历了汇总和聚合操作,粒度级别较高。

负重前行
原文地址:https://www.cnblogs.com/astride/p/11202087.html