数仓基础知识点整理
数据仓库–>面向分析的数据集合
各种查询、维度、结构–>(星型、雪花)、深度、非易失
目标:分析结果给管理层看,辅助决策
数据库–>对数据的增删改查
3NF
目标:web项目(一般给客户看)
数据仓库分层:
ODS:数据接入层
DWD:数据明细层
DWS:数据汇总层
ADS:数据应用层
ODS:
人物画像:
用户表:id、name、gender、born_date、籍贯…
地址表:
用户关系表:
消费:
银行卡消费记录:
电子支付消费记录:
…
收入:
工作:
DWD:
主题:消费
用户天平均消费表
数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合
数据仓库和数据库的区别
数据库是为捕获和存储数据而设计
数据仓库是为分析数据而设计
数据库 | 数据仓库 | |
---|---|---|
本质 | 数据的集合 | 数据的集合 |
定位 | 事务处理OLTP | 数据分析OLAP |
面向群体 | 前端用户 | 管理人员 |
操作 | 增删改查 | 查询 |
数据粒度 | 事件记录 | 维度 |
表结构 | 3NF | 星型、雪花 |
OLTP和OLAP的区别
联机事务处理OLTP
On-Line Transaction Processing
OLTP是传统的关系型数据库的主要应用
主要是基本的、日常的事务与处理
例如银行交易
联机分析处理OLAP
On-Line Analytical Processing
OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果
对比属性 | OLTP | OLAP |
---|---|---|
读特性 | 每次查询只返回少量记录 | 对大量记录进行汇总 |
写特性 | 随机、低延时写入用户的输入 | 批量导入 |
使用场景 | 用户,Java EE项目 | 内部分析师,为决策提供支持 |
数据表征 | 最新数据状态 | 随时间变化的历史状态 |
数据规模 | GB | TB到PB |
Inmon架构
Kimball架构
混合型架构
数据仓库的解决方案
数据采集
Flume、Scoop、Logstash、DataX
数据存储
MySQL、HDFS、HBase、Redis、MongoDB
数据计算
Hive、Tez、Spark、Flink、Storm、Impala
数据可视化
Tableau、Echarts、Superset、QuickBI、DataV
任务调度
Oozie、Azkaban、Crontab