天天百科

数据仓库构建的过程和意义

2023-08-07 分类:百科

TIPS:本文共有 1586 个字,阅读大概需要 4 分钟。

数据仓库采集进来的原始数据是杂乱无章的,只有通过构建数据模型,将数据有序的组织和存储起来之后(即模型),才能为上层应用提供高效灵活的支撑,优秀的数据仓库模型对应用的价值主要体现在数据质量、响应速度、成本消耗及健壮水平四个方面:

1、数据质量

通过建模可以准确的理解业务和数据,实现业务和数据的标准映射,从而提升应用的有效性。

比如原始数据对于性别字段的枚举值既有男女,也有01等形式,这种定义的分歧会对上层的应用产生干扰,数据模型应该依据数据标准对原始数据进行标准化,所谓“书同文,车同轨”,数据治理的要求往往要落在具体的数据建模中才能发挥作用。

2、响应速度

通过建模可以提前基于源数据生成应用所需的模型,提升应用响应能力。

宽表就是一种典型的模型,如果没有宽表,应用就要将数据处理的复杂逻辑嵌入在应用中实现,无论是代码的开销、处理的开销及访问的开销都很大,因此往往需要预先生成模型来置换时间,也就是空间换时间。

风险在于应用变化无常,而模型往往后知后觉,现在只管杀不管埋的现象很多了,导致企业中80%的模型没人使用,元数据很大的一个应用场景就是模型生命周期的管理。

3、资源消耗

通过建模可以实现公共数据的共享,提升复用能力。

比如发现某些应用共同需要某个计算字段,则可以将这个计算字段预先生成(即沉淀成模型),这样有新的应用需要时可以直接使用,从而在资源和时间节省上一举两得。

这个角度讲,OLAP的CUBE其实就是一种建模,当然应用(上层模型也可以看成应用)如果不够多,复用无从谈起,建模也就失去了价值,很多时候感觉数据仓库的模型没啥卵用,大多时候是复用的效益不够明显所致。

4、健壮水平

通过建模可以实现应用与源数据的解耦,降低源数据变动对应用的影响,提升应用的健壮性。

比如有100个应用直接依赖某个源数据,如果这个源数据发生变动,则需要对100个应用都进行适配改造,代价非常大。

而如果100个应用都是基于模型支撑的,则可以在保证模型北向应用接口不动的情况下,仅改造模型和源数据的南向接口就可以了,不仅改动的工作量大幅减少(比如原来改100次现在只需要改一次),同时保证了应用的连续性。

数据仓库构建的过程和意义

1、搭建数据仓库的意义

数据仓库更多代表的是一种对数据的管理和使用的方式,它是一整套包括了etl、调度、建模在内的完整的理论体系。数据仓库在构建过程中通常都需要进行分层处理。业务不同,分层的技术处理手段也不同。

数据仓库的存储并不需要存储所有原始数据,因为比如你存储冗长的文本数据完全没必要,但需要存储细节数据,因为需求是多变的,而且数据仓库是导入数据必须经过整理和转换使它面向主题,因为前台数据库的数据是基于oltp操作组织优化的,这些可能不适合做分析,面向主题的组织形式才有利于分析。

2、分层的优点

分层的主要原因是在管理数据的时候,能对数据有一个更加清晰的掌控,详细来讲,主要有下面几个原因:

空间换时间:

通过建设多层次的数据模型供用户使用,避免用户直接使用操作型数据,可以更高效的访问数据。

把复杂问题简单化:

将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。

便于处理业务的变化:

随着业务的变化,只需要调整底层的数据,对应用层对业务的调整零感知.

清晰数据结构:

每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。

数据血缘追踪:

简单来说,我们最终给业务呈现的是一个能直接使用业务表,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。

减少重复开发:

规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。

屏蔽原始数据的异常:

屏蔽业务的影响,不必改一次业务就需要重新接入数据

如果觉得《数据仓库构建的过程和意义》对你有帮助,请点赞、收藏,并留下你的观点哦!

阅读剩余内容
网友评论
相关阅读
小编推荐