【数仓概念】

CSDN话题挑战赛第2期
参赛话题:大数据学习成长记录

数仓

什么是数仓

数据仓库(Data Warehouse,可简写为DW或DWH)。数据仓库,是为企业重要的数据战略集合。它出于分析性报告和决策支持目的而创建。提供指导业务流程改进、监视时间、成本、质量以及控制。

没有采用数仓前,企业统计业务数据,容易出现数据统计错误,不同的人统计的结果不同(采用不一致的数据源,不同的统计方法),为了保证业务的准确性,提高效率,企业需要统一个规范,统一的数据出口。数仓就是这个合适的解决方案。

数仓的特点

  1. 数据仓库的数据是面向主题的。传统数据库面向应用进行数据组织的,数据仓库中的数据是面向主题进行组织的。首先,主题是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。
  2. 数据仓库的数据是集成的。数据仓库的数据是从原有的分散的数据库数据抽取来的。数据仓库中的数据综合工作可以在从原有数据库抽取 数据时生成,但许多是在数据仓库内部生成的,即进入数据仓库以后进行综合生成的。
  3. 数据仓库的数据是稳定的。数据仓库所涉及的数据操作主要是数据查询,一般情况下并不进行修改操作。数据仓库的数据反映的是一段相当长的时间内历史数据。
  4. 数据仓库的数据是随时间不断变化的。数据仓库中的数据不可更新是针对应用来说的,也就是说,数据仓库的用户进行分析处理时是不进行数据更新操作的。 数据仓库的数据是随时间的变化而不断变化的,这是数据仓库数据的第四个特征。这一特征表现在以下3方面:
    1. 数据仓库随时间变化不断增加新的数据内容。数据仓库系统必须不断捕捉OLTP数据库中变化的数据,追加到数据仓库。
    2. 数据仓库随时间变化不断删去旧的数据内容。数据仓库的数据也有存储期限,一旦超过了这一期限,过期数据就要被删除。操作型环境中一般只保存有60-90天的数据,而在数据仓库中则需要保存较长时限的数据(如5-10年,满足趋势分析)
    3. 数据仓库中包含有大量的综合数据,与时间相关。按照时间维度融合。

数仓分层

构建数仓,通常进行分层构建,不同业务,每层处理方式不同,方便对数据的管理。数仓分层的作用如下:

  • 明晰数据结构:每层各司其职,方便定位和理解
  • 数据血缘追踪:各表之间的依赖关系清晰,当业务中某表出问题,方便定位问题,了解危害范围。
  • 减少重复开发:数仓分层设计,开发通用性强的中间层数据,极大层度的减少重复开发,存储和计算成本。
  • 复杂问题简单化:任务分解后,方便理解和开发,提高开发效率,降低维护难度。
  • 屏蔽业务影响:不需要修改业务即可重新接入新数据。

数仓分层架构

在这里插入图片描述

DWD层对ODS进行数据清洗时,遵循一下原则

  • 数据唯一性校验(去重)
  • 数据完整性校验(补缺)
  • 数据合法性校验(合理)

某些偏向业务的企业中,数仓构建会引入事实表、维度表概念。其可能将数仓分成五层,ODS,DWD,DWM,DWS,ADS,或者(ODS,DWD,DWS,DWT,ADS)。其都是基于“数仓四分层”演化而来,在业务需求的基础上衍生,本质上没太大区别。

数仓命名规范
基于Hive构建数仓时,可参考一下规范:

  • 数仓每一层在hive中都创建单独的数据库,数据库使用数据层标识符。(ODS层,在Hive中创建数据库ods,ODS层的数据都存储在ods数据库中)
  • 数据仓库中的数据表都应用所在每一层的标识符开头。(用户数据,ods_user)
  • 数仓中的临时表,创建表名时以"_tmp"结尾
  • 数仓中的备份表,创建表名时以"_bak"结尾

数据应用

数据应用,是构建数仓的目的,数据处理和应用,数据分析是数据价值挖掘的重要步骤。

在这里插入图片描述

返回目录

个人经验总结

构建数仓时,多结合公司业务特点,选择合适的构建方式,合适自己的才是最好的。合适的数仓能为企业数据化打下很好的基础。

寄语

希望你我都能日日精进,你有什么想说的呢?欢迎写下你的想法,沟通交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值