00:00
啊,好,那各位同学,那咱接下来呢,看一下最后一种表,我们称之为累积型快照时表,或者叫做累积快照表,累积快照表也行啊好,那这种累积快照表它是用来解决什么问题的来着?还记得吗?解决那种所谓的多事物关联统计的指标是不是会用到这种累积快照指表对吧?哎,咱们还是暂且先不去考虑它到底如何去解决那种问题的,我们先来熟悉熟悉,就是累积快照师表到底长什么样对吧?好,那现在我们来看一下它是如何来进行描述的啊来把这段话咱们一起来读一下,他这么说的,他说累积快照时表呢,是基于一个业务流程当中的多个关键业务过程联合处理而构建的时表,OK啊,那这里边咱们又提到了一个概念,叫做业务流程对吧?业务流程跟业务过程它是一个概念吗?显然不一样的,对吧?那什么叫做业务过程,咱们之前说过了,是一个一个的原子的,是不是操作啊,这个事件我们称之为一个业务过程啊,对吧?啊是这样的,那流程到底是什么?
01:00
诶,流程其实下边呢,有一个具体的例子,咱们一看例子就明白了啊,比如说这儿呢,有一个交易流程,交易流程当中是不是应该会包含下单、支付,发货、确认、收货等业务过成的呀,对吧?那也就是说一个流程是不是由多个诶有关联的这个业务过程组成的呀,对吧?就这个意思其实很好理解啊。好了,那么之后我们再回到这句话上面来,他说了一个累积快照时表呢,是基于一个什么去建出来的流程,建出来的言外之意就是一个累积快照时表会对应多少个业务过程。是一个还是多个,是多个对吧,它跟前面那种事物师表是不是不一样,事物师表是一个什么来着,一个哎,事物师表对应一个业务过程,而累积快照时表呢,是一个累积快照表对应多个业务过程,这一点咱们要给他搞清楚,行了,那接下来呢,咱们就继续往下行,我们来看一看这个所谓的累积快照指标,它到底长什么样,那下边呢,我就给出了一个具体的例子,咱们来看一下,这就是一个非常非常典型的累积快照知识表,好,那大家看到它之后有什么样的这个感受啊,看到的第一感觉是什么?
02:11
能不能发现它的一些特点,能不能发现一些特点,应该是能发现的啊来首先那我们先来看一下这个事实表啊,这个这个这个表的字段啊,那就不管它是什么类型的实表,它是不是都是实时表来了,只要是实时表,那我们的字段是不是就分为两种类型,哪两种来着,维度的外键加上加上谁加上度量值对不对?OK,那大家来看一下它是不是同样是满足这个条件的对不对,那左边这些字段那都是维度外键,右边呢,是不是就是度量值对吧?只不过那它的维度外界。包含什么?是一个业务过程的维度外建吗?不是而而是什么?而是他这个事实表所对应的那个流程当中的是不是多个业务过程的伪度外键啊,对吧?哎,是这样的,这一点大家给能搞清楚好,那完之后呢,我们再看看度量,再来看度量值,那度量值呢,是一个业务过程的度量值吗?也不是,而是什么呢?而是这个,诶,累积快照表所对应的流程当中的多个业务过程的是不是多个度量值啊,对吧?诶,这一点要给它搞清楚啊好,那这实际上呢,就是这种累积快照时时表它的一个特点啊,也就是它的维度外键是多个业务过程的文在键,它的度量值是多个业务过程的度量值啊,这一点咱们要搞清楚,然后呢,呃,需要特别注意的一点是什么呢?就是累积快照时值表呢?它通常具有多个日期维度外界,那我这儿为什么一定要强调一下这个日期维度外建,其实这个道理很简单,来大家想一想,我们就以上边的这几个业务过程为例,大家想。
03:44
看一下你说这几个业务过程,他们相关的维度是不是都有,比如说用户还有这个日期什么的呀,对吧,对不对,是不是都有用户日期,那所以说那用户维度外建,日期维度外建,那我在这张表当中是不是只需要出现一次就够了,是这个道理,因为他们几个业务过程是不是可以共用这一个用户维度外建呀,对吧?但是日期这个它能共用吗?显然是不能的,为什么?因为你这个流程当中的这几个过程,他们是不是肯定是在不同的时间点发生的,对吧?你比如说我以一个订单为例,对吧,那我一个订单我下单的时间跟支付时间,发布时间,确认货时间是不是肯定是不一样的,那他们能共用同一个日期维度按件,显然是不能的,那所以说对于日期这个维度来说呢,他肯定是会有多个的,但是其他的维度外界是不是就可能不会有多个的吧?诶这一点咱要给他理解一下啊,是这样的啊好了,那所以说累积快照十表当中呢,它通常是会具有多个日期维度外键的,而这多个日期呢,就对应什么,就正好对应我们这个流程当中的一个关键的过程,对吧。
04:44
就好比咱们这儿下单这个日期是不是对应的下单业务过程,支付是不是对应的是支付这个过程,发货对应的是发货这个过程啊,对吧?啊是这样的,OK,那这其实就是呃,累积快照时表它这个字段上的一个特点,然后这儿呢,还有一个小概念给大家补充一下啊,什么概念呢?就是这个里程碑的这个概念,什么叫做一个里程碑呢?我们管一个流程当中的一个关键的过程,称之为一个里程碑,对不对?那你比如说举例子,就以下单,就以交易流程为例啊,那你说我们这里边儿关键的这个流过程应该有啥呀?是不是就是下单,支付,发货,确实收货等等,是不是就这些啊,对吧?那这里边我们每到一步是不是就相当于完成了一个,哎,这个比较重要的一个环节,对吧,我们就到达了一个里程碑对吧?那这是一个里程碑,这是一个里程碑,这是一个里程碑啊,实际上就是里程碑这个概念咱们稍微的理解一下就行了,OK啊好了,那完成之后呢,我们就继续往下进行,那截止到现在大家应该就已经清楚了,就是我们这种所谓的累积快照师表是长什么样的了,对吧,就长这样,其实很简单啊,OK,好,那接下来咱们继续往下思考,下边呢,咱们就来分析。
05:44
分析啊,就是为什么这种表对不对,它能够帮我们去解决那种多事物关联统计的需求,为什么它到底有什么魔力对吧?能帮我们去解决这种多事物关联统计的需求,就咱们之前举过一个例子,对吧?咱们之前要算的那个多事物关联统计的需求是什么来着,他让我们统计啥来着,是不统计什么最近30天对吧?用户下单到支付的时间间隔的平均值对吧?啊,OK,好,那之前咱们从事物时表里取出是怎么算的来着,我们需要拿到最近30天的下单记录,拿到最近30天的支付记录,拿到他俩是不是进行关联呀,对吧?关联之后我再进行,呃,这个求平均值的一个操作,对吧?之前是这么做的,但是你想一想,假如我现在有了一个这种所谓的累积快照表了,我现在可以怎么做?你看啊,我这张表当中一行是不是就是一个订单从前到后的一个完整流程,没问题吧?OK,好,这里边是不是就具备了这个订单的下单时间和支付时间呀,对吧?OK,好,那这样一来的话,我要再想算刚才那个需求,我只需要怎么做了,是不是只需要。
06:44
那拿到咱们这一张表就够了,对吧?拿到一张表之后呢,我先把最近30天的订单过滤出来,过滤出来之后呢,我再怎么做,是不是在拿到支付日期,拿到下单日期,它俩一减,直接求平均值是不是就完事儿了,对吧?我还需要去从两张事物值表里边去进行关联统计吗?那就不需要了,对吧?诶那这样一来是不是就能够很好的去解决这个所谓的多事物关联统计的需求,对吧?那其实他解决这种需求的基本原理是什么呢?其实这个道理就很简单,我相当于直接就提前给你,怎么样提前关联好了嘛,对不对啊,那你在用的时候是不是相对来说就容易一些了,对吧?哎,这一点咱们大家要注意一下好了,各位同学,那这个实际上就是所谓的累积快照时时表,它的一个特点啊,它的一个特点,好了同学们,那完成完成之后咱们继续往下走,那也就到现在为止,这个累积快照时表的概述,它的意义咱们基本上就说完了,说完之后咱们再来思考一个问题啊,咱们来想一想,你说它为什么会叫做累积型快照视角这个名字,咱们怎么理解这个累积,累积它体现在哪?
07:44
这个累积,那这这个累积说实话呢,它是体现在这个数据插入上面的,来大家跟我一起想一想啊,你说就是咱们就以这张表当中的这行数据为例啊,你说这张表当中这行数据它是一次写入写完的。
08:02
是吗?他一次能写完整了,那显然不是了,对吧?为什么不是呢?你想一想这张表的数据应该怎么插入,它应该是这样的啊,首先那正常情况下,我们是用户会在6月14号这一天是不是下了一个订单呀,对吧?下完订单之后,我们那个订单表是不是就会有新增有变化呀,对吧?好,那我们是不是会通过增量同步,把那个数据是不是给它同步过来,对吧?同步过来之后呢?那我们会怎么样,是不是会先往这张所谓的累积快照表当中是不是插入一条数据,但是你要注意,你插入一条数据,你只能拿到他的什么信息,诶这些信息没问题,下单日期能拿,但是他支付了吗?显然是没有支付的,所以说支付日期是不是刚插进来,就是就啥应该是空对吧?空这个是不是也是空,这也是空对吧?然后呢,订单金额咱们是有的支付金额,它支付了吗?没有对不对,没有的话,这是不是就是空啊对吧?好,那不之后是不是得到了第二天的时候,那他支付了,我们是不是才能拿到一个支付的信息,拿到支付的信息之后,咱们需要怎么做。你需要找到这张表,然后呢,去干啥呢?这回你就有点特殊了,你得去改一下这张表当中昨天插入的那条数据吧,对吧,你得改它,那怎么改呢?你应当把它的支付日期是不是改成你现在这个支付的日期啊,对吧?啊,那不,后边是不是支付金额加上就完事了,对不对?那当然后边我们还有什么呢?等他发货的时候是不是得改发货日期,等他确认收货的时候,是不是改确认收货的日期啊对吧?也就是从这个插入的过程我们能看出来,就是这张表当中一条数据,我们不是一次写入完整的,我们是分多次累积写入的,对吧?你写了多次,是不是这条数据我才给他写完呀,对吧?那标在这儿呢,我们就称之为累积快照表,这个累积就是这个意思啊,稍微的理解下去了,好,那截止到现在呢,累积快照时表的基本概念咱就讲完了,来,我把视频给他停一下。
09:45
啊好,同学们,我们现在继续往下走,下边我们要讲的内容呢,就是这种累积快照表的设计流程,也就是将来比如说我想建一个那样的表,对吧?那我到底怎样去一步一步的设计?来我们看一下这个步骤,那按照文档当中说明呢,你会发现啊,累积快照表的设计与流程与与谁是相似的,与失误时表是类似的,对吧?它是不是也是包含这样的四个步骤啊,对吧?但纳斯选择业务过程,生命力度确认维度,确实事实虽然这个步骤看起来跟事物时表是一样的,但是呢,每一步的含义和事物师表那边可能就不太一样了,它是有所区别的,那有所区别,那咱们接下来呢,就重点去说一下,就是它跟事物师表哪不一样啊,来,我们先看第一步选择业务过程,诶,在事物事表的设计论当中,我们第一步选择业务过程的含义是什么?还记得吗?
10:34
是选择感兴趣的业务过程对吧?那完之后一个业务过程是不是就最终对应咱们的一张事务时表啊,对不对?但是在这儿咱们设计这个周期累计汇照表的时候,这个选择业务那就不是那个意思了,是啥意思呢?看来看一下他怎么说的,他说我们要做的工作是选择一个业务流程当中,你将来可能需要去关联分析的多个关键的业务过程,对不对?那完了之后呢,这多个业务过程我们对应几张累计快照表呢?只对应一张累计性快照时表对吧?这个是不是跟那个数时表那块是不一样的,对吧?这个一定要搞清楚好了,那咱接下来继续往下看看第二步,第二步是什么的,是声明力度,这个声命力度力度仍然是跟什么相关的。
11:17
行,对吧,你现在一定要记住,只要提到力度,那就是跟行相关啊,跟行相关,OK,那这个生命力度我们是不是还是在精确的定义每行数据所表示的是什么呀?对吧?OK,那在这儿,那咱们这个力度我应该怎么选呢?诶应该尽量的选择最小力度,但是这个呢,不强制,这个不强制,为什么呢?诶因为咱们这种累计快照实时表,它和那种呃,就是事物实时表,是不是他们处理的问题的场景是不一样的,对吧?那由于我的事务实施表它要干啥,是要满足是不是各种细节层次的这个聚合要求啊,对吧?所以它需要保留最细力度的,而我们这种累积快照表,它主要是用来干什么的来着?是不主要是用来解决这种多事物关联统计的需求啊,对吧?那所以他这儿呢,实际上是没必要非得保留最小力度的,但是呢,在这儿我们也应尽量的选择最小力度,但是不一定非得是最小的,你尽量的小就完事儿了,诶是这样的啊,那这个就是剩余力度,这一步咱们要做的工作啊,就是说白了还是在确定每行是什么啊好,那接下来继续往下走,下一步就是确认维度,确认维度呢,仍然是确定与业务过程相关的维度,但是大家要注意,我们现在这一张表里对应几个业务过程是不是多个呀,对吧?那所以咱这儿确认维度的时候选择的是什么,是与每个业务过程相关的维度,诶,这个一定要注意,OK啊好,那完之后需要注意的是什么呢?每个业务过程你是不是都得有一个自己的日期维度对不对,但是别的维度就不一定了,对吧,你比如说我下单,诶还有这个支付,还有这个退单,还有退款,对吧?那他们是不是都跟谁相关,都跟用户相关,那用户维度我是不是只要一个就够了,我不用给每个业务过程都整一个,因为他们是不是都是同一个用户啊,对吧,那是这样的,但是日期就不一样了,每个业务过程日期肯定是不一样了,所以他得。
12:56
得各自有一个自己的日期维度才行,哎,这个要理解一下,好,那接下来我们往下走,最后一步确认事实,这个确认值还是在确定什么呢?还是在确定度量值,只不过这个度量值不再是一个业务过程的度量值了,而是这一个流程当中是不是多个业务过程的度量值啊,对吧,是这样的啊好了,那这样一来的话呢,我们整张表它的这个表结构基本上也就确定下来了,OK啊好,那最终总结一下啊,那相当于我们第二步是在确定什么呢?确定你这张表的行对吧?那第三步呢,是在确定里边的维度外界,那最后一步呢,是在确定那个多少值,那你这这一张这个事物,这个累积快照表是不是就出来了呀,对吧,就是这个结构,那当然累积快照师表它的这个设计,我们其实也得取决于什么呢?也得取决于哎后来具体的需求,对吧,你得有类似这种哎多事物关联统计的需求,我们才需要去考虑去创建累计快照表,如果你没有类似的需求,那这种表我们是完全可以不见的啊这个理解一下行了好了,那最终咱们总结一下啊,这三种市值表咱们。
13:56
就已经都讲完了,讲完之后呢,大家要知道这里边的重点应该是事物是实表,它是占据了绝对的主要地位的,而另外两种周期快照表和累计快照表,它俩存在的意义就是为了干啥的,是不是解决事物实值表的某些不足的呀,对吧?哎,是这样的,那完了之后,那这两张表呢,是可能有也可能会没有的啊OK,有类似的指标我们才会去见它,没有类似的指标咱就可以不见了,诶但是事物时表呢,肯定是会有的啊好,那这个完成之后,视频我停一下啊。
我来说两句