00:00
啊,那咱接下来呢,去分析一下啊,分析下什么东西呢?分析一下咱们这个啊,我们这个数据仓,我们这个买SQ当中啊,我们这么多表的这个同步策略都应该采用哪种啊好,那首先看这个2.5.1这一节啊来可以看一下。在生长环境下啊,这个个别小公司啊,为了这个方便简单啊,这个所有的表全部采用全量导入。啊,这个大家其实这种现象是有的啊,而且大家以后毕业之后呢,哎,可能还会还会真实的就就遇到这种情况什么情况啊啊,就是因为本身我这个公司里边数据量小对不对,数据量小的话,那我全部采用什么呀,全部采用全量同步,因为什么大家可以想一想啊,你说我这几种同步策略当中啊,哪一种同步策略是最方便的呀。那肯定是全量对不对,我每天就是直接把全表倒过来,然后放一个外照啊,每天全量导过来做一个快照啊,那这个是最方便的啊,所以说如果说你公司里边啊,数据量真的不大,比较小,那你都全表其实也没事,而且很多公司确实就这么做的啊,啊那这个咱们知道有这个情况就行了,但是咱们最好别这样去做啊,那这个如果公司这个数据量这个规模比较大,那肯定还是得严格按照我们这个数据的同步策略去做才行啊,就是那三种啊,增量全量新增级变化啊,那咱接下来呢,就按照这个,呃,我们这个标准的这个规划呢,呃,这个规定呢,去规划一下,咱们这20多张表到底采用哪一种同步策略,来咱们一个个看啊,来,把这个PPT点开。
01:36
来打开。好,我们先看第一个啊,就是采用全量啊,全量那咱们来看一看啊,就是哪张表我们可以采用全量同步,那全量同步它适用于什么样的场景,首先数据量不能大,那其次既可能新增又可能变化,对吧?那接下来咱们就来分析分析,咱们这个哪些表可以采用啊,首先第一个。啊,后边什么不变的,这个特殊的,这个是新增的,这个是新增级变化的,那咱们先看全量。
02:05
首先啊,咱们有一个编码字典表,大家还记得这个编码字典表它的作用吧,里边是不是存了一些KV建值,对啊,K就是一些编码值,V呢就是对这个编码值的一些解释,比如说订单状态啊,当然这里边不止存储了这个订单状态的解释啊,还有什么呀,比如说咱们那个评价,评价分中评、差评、好评对不对?那咱们存的是不是也不是什么中评差评、好评啊,那咱们存的什么也是编码值啊,比如说一那代表的是好评,二代表的是差评啊,是这个意思啊,这也就是这张表呢,是一个公共的编码表啊,公共的编码表大家把这个来记住就行了啊好,那首先这个东西数据量会大吗?肯定不大啊,没有多少条啊,这个几十条几百条顶天的对吧,很小很小,而且它有没有可能变呀。有没有新增,有可能新增,有没有可能变呢?也有可能发生变化啊,对吧?比如说咱们业务发生变化了,我那个评价呢,我又加了一个,加了一个层级,之前只有中评差,只有好评差评,我现在就加了一个什么呀,加了一个中评对不对,那你这个是不是就有可能新增啊,也当然也有可能发生变化啊,那所以它采用全量是没问题的,那接下来下一个品牌表,品牌表呢,这个里边存储的是咱们这个商城里边所有商品所属的品牌信息,对吧?那这个品牌信息有没有可能新增,有有没有变化呢?那也有可能变化呀,对吧?那所以说这个东西咱们采用全量也是没问题的,数据量也不会很大啊,那现在再往下。
03:33
三级品类这个分类这个东西大家应该都知道是啥吗?就是我们在那个页面上看到的那点,就那那些东西会很多吗?数据量哎不会有没有新增,有有没有变化,有可能啊,比如我品类我名字改一下啊对不对等等都有可能,就是它采用全量是没问题的,那二级一级是不是都是一样的道理啊啊,那接着再往下走。再往下呢,有一个活动规则表啊,活动规则表,活动规则表里大家还记得里边存的是啥吗?
04:02
昨天是啥呀?啊,存的是我们所有这个规则的信息,对吧?啊,所有规则的信息啊,所有规则信息,那所有规则信息,比如说我现在又新增了一个活动,那对应是不是就会在这张表里加入这个活动的规则呀,所这张表有没有可能新增有啊变化呢?有没有可能,其实也有可能啊,可能我这个运营啊呃,在最开始规划咱们这个活动的时候呢,诶我我在后台我先提交了一个活动了,OK,那这个活动是不是对应的规则就会写到这张表里啊,对不对,写这张表里啊,但是这个活动还没有对咱们的用户公布,还没有对用户开放,只是在后台可见对吧?啊后台可见,可能在我公布之前,我觉得这个规则我需要调整一下,那是不是也有可能发生变化呀?啊,有可能变啊,也能变,那所以说啊,它是有可能新增有可能变化的,那所以说哎,而且数据量会很大吗?那活动能有多少活动对吧?啊不会太大,所以说采用全量也是没问题的啊在下边活动信息一样的道理,有可能新增,有可能变化。啊,那下边呃,参与活动的这个商品表啊,那这个呢,相当于也是属于什么呀,也属于我们活动的一个规则,就是规定哪些活动可以参与哪些商品啊,哪些商品可以参与我这个活动,那这个也是有可能新增,有可能变化的,有可能进行一定的调整啊,所以说也全量没问题啊到下边。
05:21
加购物车这两边。诶加购物车这张表,这张表是什么呀?这张表里是不是存储了咱们所有用户的所有的这个购物车信息啊,对不对,那首先它有没有可能新增,有啊,有没有可能变化呢?有,那用户可能改一下自己购物车的那个,比如说数量啊等等,是不是有可能变,对不对?那既有可能新增又有可能变化,那这张表数据量大不大呢?嗯,想一想应该比较大呀,为什么你像前面这些表,这些表其实都是一些什么东西,都是一些相当于是一些描述性的信息,对不对,比如说这个品类啊,就是描述商品用的对不对啊等等的品牌也是描述商品用的啊,你像这些信息啊,相对来说啊,它比较固定,就是他会新增会变化,但是他新增可能新增的并不多,对吧?比如说字典我可能新增增增增个两三条啊,这个活动呢,我可能加个十来个对吧,新增很少,但是对于加购物车这个来说啊,我新增可能每天都要新增大量的数据啊,因为这个东西直接面向的是我们的,相当于是我们的哎用户,那咱们用户如果很多,那我每天加购物车的数据是不是有很多呀,所以他新增每天可能会新增很多,既然每天都有可能新增很多,那随着我这个时间的增长,那这张表的数据是不是会越来越大呀,对不对,那所所以说这张表的数据量相相对来说比较大。
06:42
实际上是比较大的啊,啊,那比较大是不是咱们就应该不采用这种全量同步啊,前面讲了数量大采用全量数据冗余太多了,那最好不用,但这边咱们仍然是采用了全量,对吧?那这是为什么呢?这个实际上是跟我们后续这个数仓里边建模相关的。
07:00
啊,跟咱们后续的书仓里边建模相关的啊,呃,所以说咱们这边相对来说比较特殊,我们对它采用了全量,呃,这个为什么比较特殊,这个现在没有办法给大家解释啊,因为这个必须得掌握了咱们后续那个维度建模之后,才能给大家去讲解解释这个东西,那说咱们现在就先把这个东西呢当做一个特殊表处理就行了,后续咱们讲到数仓的时候再给大家讲这个啊,好接着往下走。下面的是这个收藏表,收藏表其实是一样的道理啊,它有可能新增,有可能变化,因为有可能取消收藏啊,对吧?啊,那这个有可能新增有的变化,而且数据量是不是也会比较大呀,因为每天都有可能有大量的新增,呃,有有大量的这个收藏记录插入进来,所以它它相对来说也不应该采用这个全量,但是它同样是跟我们后期的维度建模相关,那所以在这儿呢,咱们也采用全量,也当做一个特殊表处理啊好,这是咱们这个这张表,然后再往下呢,还有一个表叫做优惠券信息表,那优惠券信息表里边存储的就是啥,就是所有的优惠券信息呗,对不对,那这个会很大吗?啊,这个不会很大,那有没有可能新增,有没有什么变化呢?都有,那所以说都采用全量啊,是这样的,好,那接下来再看最后一个,最后一个呢是诶商品表。
08:13
啊是商品表,商品表里边存存放的就是什么,就是我们这个商城当中啊,就咱们这个电商商城里边,我们所呃这个正在出售的所有的这个商品信息,对不对啊,那这个其实相对来说呀,就呃就是说相对来就比较比较灵活了啊,为什么比较灵活啊,这个数据量可大可小。对吧,如果说我商城规模大啊,我这个这个呃这个呃上架的商品呢,呃,我有几亿个啊对不对,那可能是就数量就比较大了,对吧?那如果我这个商城规模小,我上在家就是在卖在售的这个商品没有那么多,没有那么多,那我数据量就少,对吧?所以这个可大可小,那在咱们这儿呢,我们呃对比的是一个中小型公司,所以这里边呢,咱们数量可能不大,那不大的话呢,那我们就呃相当于把它采用全量就可以了,因为全量方便呀,对吧?啊好,这是我们的呃全量同步的所有的表。
09:07
啊,那选择全量同步的时候呢,咱们就主要考虑数据量,然后呢,是否新增是否变化啊,考虑这几点就行了啊接着往下看啊,然后还有一个啊,还有是s puu啊s puu是不是也对,相当于是也对商品的一个描述啊对吧,那s puu跟SKU他俩谁的数据量大谁的小啊。那显然SKU要比s puu大吧,那它都全量了,我这个时候也可以采用全量啊啊啊,那接着往下走,它不是关于特殊的,那特殊的我们这就有一个省份表,有一个地区表,那他俩这个很长时间不会变,所以咱们知道一份特殊处理就行,好接下来往下看,下边是关于新增。啊,关于新增,那接下来咱们接着走呗,那新增我们就得找什么了呀,新增变就也相当于是增量同步啊,那咱们就得找内容了,就是说只会新增不会变化的表,是不是才才能选用咱们这种增量同步啊对不对,那你就得找了,首先呃,这个退单表,那退单表呢,实际上我我们实际上也是每天会新增,不会发生变化,哎,我OK,我退单了,退单之后呢,那这个呃,我这个实际上是不会变的啊,是会变的,所以它是可以采用增量同步的,再下一个,下一个是咱们那个订单状态流水表,这是不是减,呃,这相当于是一个典型的一个流水表,对吧?流水表它是只会新增不会变化的啊,这个没问题,那下一个支付流水表啊,也是流水表啊,这也没问题。
10:28
啊,然后再往下呢,我们还有一个订单详情表啊,订单详情表,订单详情表里边存的是什么来着,存的是我这一个什么里边啊,存的是我这一个订单当中所有的商品项,对吧?我这边下个单,那我对应的就在这里边插入几条数据这里边儿啊,它里边的字段呢,你可以看一下,这里边字段呢,是都不会发生变化的啊,都不变,那所以它也是新增,哎,不会变化,所以也采用增量,那再往下呢,还有一个活动跟订单关联表,这张表里存的什么数据来着?哎,只要一个订单参与的一个活动,是不是就会在这张表里加入一条这个他俩的一个关联记录啊,对不对,那这个会变吗?也不会变啊,也会变,那接下来咱们继续往下走。
11:10
那最后一个还有一个评论表啊,一个评论表啊,这个大家应该有有应该有所体会啊,就是咱们关于这个评论啊,比如说我这个下完单之后啊,我去评论一下这个商品,你会发现你评论之后呢,你你是不能改了就啊你能怎么样,你可以可以追加啊,可以追加评论也可以怎么也可以把评论啊,也可以删除啊,但是不能改对吧,不能改啊,其实为什么不让他改呀。为什么改,其实这个也是考虑到啊小么统一啊,就是比如说咱们平台啊,一一个管制的一个措施,相当于是假如要是能随意的改,那可能商家会假如你给差评了,那商家会跟你去沟通什么的啊把差评给我改一下吧,什么什么的啊对不对,那你本身就不能改啊,但是能删是吧,能删啊这个行吧,那不管它了啊行,咱接着往下走啊行,那咱们大致了解到这个东西就是不能改就行啊,啊再往下走。
12:01
那再往下我这边有一个啥呀,再往下就是咱们这个新增级变化的了啊,那新增级变化的咱们就得找什么样的,就首先数据量它得大啊,然后呢,有可能新增有可能变化,那接下来咱们就来找一找啊,看看哪些是跟这个数据量呃,哪些是适合采用这种新增去变化的,一般大家可以这样去理解哈,就是跟我那个业务相关的表啊,跟业务相关的表,一般情况下这个数据量都会比较大。啊,什么叫跟业务相关,比如说跟支付业务相关的啊,支付业务,你比如说这是不是咱们支付流水表啊,它为什么打,因为每天都会有大量的支付记录,对不对,那跟加购车业务他为什么打?因为我每天都会有大量的加购物车的记录,对吧?是这样,一般跟业务相关的表呢,数据量都会比较大,那像一般这种描述性的一些信息呢,数据量啊,销量都比较小啊,可以这样去回复,对这样去理解啊,啊大家咱们看这这个优惠券零用表,优惠券零表首先是不是跟咱们的领优惠券这个业务是对标的呀?啊,那他的首先数量很大,那他有没有可能新增呢?有啊有没有什么变化呢?
13:07
有没有变化?有吧,这个之前给大家看到过,咱们看过一张,看过一个这张表吧,那张表它是什么样的,是不是里边有是哪个用户领了哪个券吧,后续有什么领券的状态,还有什么领取时间,使用时间等等等,这个是不是会变呀,咱们演示了,那所以它是有可能新增,有可能发生变化的啊,有可能新增有可能变化,而且数量还比较大,所以咱们采用新增级变化。那同理下边用户表,用户表呢,实际上这个其实跟咱们那个商品表呢,其实也比较类似,它实际上也是比较比较灵活的啊,是不是也是相当于哪种啊,就是那种可大可小的,是不是得看咱们这个公司规模来定啊,公司规模大这个数据量就大啊,公司规模小,那数据量就小,那咱们这边呢,比如说我们在这儿呢,呃,假定咱们用户量比较大,所以这儿呢,我们采用新增级变化,又可能新增又有可能变化啊,数据量还比较大,能有新增级变化,行,那就来往下走,诶订单表,首先订单表哎,对标的是我们下单业务啊,数据量肯定大。
14:04
啊,数据量肯定大啊,那再一个呢,呃,它里边有没有新增,有会不会变化呢?也会,因为它里边有一个字段叫做订单状态对吧?那所以它肯定会变化啊,所以说在采用新增级变化,那这个就没有了啊,就没有了,这就是我们找的20多张表的这个,哎,同步策略的这个划分啊,就是这些表采用全量,哎,他们特殊这个增量,这个新增及变化同步啊,是这样的啊好了,那这个完了之后呢,我把这个视频录一下。
我来说两句