分享

人工智能[4743]数仓 | Kimball的维度建模过时了吗?[3]

 赵站长的博客 2024-05-13 发布于北京

维表快照

在关系型数据仓库时代,快照维度显得没有意义,但在大数据环境中却非常有意义。简单将就是使用分区表,每个分区内存储的是截止当前时间的全量维度信息。

通过快照的方式处理缓慢变化维,是在大数据环境的数据仓库实践中常用的方式。以离线数仓为例,计算周期一般是每天一次,基于此周期,处理缓慢变化维的方式就是每天保留一份全量的快照数据。以商品维度为例,就是每天保留一份全量的商品快照数据。在下游的使用过程中,可以获取每天的维度信息,使用起来非常方便。

优点

简单,开发和维护成本低

方便,很容易理解,下游使用数据时只需要限定所需要的日期即可

缺点

存储浪费

综合看来,由于存储成本远低于CPU、内存的成本,此方法是牺牲存储获取ETL效率优化和逻辑上的简单,显然是利大于弊的。

数据建模的非规范化

所谓的非规范化,即是将某些维度属性冗余至事实表。过去之所以不赞成这样做,部分原因是因为 RDBMS 将数据存储在表中的方式。随着 Parquet 和 ORC 等列式数据存储格式的出现;这不再是一个大问题。

在传统的维度建模的星型模型中,对于维度的处理是将其单独存放在专门的维表中,然后通过事实表的外键获取维度。这样做的目的是为了减少事实表的冗余,从而减少存储消耗。

但是在大数据背景下,考虑到提高下游任务的使用效率,降低获取数据的复杂性,减少关联表的数量,通常的做法是将常用的维度冗余至事实表中。

我是一位爱学习的老人!本站主要是些学习体验与分享(其中会引用一些作品的原话并结合我的一生体会与经验加工整理而成!在此一并感谢!如有不妥之处敬请与我联系,我会妥善处理,谢谢!)我写的主要是中老年人各方面应注意的事儿!退休后我希望通过这个平台广交朋友,互助交流,共筑美好生活!!!!!! 更多文章请参看http://www.赵站长的博客。期待大家的光临与指教哦^0^!欢迎大家转发!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多