数据仓库是由一整套体系构成,包含数据采集,数据存储,数据计算,数据展示等
数据仓库主要作用对过往的历史数据进行分析处理,为公司决策停供数据支撑。
1 数仓特征
-
面向主题
-
集成性
-
非易失性
-
时变性
2 OLTP和OLAP
OLTP(On-Line Transaction Processing)即联机事务处理,也称为面向交易的处理过程,
OLAP(On-Line Analytical Processing)即联机分析处理,有时也称为决策支持系统(DSS)
3 ETL
ETL(Extra, Transfer, Load)包括数据抽取、数据转换、数据导入三个过程。
4 主题和主题域介绍
主题
是对数据进行归类,每个分类是一个主题
主题域
根据分析的领域,将联系较为紧密的数据主题的集合在一起
主题域下面可以有多个主题,主题还可以划分成更多的子主题,主题和主题之间的建设可能会有交叉现象
5 数据仓库和数据集市
数据集市
就是数据仓库
的一个子集,它主要面向部门级业务,并且只面向某个特定的主题数据集市由业务部门定义、设计和开发,业务部门进行管理和维护
6 数仓分层设计
数据仓库最基础分层 ,分层本质就是创建不同的数据库,
原始数据层 ODS
将数据源的数据导入数仓ods层
创建一个ods的数据库,然后按照数据源中的表创建ods库下的hive表
数据仓库层 DW 数据处理
数据服务层 ADS 计算结果
数据分层设计到的有什么作用?
简化复杂问题。
通过将复杂的数据处理过程分解为多个步骤或层次,可以使问题更加易于理解和处理。
select sum(age) from tb1 join tb2 on tb1.id =tb2.id where age > 20 group by gender
结构更清晰。
每个数据层都有其明确的作用域,这有助于在使用表时方便地定位和理解。
数据血缘追踪。
分层结构使得数据血缘关系更加明确,便于追踪和调试。
用空间换时间。
通过预处理大量数据,可以提高应用系统的用户体验(效率),虽然这可能导致数据仓库中存在冗余数据。
数据重复使用,减少重复开发。
规范的数据分层可以促进数据和指标的统一,减少重复开发,并提高数据复用率。
数据隔离和屏蔽原始数据异常。
分层结构可以帮助隔离原始数据的异常或敏感性,保护真实数据与统计数据解耦。
数据安全。
通过分层,可以更方便地对不同层的数据进行权限管理,屏蔽敏感数据。
增强扩展性和便于后期维护。
不分层可能会导致整个数据清洗过程受到源业务系统规则变化的影响,而分层可以简化数据清洗过程,提高扩展性,便于后期维护。