数据仓库:数据仓库概念及技术框架

1. 什么是数据仓库

  • 应用场景:对历史数据进行大规模的决策分析,为上层应用做准备;
  • 数据来源:结构化数据、半结构化数据、非结构化数据;

2. 数据仓库和数据库的区别

数据库 数据仓库
面向事务(OLTP)设计的 面向主题(OLAP)设计的
一般存储在线数据 一般存储历史数据
尽量避免冗余 可以引入冗余设计
为捕获数据而设计 为数据分析而设计

3. 主流数据仓库

  • Oracle Database;
  • TeraData;
  • IBM Red Brick;
  • Netzza TwinFin;
  • Greenplum;

4. 数据仓库三层模型

  • ODS 层(备份),业务数据 \ 日志数据;
  • DW 层,按照主题维度建立数据模型,维 & 事实;
    -- DWD,清洗脏数据;
    -- DDWS,按天统计用户数据;
    -- DWT,统计用户累计数据;
  • ADS,

:主题的各个属性;
事实:对于属性的度量;

  • DM 层,提供数据产品和数据分析使用的数据,一般存放于 ES、MySQL等功线上系统使用,也可能存繁育 hive 或 Druid 中供数据分析和数据挖掘使用,一般常说的宽表就是存放在这里;

5. 数据建模

  • 维度表,
    -- 表示对于分析主题所属类型的描述;
  • 事实表,
    -- 对分析主题的度量,通常表现为数值;
    -- 事实表包含了与各维度表关联的外码,并通过 join 方式与维度表关联;

6. DW 层建模

  • 星型模型,多维对单事实;
  • 雪花模型(不常用),多维对单事实;
  • 星座模型,多维对多事实,业务发展后期绝大部分采用星座模型;

7. 数据来源

  • 爬虫数据
  • 用户行为数据
    -- 多来自日志文件;
  • 业务数据
    -- 业务系统后台,如:MySQL / MongoDB;

8. 数据输出

  • 报表系统
  • 用户画像
  • 推荐系统
  • 机器学习

9. 数据仓库需要的技术框架

  • 采集:Flume / Kafka / Sqoop;
  • 存储:MySQL / Hadoop / HBase;
  • 计算:Hive / Tez;
  • 查询:Presto / Druid / Kylin;
  • 可视化:Superset;
  • 任务调度:Azkaban;
  • 集群监控:Zabbix;
  • 元数据管理:Altas;
  • 脚本:shell;

10. 数据仓库主要工作内容

  • 用户行为数据采集平台
  • 业务数据采集平台搭建
  • 数据仓库维度建模
  • 数据分析
    -- 用户、流量、会员、商品、活动、销售、地区 等主题分析;
  • 即时数据查询 \ 指标分析
  • 集群性能监控
  • 元数据管理
  • 数据质量监控

你可能感兴趣的:(数据仓库:数据仓库概念及技术框架)