这是彭文华的第177篇原创
今天很开心,又收获了一个新的好问题。北京的一个开发同学Lucas,被领导拖过去做数仓了。他把我写的数仓文章都读了一遍之后,他觉得ODS层根本没啥用啊,压根不能理解为啥要有一层。
这个问题问的好啊!也许我当年学习的时候也遇到过这个问题,但是现在已经把它当成理所应当了。
所以我现在非常喜欢跟任何人聊天,尤其是外行或者初学者,因为他们才能问出真问题。有问题的,可以加我微信:shirenpengwh,咱私聊啊。
ODS是啥?
这种问题,学究派最喜欢给定义了。比如:ODS ( Operational Data Store ),操作数据存储,用来存储多个异构数据源系统的明细数据,是数据仓库的最底层。
这种回答当做字典还是很好用的,但是对于初学者就非常不友好了。一个问题衍生出来无数的问题,满脑子都是问号。你看:什么叫操作数据?什么叫异构数据源?数据仓库的最底层?那上面还有几层?
所以,我一般喜欢先做个考古研究,然后再给一个简单理解的方式。
比如下面这张图,就是数据仓库鼻祖Inmon大佬画的CIF架构。原图比较乱,我给加了一些注释,方便你看的更清楚一些。