- 1. OLTP、OLAP、HTAP
- 2. 数据仓库的特点
- 3. 数据仓库分层
- 4. 事实表和维度表
- 5. 星型模型和雪花模型
- OLTP:联机事务处理,特点是事务操作频繁、数据量小,基于ER模型。比如ERP系统、CRM系统、电商系统
- 三范式:第一范式:每一列都具有不可分割的原子性;第二范式:实体的唯一性,每个列都和主键相关,消除数据冗余;第三范式:列和列之间不存在传递依赖
- ER模型:实体关系模型
- OLAP:联机分析处理,特点是没有事务性操作,主要用于查询数据进行分析,为决策提供帮助,数据量大。比如数据仓库
- 面向主题的:根据分析需求对数据进行组织,划分成多个主题,如用户、商品主题
- 数据集成的:针对主题,将多个分散的数据源进行集成
- 非易失的:数据仓库的数据主要应用是查询分析,一般很少更新和删除数据
- 时变的:每天都会有新的数据进来,一般保留5~10年的数据
将一个复杂的数据处理分解成多个小的步骤来处理,不同的层完成不同的工作,使数据处理的架构更加清晰,出现问题更容易被发现,同时减少了重复的数据开发工作,使数据查询效率和速度变快
-
ODS源数据层 源数据层,数据储存在不同的数据源,数据格式也不同。一般是业务数据库、日志文件、埋点数据。采用范式建模。同步到该层可以采用ETL工具Nifi等
-
DWD数仓明细层 对ODS层的数据进行ETL,对缺失值、重复值、异常值进行处理,并对不同数据源的数据进行格式处理,以一致的格式保存在DWD层,数据粒度和ODS一样。采用范式建模
有时为了提高明细数据的易用性,会将维度表的数据放到事实表中
-
DWM数仓中间层
对多个维度进行数据聚合,产生中间表数据。有时可以省略该层。采用维度建模
-
DWS数仓服务层 针对某个主题,聚合形成大宽表数据。数据来源为DWD和DWM层。采用维度建模
-
ADS数据应用层 根据具体的需求构建数据,是高度汇总的数据,针对于特定场景,如报表展示、数据分析和挖掘。采用维度建模
-
事实表
一个数据仓库根据不同的主题可以形成多个事实表。事实表包含多个key,与维度表进行join关联,事实表同时包含多个数值类型的计算字段。事实表的数据量会越来越多
-
维度表
维度表是对特定实体的各种属性进行描述,如商品维度表、用户维度表。维度表数据量往往较少,变化也少
- 星型模型
以事实表为中心,所有的维度表直接与事实表关联,维度表和维度表没有连接
- 雪花模型
以事实表为中心,有的维度表直接与事实表关联,有的维度表和维度表连接。相对于星型模型更规范,但join的表多,OLAP的性能更差,一般数据仓库中用的少