数仓解惑:维度建模不是万金油

数据仓库的演变与目的

数据仓库的最初目的是为了数据分析,将企业各系统的数据汇总到一个离线仓库中,以便进行大规模的查询和分析,从而获得业务指标,辅助决策。

随着信息化和数字化的发展,数据仓库逐渐演变为数据湖,汇聚了企业的所有数据,其应用场景也不再局限于数据分析。

数据仓库的分层理论

在数据仓库的实践中,我们通常遵循以下分层理论:

  • ODS(操作数据存储):作为采集数据层,保持数据原貌,基本不进行加工。

  • CDM(公共数据模型):作为整合数据层,使用数仓建模方法整合数据,便于查找和使用。

  • ADS(应用数据模型):面向具体应用场景,按需加工结果数据。

数仓建模主要集中在后两层,随着经验的积累,衍生出多种建模理论,其中维度建模和实体关系建模最为常见。

维度建模因其适用于大多数分析场景而广受欢迎。

信息整合的逻辑

在业务系统中,信息通常以实体关系模型的形式组织,符合范式标准,但由于技术限制,往往呈现为复杂的雪花状结构。

业务系统依赖数据中间件或框架来辅助查询。

而在数据仓库中,由于设计的不同,这些约束和封装被去除,导致多级分散的数据对SQL查询分析不友好,因此需要数据整合。

整合的目的是构建一个结构清晰的数据集合,既保持信息的完整性,又便于维护。这就是所谓的整合数据层建模,也称为中间层数据模型。

维度建模的方法

维度建模的详细介绍和实践方法可以通过内网搜索获得。

其核心是围绕数据分析的指标进行设计。维度表代表分析的视角,事实表代表计算的对象。

然而,将这种模型应用于信息整合场景时,我们发现并非所有信息都能归为维度,也非所有计算对象都能归为事实。

这种定义上的转换并不唯一,导致理解和使用上的困难。

实体建模的方法

实体关系模型(ER模型)在业务系统中的应用更为广泛,它包括实体对象、业务单据和关系,形成对企业信息的全面覆盖。

ER模型在数据仓库中的应用更接近业务系统模型,适合进行全局信息整合,但对数据研发人员的能力要求较高。

结语

以上是我对数据仓库建模的一些思考。由于个人水平和表达能力有限,这些观点仅供参考,希望对大家有所启发。

f8f528b0d6f97f00276a8221db8f4eee.gif

数据体系构建👇

更多精彩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值