00:00
啊来各位同学,那咱接下来呢,看一下咱们整整个构建流程当中的第一步,咱到底应该怎么去做啊,数据调研,那数据调研呢,那咱们实际上呃,是分成两个工作的,对吧?哪两个工作来着,是不是一个是业务调研,一个是需求分析啊对吧?业务调研是调研数仓前面的业务系统对吧?那需求分析是分析数仓后边的这个各项统计指标,对吧?好,那接下来我们看看这个业务调研咱到底怎么做,需求分析又应该怎么做啊OK,那这儿呢,实际上有一句话,咱们可以简单的看一看,他说这两项工作做得是否充分,直接影响着数据仓库的质量,这个大家应该是能够想明白的,对吧?啊OK啊好,那接下来来继续往下看,我们看一看业务调研到底怎么做啊,来往下走到一小节,他说业务调研的主要目标是什么呢?是熟悉业务流程,熟悉业务数据。OK啊,那好,熟悉业务流程,到底应该怎么去熟悉,熟悉业务数据,我又应该怎么熟悉呢?来,咱们一点一点往下看,咱们先看第一步。
01:01
熟悉业务流程,那熟悉业务流程呢,它要求我们做到明确每个业务流程,呃,明确每个业务的具体流程啊,是这样的啊,然后呢,诶我们需要做到哪一步呢?需要做到将该业务流程所包含的每个业务过程一一列举出来啊,是这样的啊比这里边有两个概念,一个是所谓的业务流程对吧?还有一个是什么呀?啊,就是所谓的业务过程啊,对吧?其实之前咱们举过一个例子,什么叫做业务流程啊,比如说我们在电商当中典型的这个业务流程我们会要什么?比如说交易这样一个业务流程,对吧?那这个交易当中的业务流程,它会包含哪些业务过程呢?啊,这个流程不流程的倒不是那么的重要啊,最重要的实际上是这个业务过程啊,OK,那流程当中会包括哪些业务程么?比如说我会有下单,我会有支付对不对,我会有诶商家发货,我会有买家收货对不对?当然里边呢,可能还会有一些其他的业务过程,比如说什么加购物车对不对?诶等等等等,这些是不是都是跟交易相关的?
02:01
业务过程啊,对吧,那我们再去熟悉业务流程的时候,我们必须明确的把每个业务过程都一一的列举出来,这个业务过程是非常非常重要的一个概念,为什么?你想一想业务过程是不是对应的就是我们后边维度模型当中的事实表啊,对不对?那实际上维度模型在咱整个数仓的模型里边,它实际上就是处于一个核心的位置,没错,虽然咱们那个,呃,我们那个就是数仓的,呃,整个的分层模型当中,对吧,我们除了DWD,除了DM还有一个DWS对吧?但其实可以想一想,DWS其实也是基于谁的。也是基于咱们的维度模型的吧,就它是不是是通过我们维度模型当中的实时表汇总得到的呀,对吧?所以说整个维度模型在整个输仓的模型里边,本身就是核心的位置,而在维度模型里边是不是事实表又是那个核心啊,对吧?那所以说事实表对应的是不是就是业务过程,所以业务过程是非常非常重要的,那所以在这我们熟悉流程的时候,一定要把每个业务过程都给他明确的列举出来,OK啊好,那完了之后我们继续往下走,熟悉业务流程,那这个呢,呃,实际上呢,就是咱们具体怎么去做呢?呃,如果我们这个企业当中有这个现成的,比如说一些设计文档等等等,你可以参考一些文档,如果没有的话呢,那我们可能就需要去跟业务方的人员进行面对面的沟通了,诶是这样的啊好,那接下来咱们继续往下进行,那下边我们要做的一件事是什么呢?就是熟悉业务数据,这个是非常非常重要的,我们来看一下这个熟悉务数据到底怎么去做,来看一眼,他说熟悉业务数据呢,要求我们做到做到啥往下看将数据。
03:39
对,业务过程对应起来,当然这个数据呢,就包括我们的买点日志,也包括业务数据库当中的表啊,都包含OK啊,我们需要将数据跟业务过程对应起来,OK好,完了之后呢,我们需要明确什么,需要明确每个业务过程会对哪些表的数据产生影响,以及产生什么样的影响,那产生的影响呢,其实无非就是啥呀,无非就是新增一条数据,或者是修改一条数据,对不对啊,也就是说你产生的影响你需要具体到是新增一条数据还是修改一体一条数据,而且你需要明确呢,诶,如果我是新增,那我新增的内容是什么?如果我是修改,那我修改的逻辑又是什么?比如我们熟悉数据呢,我们一定要做到这个程度,实际上这个东西大家现在应该不陌生了吧,我在第一天给大家上课的时候,对吧?呃,咱们再复习前面的采集项目的时候,我是不是就跟大家说了,我们再去熟悉前面的业务表的时候,咱们是不是得做到这样的一个程度啊,对吧?哎,这样的OK,好,那这实际上就是我们熟悉数据的时候,咱们必须要。
04:39
做到的这样的一个程度啊,OK啊好了,各位同学,那到目前为止,我们这个所谓的业务调研,那到底要去做什么,大家应该基本上已经在这个有了一个初步的认识了,OK,那接下来呢,我们再通过一个具体的例子来看一看,就是我们这儿,呃,做去做这个业务调研的时候,咱们到底是怎么去做的,来咱们看一个具体的例子啊来各位同学,我们继续往下看。
05:01
那下边有一个这样的例子,他说什么呢?他说下面,呃,这个以谁呢?以电商这个当中的一个非常典型的这个业务流程为例,那就什么流程呢?是不是就是交易流程啊,对吧?以它为例,咱们来看一看里边的关键的业务过程都有什么,完了之后呢,再来看一看每个业务过程到底会对我们的数据产生什么样的影响,来,那咱们现在一起来看一下,我把这个PPT点开啊,首先我们先去梳理一下这个交易流程当中的对吧?呃,业务过程都有谁?那首先第一个。是不是就是买家下单对吧,那这是不是我们交易流程当中最为关键的一个环节啊,对吧?好,那买家下单之后我们会怎么做呀。是不是会等待买家付款对吧?OK,那下一步是不是就是买家付款对不对,那买家付完款之后呢,是不是就是等待商家发货呀,对吧?好,那发完货之后,呃呃等他发货对吧?后边他是不是会发货呀,对吧?那发完货之后我们怎么呃等待这个买家收货对吧?那最后买家是不是就会收到货物,收到货物之后,那如果没有问题,是不是这个交易就算是完成了呀,对吧?然后大家可以看一下啊,就是我这里边列出来了这个交易流程当中的几个关键的业务过程,我这个菱形表示的都是不是都是业务过程啊对吧?好,那也就是我们现在已经完成了第一步了,就是我们已经把这个流程里边的业务过程列举出来了,好,那接下来我们还得干什么来着,是不是还得把业务过程跟我们的数据是不是进行对应啊,对吧,我们得搞清楚,哎,每个业务过程会对哪些数据产生影响,以及产生什么样的影响,好,那现在咱们就逐个的来分析一下,大家想一想,你说买家下单这个业务过程会对谁产生影响?
06:35
主要是对咱们业务表产生影响对吧?好,对哪张表产生影响呢?这个其实咱们之前就分析过,对吧?当时我们说的会对older info产生影响,会对older detail产生影响对吧?其实还有可能会对谁产生影响来着,是不是那个订单明细跟活动和订单明细跟优惠券的关联表也可能产生影响,对吧?这个有没有影响不是取决于咱们有没有,有没有去用券,有没有参与活动啊对吧?是这样的啊好,那接下来呢,咱们一起看一下这里边是怎么描述的,他这写的相相对来说比较简单啊,他没有考虑到那两张关联表对不对,他这简化一下,咱们大大概了解这个意思就行啊OK,那他这说了买家下单诶,会对我们的older和older detail产生影响,产生什么样的影响呢?Older info是不是会新增一条订单记录,而order detail呢,是不是新增若干条明细记录啊,对吧?那若干条到底是几条,取决于你这个订单有几个商品对吧?好,那这个完成之后咱继续往下看,那下边呢,我们再来看另一个就是买家付款,它会对谁产生影响,这个琢懂吗?
07:36
他会对谁产影响?呃,还是欧德人头对吧,欧德有没有影响。Order应有,应该是有影响,对吧?来大家回忆一下,Order info当中是不是有一个字段叫做order status这个订单状态对吧?应当只要我们这个进行某一个环节对吧?那它的状态是不是都会发生变化对吧?所以说首先older ino会受到影响,那受到什么样的影响呢?它是in色的一条还是UPDATE1条呢?还是注意是UPDATE1条数据对吧?它会。呃,将什么呢?将older statuss那个状态变成已支付的状态对吧?好,那除了它还有谁会受到影响呢?呃,Payment的类型啊,那不叫pay名类型啊,Pay名一号pay,呃,叫做支付记录对吧?也就支付记录表是不是也会受到影响对吧?它受到什么影响?
08:22
应该是新增一条数据吧,OK啊,也是在这儿呢,受到影响的表主要就是这样的两张payment info,这张表大家我我之前没带家看啊,大家还记不记得这张表,Payment info,我们有一张这样的表啊,里边是不是存放的是一个一个的支付记录啊,对吧?OK,好,那你这有买家付款发生,那这张表就会新增一条记录,好那接下来继续往下走,Order info表是不是会有一条数据会变成已支付啊,对吧?一个in色,一个是update,这个理解一下,好,继续往下看,那买家发货呢?买家发货,那是在这儿呢,主要发生变化的是不是也是older info啊对吧?那他是不是也是那个订单状态会发生变化对吧?状态变成已发货,好继续往下走,买家收货呢?诶这个还是O点以后,那它里边的状态是不是会变成已完成了对吧?OK,那这实际上呢,就是我们举的一个具体的例子,那我们在熟悉这个业务对吧?我们再去做这个所谓的业务调研的时候,咱们就得做到这个程度才算是调研充分了啊是这样的啊OK,那大家可以想一想,你说这个,诶,就是工作量是不是相对来说也是比较大的呀,对吧?啊,因为我们正常有很多的业务过程,对吧,还有很多复杂的这个业务流程,你需要一个一个去梳理,这个是需要一定的这个工作量的,那当当然这个也不是一个人去做啊,正常是一个团队去做啊,可以分工合作好,那这个完成之后,各位同学我们继续往下进行,那在这儿我们怎么去做,咱们基本上已经知道了,对吧?呃,做到什么程度咱们也搞清楚了,大家有没有想过啊,为什么咱们一定要这样去做了,我为什么要来特别的去重视这个业务过程,我为。
09:51
为什么在熟悉业务数据的时候一定要去做到这个程度,什么程度呢?就是要明确每个业务过程会对哪细胞产生影响,以及产生什么影响,我为什么一定要做到这个程度,大家有没有想过咱们这么做是为了后来的什么去去做的呀?啊对,肯定是跟事实表相关的,对吧?业务过程是不是就跟实时表相关大家对吧?好,那跟实时表什么相关的,主要是到底跟什么相关,咱们其实可以一起来分析分析,各位同学啊,那现在呢,我们以一个具体的例子给大家说明一下啊,就是我们这儿之所以要这样去做业务调研的一个诶原因啊,简单说明一下,咱们现在以谁为例呢?呃,我们现在就以一个比较典型的呃这个业务过程为例吧,咱们以加购为例,加购加购就就是所谓的加购物车,对吧,大家想一想,你说加购这是不是一个业务过程的,是对吧?是的话,我们将来是不是就可以为他去设计一个事实表啊,对吧?一个什么类型的施表呢?就是主要就是事物型师表对吧?好,那假如说我现在需要去设计一个。
10:51
加购物车的事物行时表,好,那大家想一想,想一想,你说我们这张表的表结构应该是什么样的?表结构无非就是行和列嘛,对吧?好,那怎样去设计一个事物实标的比较结构,大家还记得吗?是不是咱们有一个固定的步骤啊,对吧?什么选择业务过程,哎,生命力度确认维度确认事实对吧?哎,是不是有一个这样的步骤?好,那咱们现在就按照这样一个步骤去设计一个这样的所谓的加购物车的事物时表来吧,选择一个过程已经选出来了,对吧,就是加购嘛,对吧?好,那下一步是什么?是声明力度对吧?声明力度是不是就是明确这张表每行是啥呀?对吧?好,那你想一想,你说加购物车每行应该是一个什么呀?
11:28
应该是一个什么,在这张表里边一行我应该存一个什么,是不是应该存一次加购操作记录啊,对吧,没错,最明细的嘛,一次架构操作我是不是应该作为这个事物师表当中的一行数据啊,对吧?其实你应该呃,大概应该能体会出来了,是不是所有的事物师表当中,我的一行数据代表都是一个人么?都是一次对应的操作吧,对吧?你下单失误十表一行就是一次下单操作对吧?那完了之后我加购一行就是一次加购操作,这个应该很好理解啊好,那这一次加购操作我们应当精确到什么程度呢?因为咱们得是最细力度啊,你得精确到什么程度,你得精确到是哪个用户在什么时候把什么商品加到了他的购物车当中,是不是应该得精确到这个程度才行啊,对吧?啊是这样的啊,好了,那这个完成之后,我们继续往下进行,行基本上明确了,那接下来咱们再去做第三步就是确认维度对吧?确认维度那你说咱们这儿跟加构相关的维度都有啥呀,其实呢,我们刚才的描述维度基本上就定下来了,对吧。
12:29
有谁?首先用户肯定得有对吧,你得知道是谁加的购物车对吧?好,那还有谁呢?时间得有,你得知道什么时候嘛,对吧,那还有谁呢?地区呃,这个商品肯定得有,你得知道是加的什么商品对吧?其实地区里论有没有关系的加购,其实其实也应该有关系啊,因为啥你平时咱们在自己去使用,比如京东或淘宝的时候,对吧?你对一个商品在加购的时候,它可能会出现一个什么提示,你所选地区是是无货的对不对,那是不是跟这个地区也是有一点关系的对吧?那当然其实一会儿大家能发现,就是我们自己的这个模拟的这个电商的业务系统里边,咱们并没有这层关系啊,OK,那这个就是具体块而定就行了,OK,那假定我们的维度就有这几个,好,那确认维度是不是就完成了,对吧?确认维度完成,那我们这张事实表当中是不是就会有这样几个维度外建呀,对吧?好,我们继续往下走,那最后一步是干干啥来着,确认事实,那你说对于加构来说,它的事实应该是啥呀?就是度量,那就是啥,那是建筑啊,对吧,我本次我一共加了几件对不对?这个道理吧,所以这儿是不是可以有一个建筑啊,对吧,OK。
13:29
那这个大家应该是能够想明白的,好的同学,那截止到现在呢,列张表的行,还有列咱基本上就定下来了,这是不是咱这个表结构啊,对吧,就OK了,其实表结构的设计大家觉得难不难,这个不难,对吧,这个其实你只要按照它那个固定的流程去做,表结构基本上都能设计出来,对吧?啊,只不过可能有的同学呢,设计出来的话呢,呃,就是说可能缺点什么,比如缺什么呢?维度我可能少选吧,对不对,比如说举例子,那明明我加构跟地区有关系,但是有同学可能诶没有想到这一层,对吧?啊,是不是可能会缺点维度信息啊,对吧,那这个都还好,这个层还好啊,那所以说这个维度这这个事实表的表结构设计比较简单,那你想想,表结构设计完了之后,咱接下来需要干啥呀?是不是得往里边去装载数据啊,对吧?没,没问题吧,你得往这码里去装载数据啊,对吧,也就说白你得去写那个circle对不对?好,那现在问题来了,那咱们怎样往这张表里装载数据呢?我这个circle将来怎么去写呢?
14:24
对吧,这是咱们后来将来是不是需要去考虑一个主要的问题啊,对吧?OK,那怎么往这张表里去装载数据,那怎么往里装载,那咱们得知道你往里装的是什么,你往里装的是不是应该是一个一个的加构操作记录啊,对吧?OK,好,那现在问题来了,我从哪去找加构操作记录对不对,也就是你在我这边装载数据的时候,首先你得先反应过来,我从哪去取数据,对吧?OK啊,那咱们从哪去取数据,从哪儿去找加构的这个操作记录,哎,其实哎,你这时候呢,你就会用到我们刚刚这里边的一个理论什么呀,就是你必须得明确什么每个业务过程会对哪些表产生影响对不对?OK啊,你想一想,你要想往加购这张表里放加购操作记录对不对,你就首先得知道加购这个操作会对哪张表或哪几张表产生影响,他对谁产生影响。
15:24
我是不是就应该从哪张表里去找这个操作记录啊,大家说是不是这个道理啊,是这样的啊,那所以说这句话大家现在应该是能够明白了,对不对,那现在咱们就来分析分析,你说加购这个操作会对哪张表或哪些表产生影响啊,那肯定会对业务系统对产生影响,对吧?好,那现在呢,我就把这个业务系统的这个数据库咱们打开,咱一起去找一下,看看到底会对谁产生影响啊来我打开它,然后呢,找到这一大堆的表,这是我们业务系统当所有的表,对吧?你说架构会对谁产生影响。大概率是color info对不对?OK,好,那现在我们把这张表打开,那大家对这张表的结构熟悉不熟悉啊,呃,就是我们再去谈论某张表的时候,首先你至少得保证对这张表的结构咱得是熟悉的啊,大家对这张表结构熟悉不熟悉不熟悉,咱那咱咱就来一起熟悉一下啊先好,那现在熟悉张表的表结构无非就是熟悉的每行每列是什么对吧?来先看行,这张表每行指的的应该是什么呀,就是大家自己锻炼一下自己的这个熟悉表的能力啊,就看这表你得知道它啥意思,一行是一个什么呀,一行是一次架构操作吗?是不是。
16:29
这张表里一行是不是一次加购操作记录是不是,你好好琢磨琢磨是不是是吗?是我只要加购一次,这张表里就会阴色的一条数据吗?是这样的吗?其实并不是啊,其实并不是啊,OK啊,实际上我可以告诉大家,这一张表当中,实际上每行数据指的是一个什么呀,是一个人他的购物车当中的一个商品的件数啊对吧?OK,那呃,一卡数就表明诶张三这个就是三号用户里边它有一个13号的商品对不对,那完了之后呢,他现在呢,购物车里边有三件啊,是这样的,至于这三件到底是分几次加入的,咱们知道吗?并不知道对吧?是这样的啊,这是这张表当中每行数据所表达的一个含义,好了,那接下来呢,我们再来看一看,就是它的字段都有啥啊,字段简单了解一下,首先第一个UIDSQID,哎,这些都不用说对吧?用户ID,商品ID对吧?那往后走,那这儿呢,有一个car price,就是构的一个商品价格,然后下面的SQ是不是有几件啊对吧,后边是这个,呃,商品的图片地址我们不多说,然后好看这是商品的名称,呃这个呢,Check这个大大家可能不太了解市场啊,这是什么意思呢?呃,这个其实呃就比较细节了啊,呃,就是。
17:42
大家你不知道有没有这个,平时有没有这个体会啊,就比如举例子,你比如说我现在打开我手机上的京东对吧,打开之后我的购物车前面是不是有一个选中的一个按钮啊,对吧?哎,你可以选中它,选中完之后,当你比如说把这个应用退了,退了你再打开的时候,你再去看购物车,你会发现那个商品还是什么状态,还是选中的状态,诶你说它是怎么去保存的个选中的状态呢?很简单,是不是我们买思当中有这样的一个字段啊,对吧?哎,它会去保留你这个选中状态是这样的啊,这个消比比较细节,咱们不用关注它,大概了解一下就行,我们接着往下走,后边是不是还有一个什么create time啊,对吧,这个create time是什么意思呢?
18:18
是创建时间,谁的创建时间,说白了是这一条数据插入的一个时间,就是对吧?OK,好,那所以说白了,这个cur time你应该怎么去理解呢?你应该这么理解,是这个人第一次把这个商品加到购物车的一个时间吧,没问题吧,OK啊,好,那完之后我们继续往下走,后边的还有一个人,还有一个奥time,奥其实就是所谓的操作时间,对吧?那这个time又又要怎么理解呢?但实际很简单啊,只要咱们这张表的数据发生变化,OK,那op time都会变成什么呢?诶这个,诶最后一次变化的时间是际啥意思啊,你想一想啊,就是举个例子,我现在第一次加购的时候,我这里边是不是正常会插入一条数据啊,对吧?那你想一想,我有没有可能出现这样一个情况,哎,我同一个人又对同一个商品加购了,对吧?你说我再加购他理论上应该怎么处理?
19:09
它是再新增一条数据吗?是不会的,他会找到这条数据,是不是把这个件数改一下就行了,对吧?啊,那这时候我们后边的up oper time数据会变成你第二次加构的时间呀,对吧?是这么个逻辑,这个了解一下啊好,那接下来继续往下走,那后边还有一个叫做is older的,这个is older是什么意思呢?就是是否未加单,对吧?什么叫是否未下单,这个怎么理解?我来大家再再思考一个问题啊,就是我正常情况下,我购物车里边,比方说有一个商品,对吧,我是不是可能会对他进行下单,那你下完单之后,自己的购物车里边还有这个商品没有就没有了,对吧?理论上这个商品,这个购物车里边商品没有了,它对应到数据库的操作应该是一个什么操作,理论应该是一个删除操作,对吧,对不对?但是它会真正的删吗?他不会真正的,我们业务系统很少会做这种真正的物理删除啊,他这儿相当于是加了一个什么呢?删除的标记,是不是做了一个逻辑删除啊,对吧,只要你下单了,我这儿就给你标个一,标个一之后我的客户端是不是就不再显示了呀?对吧,就好比是删除了,就这个意思啊,好,继续往下走,那后边呢,我们还有一个什么source type等等的,这个我后续再给大家解释,这个对咱们这儿来说呢,不是特别的重要,暂时先不用看了,好了同学,那截止到现在呢,大家就已经对我们这张表的表结构有了一个了解了,对吧?好了,有了了解之后,咱接下来问题就来了啊,我们刚才说了,说加购的也有过程会对这张表产生影响,对吧?那所以说我们要想去往加购那个事实表里装载数据。
20:31
对吧,我们是不是就得想办法从这张表里边去找咱们想要的那个架构操作呀,对吧?所以你得往里边放一个一个的架构操作,那这个怎么去放,我能不能就是说哎,我把这张表的数据直接拿过来一行就作为我们事物十表里的一行给它放进去,能行吗?能不能行?对吧,我直接从这上面拿一行数据,就放到我们那个架构实施表的里边,对吧?一行就对一行,那样能行吗?显示不行,为什么不行?因为我们刚才已经明确了,这张表当中一行数据代表的并不是一次架构操作,对吧?没问题吧,OK,而我们的事务师表当中,我要求你一行就得是一个架构操作才行,对不对?你得告诉他,诶我是谁,在什么时候诶加购了什么商品,然后加了几件,我是不是要的是这样的一个一个的操作呀,对吧?我要的不是你这个人他的,诶购车当中这个商品有几件,我要的不是这个东西,对不对?那所以现在问题来了,那我怎样从这张表当中去获取咱们想要的那个加购操作,怎样去获取?
21:30
咱要说怎样获取,哎,怎样获取呢?这时候呢,我们就得看下边这句话了,你要想知道怎样去获取这个价格操作,你就必须得搞清楚,对吧?什么呀,就是你这个业务过程会对这张表产生什么样的影响,你得知道对它产生什么影响,产生影响呢,你必须得具体到什么呢?是新增一条数据还是修改一条数据,而且你得知道新增的是什么,修改的逻辑是什么,诶你必须得把这个搞清楚,你才能知道怎样从这张表里去获取我们想要的那个加购操作,OK,那咱们现在来实际的体会一下,那现在咱们就来分析分析,你说加购操作对咱这张表的一个影响逻辑到底是啥样的呀,加构对他的影响到底是什么,是因三一条啊,还是阿条啊。
22:18
哎,刚才有有同学说update,那我iner的可不可能是加购操作呢?也有可能吧,对不对,那现在咱得分两种情况对吧?那如果说诶,我这个人是第一次对一个商品进行加购的操作,OK,好,那这时候他就会怎么样,是不是就会因三的一条数据没问题吧?好那完之后呢,如果这个人是对购物车里边已有的一件商品再进行重复的架构,好,那它相当于是怎么操作呢?是不是update的一套数据啊,对吧?所以说既可能in色的是不是又可能update呀,对吧?那所以说我们怎样才能从这张表里拿到咱们想要的这个架构操作呢?那我们是必须得获取到这张表的变更日志才行。对不对?那变更日志里边会记录什么?会记录我这张表当中是不是所有的inser的操作和update的操作,以及他们所影响的数据啊,对吧,没问题吧?好,那假如我们现在已经拿到了这一大堆的音色的操作,Update的操作,好,那我们怎样去从里边过滤出来咱们想要的数据?
23:16
怎么规滤出来啊?大家还记得咱们那个变更操作大体的格式是什么吧?就是Maxwell输出的格式,大家还有点印象吗?是什么样的,是一个杰森对吧?然后杰森当中是不是有一个字段,那个字段叫什么type字段有一个type对吧?那个type是不是可能是insert,可能是update,也可能是delete呀,对吧?那个type是什么?是不是表明这条数据是一个什么类型的操作呀?对吧?好,那你想想我们将来要从那样的一堆日志当中去找加构操作的时候,咱们应该怎么去找,是不是得过滤一下啊,对吧?那首先我们得找到所有的type,也就是类型等于什么呀,什么类型的,In色的类型的,只要是in色类型,那是不是肯定是一个加构操作,这个大家应该能想明白吧,对不对,OK,好,那完了之后呢,我还得找到什么类型的up类型,但是这个要思考一下了,所有的up类型的操作都是加构操作吗?
24:09
这个可能就不一定了,对吧?比如说我这儿举一个例子,那我们往后看,往后看所谓的update,是不是只要这张表当中任意一个字段发生变化,它都会产生一条update的操作记录啊,没问题吧?好,那我们看一看后面大家看我这个is order的这个字段有没有可能变,有可能变对吧,你下单了,这是不是又变成一啊对吧?那这是一个加构操作呢,它不是对吧?所以说那这样的操作我们是不能要,我得给它过滤掉才行,对吧?好,那我到底要什么样的这个加构操作呢?我到底要什么样的这个这个update的操作,什么样的update才是我想要的,哎,你要想知道什么样的才是你想要的,你就得知道什么呢,你就得知道你这个,哎业务过程对吧?对,这张表的修改逻辑是什么?对吧?咱是不是得知道我加构操作对吧,是如何修改这张表的呀,对吧?好,那咱们来分析分析那架构是怎么修改这张表的?首先你得知道他修改的字段是谁,对吧?加构操作会修改哪个字段,肯定会修改SQ number这个字段对吧?啊,完了之后呢,他是不是会将这。
25:10
这个值变变大还是变小,得变大才行啊,也就说这个值有没有可能会变小,有比如说我减构对吧,那是不是有可能会变小对吧?那是这样的,所以说咱必须得明确这个修改逻辑,我才能准确的找到加构操作,所以在这儿呢,你最终去找这个加构操作的时候,你应该怎么找,诶类型等于in inside的,或者是类型等于update,如果是update的话,你得保证你修改的字段是SQ number,而且还得保证修改之后的值,哎,得比原来的值得是大才可以,对不对,OK,那这样的update的操作是不是才能才是咱们想要的那个加构操作呀,对吧?OK,那这样一来我们才能准确的找到,诶,我们所需要的加购物车事物实表当中的一个一个的加购操作,诶是这样的啊好,那通过这样的一个例子,我觉得大家应该就对这段话有了一个比较深刻的理解了啊,这个一定得理解到位才行啊,最终总结一下就是我们熟悉业务数据的时候一定得做到,做到什么呢?将数据跟业务过程对应起来,那你必须得明确每个。
26:10
业务过程会对哪些表产生影响,以及产生什么样的影响,对吧?产生的影响呢,我们必须得具体到,对吧,你是新增一条还是修改一条,那新增的是什么,修改的逻辑是什么,咱们都得搞明白才行,诶只有这样你将来再去做这个事实表的时候,那才能给他整明白,诶是这样的啊好了,那这就是咱们业务调研的一个具体工作,做到这一步,那就算是调研充分了,就算就算是做到位了啊好,完成之后视频我停一下啊。
我来说两句