干货|数据仓库为什么要分层?

文 | 商业智能BI相关文章 阅读次数:587 次浏览
2023-12-06 17:27:00

一、数仓为什么要分层?

用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据;不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。

通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要局部调整某个步骤即可。

数据仓库之父 Bill Inmon对数据仓库做了定义——面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。从定义上来看,数据仓库的关键词为面向主题、集成、稳定、反映历史变化、支持管理决策,而这些关键词的实现就体现在分层架构内。

一个好的分层架构,有以下好处:

清晰数据结构:每一个数据分层都有对应的作用域,在使用数据的时候能更方便的定位和理解。

数据血缘追踪:提供给业务人员或下游系统的数据服务时都是目标数据,目标数据的数据来源一般都来自于多张表数据。若出现目标数据异常时,清晰的血缘关系可以快速定位问题所在。而且,血缘管理也是元数据管理重要的一部分。

减少重复开发:数据的逐层加工原则,下层包含了上层数据加工所需要的全量数据,这样的加工方式避免了每个数据开发人员都重新从源系统抽取数据进行加工。

数据关系条理化:源系统间存在复杂的数据关系,比如客户信息同时存在于核心系统、信贷系统、理财系统、资金系统,取数时该如何决策呢?数据仓库会对相同主题的数据进行统一建模,把复杂的数据关系梳理成条理清晰的数据模型,使用时就可避免上述问题了。

屏蔽原始数据的影响:数据的逐层加工原则,上层的数据都由下一层的数据加工获取,不允许跳级取数。而原始数据位于数仓的最底层,离应用层数据还有多层的数据加工,所以加工应用层数据的过程中就会把原始数据的变更消除掉,保持应用层的稳定性。

二、数仓分几层最好?

目前市场上主流的分层方式眼花缭乱,不过看事情不能只看表面,还要看到内在的规律,不能为了分层而分层,分层是以解决当前业务快速的数据支撑为目的,为未来抽象出共性的框架并能够赋能给其他业务线,同时为业务发展提供稳定、准确的数据支撑,并能够按照已有的模型为新业务发展提供方向,也就是数据驱动和赋能。

没有最好的,只有适合的。数仓分层要结合公司业务进行,并且需要清晰明确各层职责,要保证数据层的稳定又要屏蔽对下游影响,一般采用如下分层结构:数据仓库,数据仓库分层,数仓分层,数据仓库为什么要分层

1. 数据源层ODS

数据源层主要将各个业务数据导入到大数据平台,作为业务数据的快照存储。

数据仓库,数据仓库分层,数仓分层,数据仓库为什么要分层

2. 数据明细层DW

事实表中的每行对应一个度量,每行中的数据是一个特定级别的细节数据,称为粒度。维度建模的核心原则之一是同一事实表中的所有度量必须具有相同的粒度。这样能确保不会出现重复计算度量的问题。

数据仓库,数据仓库分层,数仓分层,数据仓库为什么要分层

维度表一般都是单一主键,少数是联合主键,注意维度表不要出现重复数据,否则和事实表关联会出现数据发散问题。

有时候往往不能确定该列数据是事实属性还是维度属性。记住最实用的事实就是数值类型和可加类事实。所以可以通过分析该列是否是一种包含多个值并作为计算的参与者的度量,这种情况下该列往往是事实;如果该列是对具体值的描述,是一个文本或常量,某一约束和行标识的参与者,此时该属性往往是维度属性。但是还是要结合业务进行最终判断是维度还是事实。

3. 数据轻度汇总层DM

此层命名为轻汇总层,就代表这一层已经开始对数据进行汇总,但是不是完全汇总,只是对相同粒度的数据进行关联汇总,不同粒度但是有关系的数据也可进行汇总,此时需要将粒度通过聚合等操作进行统一。

数据仓库,数据仓库分层,数仓分层,数据仓库为什么要分层

4. 数据应用层ADS

数据应用层的表就是提供给用户使用的,数仓建设到此就接近尾声了,接下来就根据不同的需求进行不同的取数,如直接进行报表展示,或提供给数据分析的同事所需的数据,或其他的业务支撑。

数据仓库,数据仓库分层,数仓分层,数据仓库为什么要分层

三、结语

在数据仓库的建设中,分层结构的采用不仅是一种普遍的实践,更是一项关键的战略决策。通过逐层划分,我们能够在复杂的数据体系中保持清晰的组织,提高数据管理的效率和可维护性。分层的架构使得数据仓库更加灵活,能够适应不同层次的用户需求,从而实现数据的广泛共享与高效利用。

帆软软件深耕数字行业,能够基于强大的底层数据技术,为企业打破数据孤岛,搭建数据仓库,梳理指标体系。为并企业提供数据仓库的上层应用生产力,结合强大的数据产品,建立全面、便捷、直观的经营、财务、绩效、风险和监管一体化的报表系统数据分析平台,并为各业务部门人员及领导提供PC端、移动端等可视化大屏查看方式,有效提高工作效率与需求响应速度。

若您还想了解更多数据仓库建设解决方案,请点击:《帆软数据仓库和商业智能解决方案》,或点击下方图片👇,获取各行业全业务场景数仓搭建案例及资料。

数据仓库,数据仓库分层,数仓分层,数据仓库为什么要分层

产品体验

相关内容

目录
立即咨询 立即咨询

在线客服

电话咨询

技术问题

投诉入口

返回顶部