前言
兄弟们太猛了!我就要30个“在看”,结果半个小时就点满30个了,到今天,已经快130个了,多出来的是要干啥?吓的我肝儿直颤。。。
那我就写着,您老凑合看?
上次说到一家英国保险公司Direct Line委托IBM做客户中心的项目。结果IBM不知道派过去的人有问题,还是别的原因,给整劈叉了。项目原定要用Teradata的FSLDM模型,结果IBM就是不用,反而自己又整了一套,最后整的是一塌糊涂。
甲方甚至给出了这样的评价:
“以一种毫无章法、毫无根据的方式来复制和粘贴,以扩展该模型,结果破坏了设计集成层,使得EDW难以填充、维护和理解”。
最后的结果呢,IBM移交所有代码,赔了3个多亿。你可能会幸灾乐祸,IBM这么牛的公司,怎么也不会建模啊?
建模
其实数仓建模的方法论,Inmon和Kimball两位老爷子早就已经说完了。后面的各大公司基于两位老爷子的理论,做了大量的实践。
这两位老爷子的理论研究已经非常透彻了,透彻到什么程度?就是他们写的书,到现在依然能拿过来当做教材。什么数据湖、数据中台,其实底层建模理论还是原来的那些。
那么问题来了,到底啥是建模?
其实讲穿了,建模就是对现实世界的抽象。
现实世界只有一个,那理论基础也是同源的,具体的应用场景也能找到共同性,那就必然能对某个场景抽象出一个合理的模型套路对吧?
是的。IBM、Teradata等IT巨头早已经把这些模型按照自己的方式抽象好了。
在银行这个行当,IBM有BDWM,银行数据仓库模型,Banking Data Warehouse Model。
Teradata这边的呢,就是FSLDM了。FSLDM全称是金融服务逻辑数据模型,Financial Services Logical Data Model。
除此之外,IBM还针对保险行业细分出IAA和IIW、Sybase也有IWS,这些都是行业经典的数据仓库业务模型。
把模型固化下来之后有啥好处呢?咱回到我经常给大家看的这张图:
业务建模部分的主要任务是把业务流程梳理清楚,这时候会产出各种流程图,方便我们了解业务,最关键的是识别我们要抽象的业务实体。
领域建模这边,就是围绕上面的核心实体,进行主题区域划分。主题区域划分的核心目的是对建设内容进行合理的切分。既要让主题相对独立,又不能建的太多,闹哄哄的没法弄。
逻辑建模这里,就得承上启下,逐步细化了一方面要看底层数据,另一方面要看业务需求。这时候就要把所有的实体和量化内容梳理出来,数据如何从底层一直流到应用层,都得想清楚,设计好。
物理建模阶段,基本上就是机械的工程建设操作了,建表、设计有向无环图,做任务调度。
看完上面的流程,你会发现,FSLDM把前面两个步骤的工作全做完了,第三个步骤的绝大多数工作也都做好了 。
在FSLDM里,整个模型分为三层:主题、概念、细节。一共10个主题域、小3千个实体和1万多个属性。根据第三层细节中已经梳理出来的内容,构建了343个逻辑视图。
这是什么概念?拿着这一堆的模型文件,只需要按照客户的个性化情况稍微处理一下,就能直接推到物理建模的阶段。
这简直是数仓领域的方便面啊,打开盖子,放入适量调料包,喜欢就加根肠,敲个鸡蛋,不喜欢就算。然后加开水泡一下,就好了!
在这里顺便吐槽一下绝大多数互联网公司,几乎没有建模,也没有文档,上去就是干,最后就是一堆的宽表。唉!废了!
主题领域


那位目测是阿里P9+主持人的回答就是建模,建一个优秀的模型。
所以你看,建模这功夫有多深,从主题域就已经开始体现了。而FSLDM做的就非常高明。
结语
这就结束了?当然没有!这才刚分领域呢!下面还有单个主题域怎么设计、单个实体又怎么设计,不同层级的实体之间咋处理?两个领域之间怎么联系等等,一系列的问题。这已经3300字了,今天先这样。
还是老规矩,点一下“在看”,点的越多,我讲的就越详细。给我点动力,好继续码字呀。
次分享的内容就结束了。本公众号目前保持日更3000字,为你提供优秀的数据领域的分享。本篇如果有帮助的话,还请点赞、在看分享一波!
推荐阅读:
数字化转型案例失利的3大原因 by 彭文华
数仓的建模和BI的建模有啥区别?by彭文华
一口气讲完数据仓建模方法–数据仓库架构师碎碎念
传统数仓和大数据数仓的区别是什么?
传统数据仓库转型最佳目标:Kylin!
更多精彩:
评论(0)