Hadoop构建数据仓库实践读书笔记【3】__数据仓库设计基础
关系数据库
关系表的属性:
- 每个表都有唯一的名称。
- 一个表中每个列有不同的名字。
- 一个列的值来自于相同的属性域。
- 列是无序的。
- 行是无序的。
候选键:
仅包含唯一标识记录所必须的最小数量列的超键。表的候选键有三个属性:
- 唯一性:在每条记录中,候选键的值唯一标识该记录。
- 最小性:具有唯一性属性的超键的最小子集。
- 非空性:候选键的值不允许为空
主键:
唯一标识表中记录的候选键。主键是唯一的、非空的。没有被选做主键的候选键称为备用键。在选择主键时,我们可以参考以下原则:
- 主键要尽可能地小
- 主键值不应该被改变。主键会被其他表所引用。如果改变了主键的值,所有引用该主键的值都需要修改,否则引用就是无效的。
- 主键通常使用数字类型,数字类型的主键要比其他数据类型效率更高。
- 主键应该是没用业务含义的,它不应该包含实际的业务信息,无意义的数字列不需要修改,因此是主键的思想选择。大部分关系型数据库支持的增属性或序列对象更适合当作主键。
- 虽然主键允许由多列组成,但应该使用尽可能少的列,最好是单列。
关系型数据库的主要语言就是SQL语言。
关系数据模型的缺点:需要额外建立数据集市的存储区,并增加相应的数据装载过程。对数据仓库的使用强烈依赖于SQL语言的掌握程度。
维度数据模型的特点:
- 易理解
- 高性能
- 可扩展
星形模式
维度模型最简单的形式,也是数据仓库以及数据集市开发中使用最广泛的形式。由事实表和维度表组成。
优点:简化查询、简化业务报表逻辑、获得查询性能、快速聚合、便于向礼服体提供数据。
缺点:不能保证数据完整性,对于数据分析需求来说不够灵活。
雪花模式
一种多维模型中表的逻辑布局,由事实表和维度表所组成。雪花化就是将星形模式中的维度表进行规范化处理。当所有的维度表完成规范化后,就形成了以事实表为中心的雪花型。
优点:星形模型是雪花模式的一个特例(维度没有那么多层级)。某些条件下,雪花模式更具有优势:一些OLAP多维数据库建模工具专为雪花模型进行了优化。规范化的维度熟悉节省存储空间。
缺点:维度数据规范化增加了查询的连接操作和复杂度。不确保数据完整性。
向雪花模式的表中装载数据时,一定要有严格控制的管理,避免数据异常插入或更新。
Data Vault 模型
Data Vault 模型是一种数据仓库建模方法,用来存储来自多个操作型系统的完整的历史数据。
Data Vault 不区分数据在业务层面的正确与错误,它保留操作型系统的所有时间的所有数据,装载数据时不做数据验证、清洗等工作。Data Vault 允许并行数据装载,不需要重新设计就可以实现扩展。
Data Vault 模型的组成部分:中心表(Hub)、链接表(Link)、附属表(Satellite)
从技术角度考虑,我们最好还是增加一个代理键。使用只有一列的代理键更易维护。对外键列和装载时间列联合建立唯一索引,也是一个好习惯。
Data Vault模型的特点
- 所有数据都基于时间来存储,即使数据是低质量的,也不能再ETL过程中处理掉。
- 依赖越少越好
- 和源系统越独立越好
- 设计上适合变化 (1、源系统中数据的变化。2、在不改变模型的情况下可扩展)
- ETL作业可以重复执行
- 数据完全可追踪。
数据集市与数据仓库的区别
对比项 | 数据仓库 | 数据集市 |
范围 | 企业级 | 部门或业务线 |
主题 | 多个主题 | 单一主题 |
数据源 | 遗留系统、事务系统、外部数据的多个数据源 | 数据仓库或事务系统的少量数据源 |
数据粒度 | 较软的粒度 | 较粗的粒度 |
数据结构 | 通常是规范化结构(3NF) | 星形模式、雪花模式或者二者兼而有之 |
历史数据 | 全部历史数据 | 部分历史数据 |
完成需要的时间 | 几个月到几年 | 几个月 |
数据集市主要用于部门级的分析型应用,数据大多数经历了汇总和聚合操作,粒度级别较高。
posted on 2019-07-17 16:57 菲菲菲非常可爱的小白兔 阅读(321) 评论(0) 编辑 收藏 举报