按照数据流入流出的过程,数据仓库架构可以分为三层--源数据、数据仓库、数据应用。
数仓分层原因
1、用空间换时间
通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量的冗余数据;
2、增强扩展性
不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大;
3、分层管理
通数据分层管理可以简化数据清洗的过程,因为把原来的一步工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误时,往往我们只需要局部调整某个步骤即可。
数仓分层好处
1、清晰数据结构
每一个数据分展都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。方便数据血缘追踪。简单来说,我们最终给业务呈现的是一个能直接使用业务表,但是它的来源有很多,如果有一张来源表出问题,我们希望能够快速准确地定位到问题,并清楚它的危害范围。
2、把复杂问题简单化
将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的部分,比较简单和容易理解。而目便干维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。
3、减少重复开发
规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
4、屏蔽原始数据的异常
屏蔽业务的影响,不必改一次业务就需要重新接入数据