19. 大数据-数据仓库简介

文章目录

  • 前言
    • 一、基础概念
      • [1. 数据仓库 DW](#1. 数据仓库 DW)
      • [2. 四大经典特性(数仓基石)](#2. 四大经典特性(数仓基石))
      • [3. 常用名词](#3. 常用名词)
    • [二、主流数仓架构(3 种)](#二、主流数仓架构(3 种))
      • [1. 传统离线架构(最常用)](#1. 传统离线架构(最常用))
      • [2. 实时数仓架构(现在主流)](#2. 实时数仓架构(现在主流))
      • [3. 湖仓一体架构(大厂趋势)](#3. 湖仓一体架构(大厂趋势))
    • 三、标准数仓分层(必背,面试工作通用)
      • [1. ODS 层 原始数据层](#1. ODS 层 原始数据层)
      • [2. DWD 层 明细清洗层](#2. DWD 层 明细清洗层)
      • [3. DWS 层 汇总轻度聚合层](#3. DWS 层 汇总轻度聚合层)
      • [4. ADS 层 应用指标层](#4. ADS 层 应用指标层)
      • [5. DIM 层 维度层](#5. DIM 层 维度层)
    • 四、完整数据流转全流程
    • [五、离线数仓 vs 实时数仓 核心区别](#五、离线数仓 vs 实时数仓 核心区别)
    • 六、工作常用数据源对应落地
    • 七、最简技术路线

前言

数据仓库 DW


一、基础概念

1. 数据仓库 DW

定义 :面向分析、决策 ,整合全业务多源数据,做统一存储、清洗、汇总的数据集合

  • 特点:面向主题、集成性、稳定性、时变性

  • 和数据库区别:

    • 数据库(MySQL):OLTP 事务业务,增删改查、日常交易
    • 数仓:OLAP 分析查询,统计、报表、指标、用户画像

2. 四大经典特性(数仓基石)

  1. 面向主题:按业务域划分(用户、订单、商品、流量),不按系统划分
  2. 集成性:统一清洗、统一格式、统一编码,抹平多源差异
  3. 非易失(稳定) :以追加写入为主,极少删除修改,保留历史
  4. 随时间变化:自带时间维度,可回溯每日 / 每月数据

3. 常用名词

  • ETL:抽取 Extract→转换 Transform→加载 Load(传统离线)
  • ELT:抽取 Extract→加载 Load→转换 Transform(现代数仓主流,先入库再清洗)
  • 维度:分析角度(时间、地区、用户、渠道)
  • 指标:聚合数值(订单量、销售额、UV、转化率)
  • 事实表:存放业务行为明细(订单明细、点击日志)
  • 维度表:存放基础属性(用户信息、商品分类)
  • 数据集市 DM:数仓子集,给业务部门单独使用

二、主流数仓架构(3 种)

1. 传统离线架构(最常用)

数据源 → 采集层 → 计算层 → 数仓分层 → 应用层

  • 采集:DataX、Sqoop、Flume、Canal
  • 存储:HDFS
  • 计算:Hive、Spark
  • 调度:Azkaban、DolphinScheduler
  • 查询:Presto、Impala

2. 实时数仓架构(现在主流)

实时数据源 (Kafka) → Flink 实时计算 → 实时存储 → 实时报表

  • 实时存储:ClickHouse、Doris、StarRocks、TiDB

3. 湖仓一体架构(大厂趋势)

数据湖(原始海量明细)+ 数据仓库(结构化分层指标)

  • 数据湖:存原始全量数据,廉价、格式灵活
  • 数仓:做规整分层,供业务分析

三、标准数仓分层(必背,面试工作通用)

1. ODS 层 原始数据层

  • 作用:原样同步原始数据,不清洗、不转换
  • 来源:MySQL、日志、API、MongoDB
  • 特点:数据杂乱、冗余大、结构贴近源系统
  • 命名:ods_xxx

2. DWD 层 明细清洗层

  • 作用:清洗脏数据、过滤无效数据、字段脱敏、格式统一
  • 输出:干净标准化业务明细数据
  • 命名:dwd_xxx

3. DWS 层 汇总轻度聚合层

  • 作用:按维度轻度汇总(按天、按小时、按渠道)
  • 产出:宽表、行为汇总表
  • 命名:dws_xxx

4. ADS 层 应用指标层

  • 作用:最终业务指标,直接给报表、大屏、BI
  • 产出:日报、周报、营收、流量、用户指标
  • 命名:ads_xxx

5. DIM 层 维度层

独立存放:用户维度、商品维度、地区维度、时间维度

分层口诀

原始 ODS → 清洗 DWD → 汇总 DWS → 指标 ADS


四、完整数据流转全流程

  1. 数据产生

业务系统、APP 埋点、服务器日志、物联网设备、第三方接口

  1. 数据采集
  • 数据库:Canal 监听 Binlog 增量同步

  • 日志:Flume 采集推送 Kafka

  • 文件 / 批量:DataX 全量同步

  1. 数据中转

统一存入 Kafka 做削峰、解耦、实时缓冲

  1. 数据计算处理
  • 离线:Hive/Spark 跑 T+1 凌晨任务

  • 实时:Flink 实时清洗、聚合、关联

  1. 分层入库

依次写入 ODS→DWD→DWS→ADS

  1. 数据服务应用
  • 自助 BI 报表
  • 运营后台指标
  • 实时监控大屏
  • 用户画像、数据分析、风控模型

五、离线数仓 vs 实时数仓 核心区别

  1. 离线数仓(Hive 为主)
  • 时效:T+1,次日看昨日数据
  • 场景:日报、月报、大盘复盘、历史回溯
  • 优点:数据量大、稳定、成本低
  • 缺点:延迟高
  1. 实时数仓(ClickHouse/Doris 为主)
  • 时效:秒级 / 分钟级
  • 场景:实时流量、直播大屏、实时交易额、告警监控
  • 优点:速度快、响应及时
  • 缺点:存储成本高,不适合超久历史明细

六、工作常用数据源对应落地

  • MySQL/PG/SQLServer/Oracle → 同步进 ODS 离线层
  • 埋点日志、系统日志 → 进 Kafka → 实时清洗入 ClickHouse
  • API 接口数据 → 定时抓取入数仓
  • 手工 Excel 表 → 导入 ODS 做业务补数
  • MongoDB → 同步清洗进明细层

七、最简技术路线

  1. 吃透数仓四层分层含义与建表思路
  2. 掌握事实表、维度表、宽表设计
  3. 学会 Hive 建表、分区、分桶、常用函数
  4. 了解 Flink 实时流转流程
  5. 分清 Hive 离线、ClickHouse 实时使用场景
  6. 学习数据同步、调度、数据质量基础
相关推荐
Volunteer Technology1 小时前
MapReduce使用与原理(一)
大数据·eclipse·mapreduce
Volunteer Technology1 小时前
MapReduce使用与原理 (二)
大数据·mapreduce
石逸凡1 小时前
新时代的信息茧房
大数据·人工智能
澈2071 小时前
Git入门指南:核心概念与实用操作
大数据·git·搜索引擎
workflower2 小时前
人工智能全球治理
大数据·人工智能·设计模式·机器人·动态规划
workflower2 小时前
AI灵活高效的智慧用能核心场景
大数据·人工智能·设计模式·机器人·动态规划
189228048612 小时前
NV301固态MT29F32T08GWLBHD6-QJES:B
大数据·服务器·人工智能·科技·缓存
海兰2 小时前
在 Grafana 中驾驭 ES|QL:Elasticsearch 管道查询实战指南
大数据·elasticsearch·grafana
zuozewei2 小时前
AI-7D-SATS平台的harness engineering设计:让 AI Agent 从“工具堆叠”长成“工程制品”
大数据·人工智能