数据仓库
在实际工作中,数仓分层、元数据管理、数据质量管理一直是一个持续优化的过程,我们公司业务也是在持续的做数仓的优化工作,在数据治理这方面还是欠缺很多的经验的。下面先简单整理了一下第一个理论部分的相关笔记。
数据仓库理论
数据仓库四大特征
-
面向主题:较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象概念。
-
集成的:从不同数据库、数据文件和不同日志中抽取的,既有内部数据,又有外部数据
-
稳定的:主要是针对应用而言,数据一旦进入数仓之后,一般情况下保留较长时间,极少更新。
-
反映历史变化的:数仓包含各粒度的历史数据。数仓的数据也会做定期的更新,以适应决策需要。
数据仓库作用
数据仓库与数据库的比较
-
事务--是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;
-
事务的四大特性:
-
1 、原子性:事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做
-
2 、一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
-
3 、隔离性:一个事务的执行不能其它事务干扰。
-
4 、持续性:也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。
数据仓库和数据库对比:
-
数仓用于解决企业级数据分析问题、管理和决策。
-
数仓为分析数据而设计;数据库为捕获和存储数据设计
-
数仓面向分析,面向主题设计的;数据库是面向事务设计的,属于操作型。
-
数仓采用反范式设计(引入数据冗余来提高查询效率);数据库设计尽量避免冗余,一般采用符合范式规则设计。
-
数仓较大,且数据来源于多个异构数据源,保留历史数据;数据库存储有限期限,单一领域业务数据。
-
数仓面向主题设计;数据库面向事务设计;
数据集市
数据仓库建模方法
ER模型(Entity Relationship)--在范式理论上符合3NF模型
维度模型
数据仓库分层
数据仓库是指一整套的数据建模、ETL(数据抽取、转换、加载)、作业调度等在内的完整理论体系流程。
数仓分层原因:
-
清晰的数据结构
-
将复杂的问题简单化
-
减少重复开发
-
屏蔽原始数据的异常
-
数据血缘关系追踪
常见数据分层为3层:数据操作层、数据仓库层、数据应用层(数据集市层),正常情况下会根据业务或者开发人员经验划分为不同的层。
ODS(Operation Data Store 数据准备区):最原始的数据,即是最处接收的业务日志数据或者异构数据。
DW(Data Warehouse 数据仓库层):包括DWD,DWS,DIM层;由ODS层数据加工而成。
-
DWD(Data Warehouse Detail 细节数据层):是业务层与数据仓库的隔离层。构建细粒度的明细层事实表。也可将明细事实表的某些重要维度属性字段做适当冗余,也即宽表化处理;
-
DWS (Data Warehouse Service 服务数据层):基于DWD的基础数据,整合汇总成分析某一个主题域的服务数据。
-
公共维度层(DIM):基于维度建模理念思想,建立一致性维度;
-
TMP层 :临时层,存放计算过程中临时产生的数据;
ADS (Application Data Store 应用数据层):基于DW数据,整合汇总成主题域的服务数据,用于业务查询等。
数据仓库模型
事实表与维度表
事实表分类
-
事务事实表:事务事实表记录的事务层面的事实,保存的是最原子的数据,也称“原子事实表;eg:订单表
-
周期性快照事实表:以具有规律性的、可预见的时间间隔来记录事实,时间间隔如每天、每月、每年等等。eg:日销售表,
-
累积快照事实表:累积快照事实表记录的不确定的周期的数据。eg:订货日期,实际发货日期
星型模型
星型模型
雪花模型
雪花模型
-
是星型模型的变异,维表是规范化的,
-
特点:雪花模型结构去除了数据冗余。
事实星座
事实星座
数仓模型小结:
元数据:关于数据的数据
元数据相当于所有数据的地图,元数据方便查看数据仓库中的以下几个方面:
-
有哪些数据
-
数据分布情况
-
数据类型
-
数据之间的相关性
-
数据的访问频次
元数据贯穿大数据平台数据流动的全程,主要包括数据源元数据、数据加工处理过程元数据、数据主题库专题课元数据、服务层元数据、应用层元数据等。
业内通常把元数据分为以下类型: