查看原文
其他

【荐读】数仓的建模和BI的建模有啥区别?

彭文华 数据工程师
2024-09-16




数据仓库建什么模?



数据仓库建模分为4个阶段:业务建模、领域建模、逻辑建模和物理建模。通常意义上来说,我们说的建模狭义上指的是“逻辑建模”。业务建模和领域建模跟业务关系比较紧密,通常会在最开始就完成了。而物理建模就是执行一下脚本,分分钟就搞定了,比业务建模和领域建模还快呢。
而逻辑建模的时候,为了解耦,通常会把数仓进行分层设计。每一层的建模范式都不完全一样。比如:
其实上面的图也不完全正确。在传统数仓建模的时候,DWS其实也是用维度模型建模的。宽表模型是大数据环境下的产物。
啥?你问问建的模型长啥样?其实就是按照一定规则组合起来的一堆数据表。大致是这个德行的:
因为长的像星星,所以叫星型模型。除此之外,还有雪花型、星座型、cube、宽表等等。我这里有一篇文章,写的很详细:【戳我查阅:一口气讲完数据仓建模方法】,你可以去参考一下。



BI建什么模?



前面说了,此BI非彼BI。群里提问的哥们问的不是“商业智能”那个BI,而是BI产品的“BI”。
你想想,我们在数仓里建好模型了,不管是维度模型,还是宽表模型,还是Cube,然后呢?

当然是得有一个地方把这些数据展示出来了,要不放在那里生崽儿么?
这时候就轮到BI产品出马了。BI产品一端连着用户,另一端连着数据仓库。所以BI产品有一个巨大的任务,就是做业务和数据之间的翻译。这个时候就又轮到“建模”哥们出马了,在BI产品中,它是这个德行:
这是永洪网站上截的图,帮他们打个广告,支持一下国产BI产品。
这是QuickBi的说明,也是一个意思。
这个业务和数据之间的翻译工作该咋做呢?其实还是维度建模,就是设置维度和度量了。然后加上各种的个性化操作,什么传入参数了、表间关联关系了、确定维度和度量了、添加过滤条件了,甚至还可以新增维度和度量,比如以年龄字段为基础,新增一个年龄段的维度。
这些都是BI工程师做的偏业务的数据建模。建好模型之后,BI产品会把这些建模的信息保存好。当打开报表的时候,解析引擎会按照刚才建模的结果,解析成SQL语句,挨个执行。做各种查询、关联、传参、过滤,顺带则把新增维度、度量等操作也一并做了。最后把结果展示给用户。



总结



唉,不管是啥工作,都是一脑门子的官司,深究下去无穷无尽。
数据仓库的建模,目的是把数据整理好,所以重点在于实体与实体之间的关系。按照组织关系分类,自然就有星型、雪花型、星座等模型,也有为了加速存在的Cube和大数据环境特有的宽表模型。
BI产品的建模,目的是进行业务与数据之间的翻译。所以重点在于如何用现有数据满足业务的需求。于是就有了选择数据源、表间关联、传参、过滤、确定维度、确定度量、新增维度、新增度量等乱七八糟的操作。
这两个“建模”本来就是一件事情,只不过一个侧重数据的逻辑建模,一个侧重于数据的业务建模;一个是在数据仓库阶段,一个是在数据业务输出阶段;一个目的是为了数据组织和存储,一个目的是为了数据的业务表达。


(欢迎大家加入知识星球获取更多资讯。)

联系我们

扫描二维码关注我们

微信:SZH9543邮箱:ccjiu@163.comQQ:2286075659

热门文章

物料描述模板技术解析及10个典型行业实践示例
谈谈典型的数据治理体系框架
数据治理的三度修炼
什么才算是关键指标?如何选择关键指标?by彭文华
浅谈数据治理、数据管理、数据资源与数据资产管理内涵及差异点(建议收藏)
什么是时序数据?如何治理?有哪些应用场景?终于有人讲明白了

我们的使命:普及数据管理知识、发展数据管理工程师行业、改变中国企业数据管理现状、提高企业数据资产管理能力、推动企业走进大数据时代。

我们的愿景:凝聚行业力量、打造数据工程师全链条平台,培养不同层级数据工程师人才、构建数据工程师生态圈。

我们的价值观:分享数据管理知识,持续提升数据管理和运营能力。

了解更多精彩内容


长按,识别二维码,关注我们吧!

数据工程师

微信号:sjgcs

构建数据工程师生态圈




继续滑动看下一个
数据工程师
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存