00:00
来来,各位同学,那现在我们看一下第二步这个所谓的明确数据到底应当如何去实现啊,来,那现在我们首先再来回顾一下这个所谓的数据到底咋回事啊?呃,他说竖仓的这个模型呢,除了横向的分层之外,对吧?我们通常也需要根据业务情况进行纵向的划分数据域,所谓划分数据域呢,前面就说过,其实说白了就是对我们的数据是不是进行一个分类啊,对吧?好,那我分类的意义是什么呢?对吧?我为什么要划分数据域呢?对吧?其实这说的就比较这个具体了,他是怎么说的呢?是不是主要意义就在于便于数据的管理和使用啊,对吧,就是将来我再用数据的时候,我可以先根据域是不是定位一小部分数据,然后呢,我是不是就可以快速的从域里边找到咱们想要的那个数据了,对吧?好了,那这个分域的数,这个意义或者分类的意义,咱们呃已经搞清楚了,那接下来我们呃,来思考一个非常主要的重要的问题啊,什么问题呢?你说对于划分数据来说,这里边最核心的一点应该是什么?就是划分的依据吧,对不对,就是你到底根据什么去划分数据,这个是不是比较重要的一点,对吧?那咱们这儿通常是根据什么去划分数据呢?来看一下,那通常情况下呢,我们可以根据业务过程或者是部门进行数据域的划分,那实际上呢,这个划分数据域它没有一个非常明确的标准,对吧,因为本身你划分数据域它的目的就是什么来着,是不就是为了方便你去查找相应的数据啊,对吧,只要你这个数据域你分的明确对吧,我只要看到这个域名,我就知道你里边有什么数据了,那是不是就算是。
01:34
划分成功了呀,对吧?啊,所以说划分出去通常没有一个固定的标准,一般情况下你按照业务过程分,你按照这个部门分都可以啊,都可以啊好,那接下来咱继续往下走,那我们这儿通常是按照诶什么分啊,或者说按照什么分的时候比较多呢?按照业务过程分是比较多的,那咱这儿呢,其实也是按照业务过程进行划分的,那啥意思呢?首先这个业务过程咱们得搞清楚啊,业务过程是不是我们前面提到那个具体的一个概念啊,对吧?OK,那我按照业务过程分就是怎么分的,就这么分啊,OK,那这几个业务过程我给它分到一个数据域里边,或者要分到一类里边,对吧?那这几个业务过程我给它分到诶几个域里边,一个域里边,那这几个业务过程呢,我也给它分到一个域里边。
02:16
OK啊好,那这个我们为什么通常是按照业务过程去分域的,其实这个话很简单,大家来琢磨琢磨,就是将来我们去做一个需求的时候啊,比如说给你一个指标对不对,那你拿到这个指标之后,你你要想实现它,首先你得先明确什么对,你首先得先明确,就是你的这个表它需要什么,你的这个需求需要什么业务过程。需要什么维度,是不是得先把这些问题搞清楚啊,对吧?没有你像刚才咱们比如说我要算什么这个,呃,最近一天什么这个各省份手机分类的订单总额,你拿到这个指标是首先你就得先得知道他需要是不是得用到下单那个业务过程啊对吧?是这样的,所以说白了你就将来你去做需求,你就要去找业务过程,对吧?那所以在这儿我是不是就可以对业务过程进行分类啊,对吧?那那这个域里边就有这几个业务过程,这个几个域里边有这几个业务过程,那将来我是不是就可以先找到域,再快速的找到我们需要的那个业务程啊,对吧?哎,是这样的,所以通常我们就是按照业务过程去划分数据域的啊,其实所谓的按照业务过程去划分数据域啊,你想一想,我们划分的说白了就是什么东西。
03:20
对,划分的是不是就是事时表啊,对不对?你想啊,事时表跟业务过程是不是通常就是一对一的过程,没没问题吧,咱们实时表主要就是事物时表啊,OK,事物时表跟咱们这个业务过程就是一对一的过程,对吧?那你划分业务过程,你划分的说白了其实就是那个实时表没问题吧,OK,好,也就是我们划分数据到底是怎么分的呢?来,咱们找到这个分层,这啊实时表位于哪一层来着,位于DWD层对吧?DW层是不是将来会有一个一个的实值表啊,对吧?OK,那咱们所谓的划分数据其实就是在DWD层里边进行划分,OK,这几张实时表对吧?我分到一个数据,那这几张实时表呢?我分到几个数据,那这几张实时表我也分到一个数据,其实说白了主要就是对这进行一个所谓的数据的划分啊,好了,那完之后我们再进用S考啊,你说除了DWD要分,要分这个数据,你说别的层还要不要分ods,还要不要分OD,要不要分ods,其实这块呢还不能分,为啥呢?Ods我们有这个数据域的概念吗?没有,我还我连业务过程我是不都。
04:21
可分出来的对吧?哎,所以说我们这是没有这个域的这个概念的,Ods不分,那dim要分吗?这个也不用分,为啥?你想一想啊,这个没法分,为啥没法你想啊,假如我这儿呢,有一张维度表,对吧?一个维度表是不是可能会被多个事实表所共用,对不对?那有没有可能出现这样一个情况,比如说我这个实时表,哎,需要用到这个维度,但是呢,它属于第一个数据,那我这个时表也需要用到这个,但是它属于第二个数据,有这种可能性吧?那我这个维度表我到底分到哪个域呢?这个就不好分了,对吧?那所以说维度表通常咱们不进行数据域的划分,那还有谁会分呢?DWS要不要分呢?要不要分呢?来DWS实际上是汇分的,那DWS咱们划分数据怎么去划分呢?其实很简单,哎,大家都知道DWS我放的是什么东西来着,是汇总表对不对?汇总表说白了是从哪儿聚合而来的,是从明细表聚合而来的,对吧?说白了也就是由什么,是不是由事实表聚合而来啊,对吧,没错吧,那所以说你这个汇总表是由哪张事实表聚合而来的,你所属于的数据域是不是就跟那个事实表是一样的呀?没问题吧?所以说说白了,那我DWS汇总表所属的数据域是从那与之对应的那个明细表那边是不是继承过来的,对吧?跟你对应的明细表属于哪个域?OK,那你这个汇总表就属于哪个域啊,就是这么个逻辑啊,是这样的啊,好了,那也就是说我们实际上划分数据的两层,就是DWD加DWS对不对,OK啊,那其实他们上下呢,是对应的,OK啊,那这部分明细表与之对应的汇总表我会分到一个域对吧?这部分明细表以及与之哎这个对应的汇总表我会分到一个数据,哎,实际上。
05:58
那咱们数据说白了就是对这两层的表进行划分,诶这一点大家体会一下就行了,好,那只要有了域之后,将来我们在做某个指标的时候,对吧?我只要能反应过来它属于哪,它需要用的哪个业务过程,那我是不是就可以快速的从哪个域里边去找它,诶相应的这个数据了,对吧?哎,这个大家理解一下行了,那接下来呢,我们就继续往下进行,往下走,呃,那咱们现在看文档下边我们刚才讲到哪了,讲到这个这儿了,对吧?好了,那这个,呃,划分数据域的这个意义咱们搞清楚了,对吧?那划分数据的标准咱们也就搞清楚了,我们是按照什么来着,按照业务过程分对吧?好,那接下来咱们继续往下进行。
06:34
接下来我就得思考一下啊,那我这个按照业务过程去分这个数据的时候的,对吧,我到底怎么分对吧,我我知道了,是按照业务过程分了,对吧?那我到底怎么分对吧,我怎样去确定,就是哪些业务过程是属于一个数据域的,对吧?这个怎么去确定这个么?还有一个就是我到底我分几个域比较合适对吧?这个怎么去决定?哎,其实说实话啊,这个没有一个固定的标准,这就好比什么呢?就好比我们之前讲的,你比如说我厨师对那个,呃,就是食材进行分类,对吧?你厨师对食材分类是不是也没有一个固定标准,对吧?你怎么分都行,只要你保证你划分完的这个数据啊,它是怎么样的就行,是明确的就行,你一看到这个域,你就知道里边有哪些数据,对吧,只要能做到这一点就足够了啊,所以说划分数据域它没有一个固定的标准啊,没有一个固定的标准好了,那咱们这儿一共分了几个数据域呢?我们这实际上一共分了这样的五个数据域,那在这儿呢,我给大家简单的介绍一下,咱们这五个数据分别是什么啊,那前面呢,呃,列出来的。
07:34
这五个数据域,然后后边呢,就是我们这个数据域下边的所有的业务过程,这是我们将来这个数据仓库当中的一个,呃,数据域和业务过程的一个总的划分情况,来,那咱们现在一起来看一下,首先我们先看第一个域,第一个域呢,我们称之为交易域,对吧?交易域里边你想一想存放的业务过程应当就是什么呀?就是跟交易相关的各种各样的业务过程吧,对吧?那这里边会有啥呢?比如说有加购,有下单,有取消订单,有支付成功,然后有退单,还有什么,还有退款成功,好那咱们这一共就列出来了这么几个数据,大来想一想,你说这个数据这个这这个,呃,不是数据这业务过程啊,这个业务过程咱们全吗?全吗?咱们是把交易这个相关的所有的业务过程都给它列出来了吗?其实并不是,对吧,你想有加构,我可能还会有什么减构啊,对不对,那我这儿有这个下单,有取消订单对不对,我我可能还会有什么,比如说这个确认收货,是不是还可能会有一些这样的一些这个业务过程啊,对吧?但这些东西咱们列在这儿了吗?
08:34
并没有啊,为什么没有呢?大家简单解释一下啊,实际上呢,我们前面在讲设计事实表的时候,我们有一步是什么?是选择业务过程对吧?我们需要去选择什么来着,咱们感兴趣的业务过程,所谓感兴趣就是我们将来的需求会用到的,对吧?这是就所谓的感兴趣啊,对吧?啊,所以在这儿呢,我们是要选择这些都是我们将来这个呃,做指标的时候会用到的啊,至于就是你现在用不到那些业务过程,我这就没选出来,当然你能不能提前选出来呢?能咱们前面说了,你选的时候可以有一定的前瞻性啊,对吧?啊,在这儿呢,我们没有选那么多啊,好了,那这就是我们交易域下边的一些业务过程,那继续往下看,那第二一个域呢,我们称之为流量域,这个流量域怎么理解呢?这个流量指的是什么流量?
09:19
是跟我们比如说页面,或者说我们这个手机端的应用的访问量相关的一个概念,对吧,对不对,访问量我们在这儿是不是这个所谓的流量的一个概念,对吧?好,那接下来咱们来琢磨琢磨啊,你说与这个页面访问量相关的统计指标,那咱们的数据应当来自于什么呢?比如说我要统计一个某个页面,哎,它的一个访问量,对吧,你他我们去计算这个指标的时候,那咱们的这个数数据应该来自于哪?是来自于业务系统的买S数据库,还是来自于咱们用户行为日志,应该是用户行为日志嘛,对吧?我们算这种页面的访问量等等,是不是肯定是通过买点去获取数据啊,对吧,那是这样的,那所以说你会发现实际上流量域下边的这个业务过程都是跟谁相关的呢?都是跟咱们日志相关的一些业务过程,OK,那实际上这几个业务过程对应的就是我们用户行为日志当中那几个什么呀行为,对吧,那前面讲了日志我们是呃收集两两类信息啊,对吧?行为信息,环境信息对吧?那实际上这个流量域下边的这个业务过程对应就是那些行为对吧?那都有哪些行为呢?页面浏览是不是启动应用,还有动作,还有曝光,还有错误,是不是正好就是那五个行为啊,对吧?诶这个大家理解下就行了啊好嘞,这就是流量域的一个划分情况,那接着往下聊,下边呢,还有一个用户域,那用户域呢,里边呢,实际上就是只存放了与用户相关的两个业务过程,分别就是啥呢?
10:37
注册和登录啊,是这样的啊好,那接来往下走,还有一个就是互动域,这个所谓的互动,其实说白了指的就是什么点赞、评论、收藏,这是不是就是一些所谓的互动的操作呀,对吧?那是这样的,那当然在我们这个电商当中呢,呃,咱们自己模拟商藏的数据,我们只有收藏和评价这样的两个业务过程,我们并没有什么点赞的这样的数据,所以在这儿呢,我们只有收藏和评价两个业务过程,好那再往下走,下面呢,还有一个叫做工具与这个工具里边咱们实际上存放的是什么呢?是我们整个电商平台当中啊,就是一些与促销相关的一些小工具的业务过程,对吧?你比如说与促销相关的有啥呀?啊,比如说优惠券对不对,那还有什么呀?
11:18
呃,比如说这个,呃,虚拟货币对吧,比如说什么京豆淘金币等等类似那些东西对吧?甚至都是一些促销的一些小工具啊,对吧?OK,与他们相关的业务过程,我们统一的都划分到了这个工具下边,当然我们自己模拟生成的数据,其实只有优惠券相关的业务过程啊,并没有什么虚拟货币那些东西啊,所以在这儿我们只有三个与优惠券相关的业务过程,分别是什么?优券的领取,优惠券的使用,优惠券的使用,但这两个使用不一样,一个是什么是下单,一个是支付,对吧?从这大家能体会出来一个概念,什么概念来着,就是业务过程,它一定得是什么样的操作来着。原则操作对不对,你不能光说优惠券使用,因为你优惠券使用本身就不是一个原则操作,对吧?你里边你需要经历一个下单,你需要经历一个支付的一个阶段,对吧?那所以说那这本身就不是一个原子操作,那我们找业务过程必须得找原子的操作才行,所以在这呢,诶使优惠券下单,使用优惠券支付,这是两个业务过程,这一点大家一定要给他搞清楚啊OK啊,就那的同学,那截止到现在呢,呃,那咱们这个数据域的划分也就算是完成了啊OK啊呃,然后大家在这儿呢,需要明确的就是啥呢?就是你得知道,诶我们为什么要去划分数据域,说白了就是干啥呀啊,就是方便数据的管理和使用啊OK啊,这是一个,那还得知道,就是通常我们按照什么去划分数据域,那一般呢,就是按照业务过程去划分数据域,那至于我们这个数据域的划分标准,这个其实没有固定的标准,你只要分的合理就够了啊OK,那当然数据我不分行不行,其实也行,假如说举个例子啊,那假如说现在我们这个公司的业务就是比较简单,对吧,我业务。
12:59
过程一共就十个业务过程对不对,那我需要分数据域吗?也不用分呀,对吧,这十个十个业务过程是不是就对上十张十张实时表啊对吧?这个东西我记我都能记住,我分什么数据域对不对,我直接我就我我就找到我想想要的表了,对吧?是不是得必须得等你的业务过程非常多,你的业务逻辑非常复杂,表非常多的时候,那划分数据域的这个作用才能够体现出来,对吧?哎,这一点大家体会一下啊好了,同学们,那数据域的划分那这一步那就完成了,来视频我给他停一下。
我来说两句