文章目录
数据仓库
数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合
面向主题
- 主题(Subject)是在较高层次上将企业信息系统中的数据进行综合、归类和分析利用的一个抽象概念
- 每一个主题基本对应一个宏观的分析领域
- 在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象
注:在每个主题中,包含了相关主题的所有信息,同时又抛弃了与分析处理无关的数据
集成
- 1、集成性是指数据仓库中数据必须是一致的
数据仓库的数据是从原有的分散的多个数据库、数据文件和数据段中抽取来的
数据来源可能既有内部数据又有外部数据
例如F/M,0/1,A/B - 2、集成方法
统一:消除不一致的现象
综合:对原有数据进行综合和计算
非易失
数据仓库中的数据是经过抽取而形成的分析型数据
- 不具有原始性
- 主要供企业决策分析之用
- 执行的主要是‘查询’操作,一般情况下不执行‘更新’操作
- 一个稳定的数据环境也有利于数据分析操作和决策的制订
随时间变化
数据仓库以维的形式对数据进行组织,时间维是数据仓库中很重要的一个维度
- 不断增加新的数据内容
- 不断删去旧的数据内容
- 更新与时间有关的综合数据
数据仓库和数据库的区别
- 数据库是为捕获和存储数据而设计
- 数据仓库是为分析数据而设计
本质都是数据的集合,但侧重点不同
数据库主要面对的是web项目,对事务要求比较高
数据仓库主要针对分析,对事务无要求
OLTP和OLAP的区别
1、联机事务处理OLTP
- On-Line Transaction Processing
- OLTP是传统的关系型数据库的主要应用
主要是基本的、日常的事务处理
例如银行交易
2、联机分析处理OLAP
- On-Line Analytical Processing
- OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果
数据仓库的架构
1、Inmon架构
数据过渡区:ODS层
数据仓库:DW层(BDS、CIS)
数据集市:DM层(ADS层)
ETL中间过程:Extract抽取,Transform转换,Load装载
2、Kimball架构
3、混合型架构
数据仓库的解决方案
- 1、数据采集
Flume,Sqoop,Logstash,Datax - 2、数据存储
MySQL,HDFS,HBase,Redis,MongoDB - 3、数据计算
Hive,Tez,Spark,Flink,Storm,Impala - 4、数据可视化
Tableau,Echarts,Superset,QuickBI,DataV - 5、任务调度
Oozie,Azkaban,Crontab
数据ETL
- 1、抽取(Extract)
从操作型数据源获取数据 - 2、转换(Transform)
转换数据,使之转变为适用于查询和分析的形式和结构 - 3、装载(Load)
将转换后的数据导入到最终的目标数据仓库
数据仓库的建模
- 数据仓库模型构建步骤:
1、选择业务流程
2、声明粒度 ——时间维度(年、月、日等)
3、确认维度
4、确认事实 ——事实表(不会经常变更的信息)
选择业务流程
- 1、确认哪些业务处理流程是数据仓库应该覆盖的
例如:了解和分析一个零售店的销售情况 - 2、记录方式
a)使用纯文本
b)使用业务流程建模标注(BPMN)方法
c)使用同一建模语言(UML)
声明粒度
- 1、用于确定事实中表示的是什么
例如:一个零售店的顾客在购物小票上的一个购买条目 - 2、选择维度和事实前必须声明粒度
- 3、建议从原始粒度数据开始设计
原始记录能够满足无法预期的用户查询 - 4、不同的事实可以有不同的粒度
确认维度
- 1、说明了事实表的数据是从哪里采集来的
- 2、典型的维度都是名词
例如:日期、商店、库存等 - 3、维度表存储了某一维度的所有相关数据
例如:日期维度应该包括年、季度、月、周、日等数据
确认事实
- 1、识别数字化的度量,构成事实表的记录
- 2、和系统的业务用户密切相关
- 3、大部分事实表的度量都是数字类型的
可累加,可计算
例如:成本、数量、金额
数据仓库模型
星型模型
1、特点:
- a)由事实表和维度表组成
- b)一个星型模式中可以有一个或多个事实表,每个事实表引用任意数量的维度表
- c)星型模式将业务流程分为事实和维度
事实包含业务的度量,是定量的数据 (如销售价格、销售数量、距离、速度、重量等是事实)
维度是对事实数据属性的描述 (如日期、产品、客户、地理位置等是维度)
2、优点:
- a)简化查询
- b)简化业务报表逻辑
- c)获得查询性能
- d)快速聚合
- e)便于向立方体提供数据
3、缺点:
- a)不能保证数据完整性
- b)对于分析需求来说不够灵活
雪花模型
1、特点:
- a)一种多维模型中表的逻辑布局
- b)由事实表和维度表所组成
- c)将星型模式中的维度表进行规范化处理 把
低基数的属性从维度表中移除并形成单独的表 - d)一个维度被规范化成多个关联的表
2、优点:
- a)一些OLAP多维数据库建模工具专为雪花模型进行了优化
- b)规范化的维度属性节省存储空间
3、缺点:
- a)维度属性规范化增加了查询的连接操作和复杂度
- b)不确保数据完整性