数据仓库【建模理解】

本文介绍了数据仓库的概念,强调其作为面向主题、集成且稳定的系统,用于支持管理和决策。文章详细阐述了数据仓库的特点,如主题性、集中性和相对稳定性,并讨论了数据仓库分层的重要性和意义,包括清晰的数据结构、减少重复开发等。最后,探讨了数据仓库建模的价值,如性能提升、成本节省和业务流程优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数仓概念

        官方定义:数据仓库是一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合,用于支持管理决策。

        个人理解:数据仓库就像一个大型图书馆,图书馆是不生产图书,但是会收集很多品类的书籍,然后进行分门别类的梳理、归档,帮助任何一个需要图书的人快速的找到图书、应用图书;同样,数据仓库也不生产数据,我们只是将企业所有相关的数据存到数据仓库,然后根据一定的标准规范,对数据进行分类转换,挖掘数据价值,提高数据使用效率,服务业务、支持决策,数据仓库是一套体系结构,并不是一个单一的技术。

一、数据仓库四大特点

  1. 主题性:数据仓库是面向主题的组织方式,在较高的层面上对数据进行一个完整的、统一的描述,能完整统一的刻画分析对象所涉及的有关企业的各项数据;
  2. 集中性:将各个业务系统不同的数据源统一成一致的、没有歧义的标准数据后,放置到数据仓库中;
  3. 相对稳定性:数据仓库是OLAP的,面向查询分析的,很少有修改和删除操作,通常只需要加载、刷新即可;
  4. 反映历史变化性:数据仓库通常记录了从建设数仓到当前的所有数据,包含了历史信息,通过这些信息,可以对企业的发展历程和未来趋势做出预测。

二、数据仓库分层意义

        在没有数仓分层时,数据引用是混乱的,甚至会出现数据引用循环依赖。因此我们需要一套科学有效的对数据进行组织和管理,使数据体系更加有序,这就是我们说到的数据仓库分层设计。数仓通过分层可以有以下几点好处:

  1. 清晰的数据结构:每一层数据都有自己的作用域与职责,当我们使用数据的时候更加方便我们理解和定位;
  2. 减少重复开发:通过开发一些通用的数据中间层数据,能够极大的较少重复计算和烟囱式开发,减少计算资源和存储资源的浪费。
  3. 数据关系条理化:并且清晰的数据结构可以构建数据地图,方便追溯问题以及评估问题影响范围。
  4. 屏蔽原始数据变化的影响:当业务系统新增或变更的时候,我们可以最大限度地减少上层应用地影响,甚至做到无感知迭代。
  5. 将复杂的问题简单化:将一个复杂地业务问题进行分步骤拆分,每一层只处理单一地步骤,一方面是方便我们理解,更方便我们后续地维度迭代,从而保证了数据的准确性
  6. 用空间换取时间:数仓分层将数据进行了充分的预处理,数据分析应用的时候可以通过各层满足不同的需求,做到快速响应,减少开发时间。
  7. 统一数据输出口径: 建立统一公共指标层,规范统一的指标命名,达到同名同义的效果,保证从业务生产到数仓加工到业务应用,整个流程数据口径一致。

三、数仓分层介绍

        分层不仅可以解决业务快速的数据支撑,也可以为未来抽象出共性的通用层,能够为 业务发展提供稳定、准确的数据支撑,并且可以为新业务的发展提供数据决策方向,也就是数据驱动和赋能。目前数仓通常分为如下四层:

  • 贴源层ODS(Operational Data Store):又称数据基础层,将原数据几乎无处理的存放在数据仓库系统中,结构与业务源系统保持一致,目的是出现了问题可以做数据溯源用。
  • 明细数据层DWD(Data Warehouse Detail):以业务过程作为建模驱动,基于每个业务过程特点,构建最细粒度的数据主题明细事实表。可以在明细事实表中做适当的冗余,减少表之间的查询关联。
  • 汇总数据层DWS (Data Warehouse Summary):以分析主题对象为建模驱动,基于上层应用和产品的需求做指标设计,构建公共粒度的轻微汇总层,以宽表化的手段物化模型,构建命名规范、口径一致的统计指标,为上层应用层提供公共指标支持。
  • 数据应用层ADS(Application Data Store):对外存放产品需求的个性化统计指标数据;对内设计跨业务主题的汇总指标或者更粗粒度的汇总指标。

四、对数仓的思考

         数据仓库可以总结为“存、融、通、用”,首先将个业务系统的源数据接入存放到数据仓库;然后按照维度建模将数据进行融合打通,构建质量好、数据安全、指标统一的数据;最后供上层应用层使用。个人对数据仓库的理解如下:

  1. 融合:将公司不同的业务系统的数据、埋点数据、第三方数据接入数据仓,进行融合,保证数据是完整的,没有信息孤岛。
  2. 打通:将不同的数据融合进来后,业务系统数据是基于OLTP进行设计的,跟数据仓库的设计理念是不同的,那么我们需要将接入的数据进行打碎重组,按照维度建模的理念,纵向划分数据域、构建数据主题,横向分层,按照标准规范流程构建数仓的架构。
  3. 送出去:将数据按照数仓建模后,构建更有价值的数据后,回流到业务系统,赋能运营、分析团队,为决策提供支持、体现数据驱动价值。

        总的来说,就是将数据融合、打通、管理并挖掘体现出数据的价值,为决策、分析提供数据支撑,赋能业务。每个数据仓库都需要结合具体的业务,我们数据开发人员需要总结自己的“道”,“法”,“术”,触类旁通、内化于心。

五、数据仓库建模的意义

        数据仓库建模是按照一定的数据模型,对整个企业的数据进行采集、整理、融合打通,最终提供口径一致、跨部门的报表数据;合适的数据模型,对于公司来说,是可以获得更好的性能、成本、效能和质量。数据建模可以全方面的业务梳理、改进业务流程、消灭信息孤岛,提升用户的使用效率,从而也能更好的推进数据仓库系统的建设。 

  1. 性能:通过空间换取时间,可以帮助我们快速查询所需要的数据,减少数据Shuffle、提高数据的使用效率;
  2. 成本:减少烟囱式的开发,实现计算结果服用,极大减少存储和计算成本;
  3. 效率:一方面业务发生变化,可以快速支持迭代;好的模型也可以提高数据探查分析的效率;
  4. 质量:统一统计口径,减少数据计算错误的可能性;技术和业务双向沟通确认,保证指标同名同义;
  5. 进行全面的业务梳理,改进业务流程:数仓设计过程需要对整个企业的业务流程进行梳理理解,还能从数据角度改进业务流程,提高业务效率;
  6. 建立全方位的数据视角,消灭信息孤岛和数据差异:站在全企业角度对数据进行收拢,帮助消灭部门边缘容易忽略的信息孤岛数据;
  7. 解决业务的变动和数据仓库的灵活性:当业务变动是可以局部修改,做到上游无感知,避免了整个链路的调整,体现了数据仓库的灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据松松

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值