Oracle 数据仓库详解
数据仓库
·
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 体系
星型模型:像五角星一样
雪花模型:像雪花一样
更多推荐
所有评论(0)