1 概述

数据库 VS 数据仓库

  • 数据库是面向事务设计的,属于 OLTP(在线事务处理)系统,主要操作是随机读写;在设计时尽量避免冗余,常采用范式规范来设计
  • 数据仓库是面向主题设计的,属于 OLAP(在线分析处理)系统,主要操作是批量读写;在设计时会允许适当冗余,注重数据整合,以及分析、处理性能
数据库 数据仓库
面向 事务 分析
目的 日常操作 长期信息需求、决策支持
操作 读、写 大多数为读
设计模型 基于 ER 模型,面向应用 星型、雪花型,面向主题
数据类型 细节、业务 综合、清洗过的数据
数据特点 当前的、最新的 历史的、跨时间维护
数据规模 GB 到 TB >= TB

2 数据仓库

2.1 数仓分层

数据仓库的分层没有绝对统一的标准,请按实际业务需求进行增减
但有以下几个核心层,由上至下 依次为

分层 子分层 描述 场景
ADS - 数据应用层:Application Data Service 报表查询
DW DWS 数据服务层:Data Warehouse Service 汇总数据,用于分析
DWM 数据中间层:Data WareHouse Middle 在 DWD 基础上进行轻微聚合操作,算出相应指标,形成 中间表
DWD 数据明细层:Data Warehouse Details 对 ODS 数据进行 ETL 后的明细数据
维度退化,形成 宽表,减少 join,优化查询
ODS - 原始数据层:Operational Data Store 同步原始业务数据,表结构保持不变

DW: 中还可以有 DIM(维度层)和 TEMP(临时层)等
ETL:Extract(抽取)、Transform(转换)、Load(加载)
常用的 ETL 工具:Spoon Kettle
APS:又称 DM(Data Mart 数据集市)、DWM:又称 DWB(基础数据层)

2.2 维度建模

维度建模的实现有两种:星型模型雪花模型,主要区别在于对 维度表 的拆分
星型模型:一般采用 降维 的操作,利用冗余来避免模型过于复杂,提高易用性和分析效率
雪花模型:维度表的设计更加规范,一般符合 3NF
推荐:更倾向于 星型模型,尤其是 hadoop 体系

星型模型:像五角星一样
在这里插入图片描述

雪花模型:像雪花一样
在这里插入图片描述

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐