00:00
好,接下来我们看优惠券领用实时表啊,那它呢,是一个累积型快照时表对吧?也就是我们的第三类实时表啊,那累积型快照时表的特点是什么?大家还记得吗?啊,首先啊,我们先回忆一下它所适用的业务是什么样的。OK,它所适应的业务呢,是会发生周期性变化的业务,对不对啊,OK,那再有一个呢,那这种表啊,它的字段和其他两类师时表相比,是不是也有一个特点啊,对吧,有什么特点。啊,就是这类实时表呢,诶,它的字段当中会有很多的时间字段啊,会有很多的时间啊,那这些时间对应的是什么呢?对应的就是诶这个业务周期当中的每个阶段啊OK,那这个呢,就是优惠券领用时表的两个特点啊好,那接下来我们分析一下啊,这张优惠券领用市值表,那那首先我们先来思考一个问题啊,就是优惠券领用这个业务,它是不是一个会发生周期性变化的业务。
01:03
啊,那答案是肯定的啊,那你想啊,一个完整的优惠券领用业务啊,那他是不是会经历领取啊,用券下单,用券支付啊,或者过期等固定的几个阶段呀,对吧?那所以说呢,哎,它是一个会发生周期性变化的业务,那那所以在这儿呢,我们为他创建一个啊累积型快照时表也是没有问题的啊OK啊好,那接下来我们来分析一下这张事时表的表结构啊,那老规矩我们先看行啊,那这张实时表它的每行数据应该是什么呢?哎,其实就是一个用户对一个优惠券的领用记录对吧?那OK,这是它的行啊好,那接下来我们再来分析一下它的列啊,也就是分析一下它的字段啊,那同样的我们还是先看它的呃,维度外界啊,OK,我们来找一下啊,那与优惠券领用这个业务相关的维度有哪些呢?肯定有优惠券对吧?那肯定会有谁肯定会有诶用户啊,那除了这俩还有谁?
02:03
那是不是就是时间了呀,对吧?啊OK,那接下来我们看一下这张表当中的时间啊,OK,你会发现啊,这张表当中有很多时间字段。啊,对吧,有什么get time领取时间time这是使用下单时间,Time使用支付时间,还有一个time过期时间。没错吧,那这么多的时间,我们应该用谁作为时间维度表的外键呢?哎,其实答案是都可以啊,是这样的啊,什么意思?也就是说这几个时间字段都可以作为跟时间维度表关联的那个字段。那既然都可以啊,那我们到底应该选哪个呢?这个呢,其实取决于咱的需求了啊,如果啊,咱这让你统计的是一段时间内的优惠券领取记录,那OK,这个时候咱是不是就得用get time去关联时间维度表啊,对吧?如果让我们统计的是一段时间内的过期记录,那我们就得是不是用这个expre time去进行关联呀,哎,对吧?那所以说呢,这几个呀,实际上是都可以作为咱们的时间外建的,至于选谁,这个是由我们的需求决定的。
03:11
啊,那其实实际上啊,咱们这个累积型快照试表,它的一个特点呢,就是会具有多个时间外界。是这样,也就是每个时间字段呢,都可以作为关联,诶咱们这个时间维度表的外界啊,OK,那这就是我们呃,这个优惠券领用时表的诶维度外界啊,那接下来呢,我们再来看一下它的度量值啊,那这张实表呢,实际上也没有一个明显的度量值,那所以说它的度量值就是谁呀,那那就是啥,就是那个次数对吧,一行数据就表示领用了一次,那OK,那这张呃事实表咱们的列就讲完了啊,那最后呢,我们再来看一下它的这个分区规划啊OK,那现在我们往下翻,大家来看一下。啊,这就是呃,优惠券领用时表诶,它的分区规划啊,那我们简单看一下啊,它的分区规划呢,好像和我们前面讲的那个拉链表是有点像的,对不对啊,你注意观察一下,那这儿是不是也有一个999分区,那除了它呢,我们是不是也是有一个每日的分区啊啊,对吧?啊,那接下来我们看一下它每个分区当中具体存储的是什么数据,来我们先看9999分区啊,大家注意观察啊,那9999分区当中存储的是不是未完成的领用记录啊。
04:25
没错吧?那每日的分区当中存储的是什么呢?是当日完成的领用记录。啊,那什么叫做完成的记录,什么叫做未完成的记录呢?啊,那就来给大家解释一下啊,所谓完成,那对于咱们这个优惠券诶领用业务来说呢,那就是啥,那就是使用了啊,或者是过期了,这就完成了呀,对吧,那其余的状态呢,那都属于未完成的状态。那其实说白了啊,完成的记录指的就是那些永远都不会在发生变化的记录啊,而未完成的记录呢,是有可能诶被修改的那些记录啊,OK,这就是完成和未完成,那接下来咱们总结一下啊,那实际上啊,9999分区当中存储的就是那些可能被修改的记录,而前面这些分区当中呢,存储的就是那些永远都不会再发生变化的记录。
05:19
啊OK,那咱们这样设计这个分区的主要目的呢,其实就是为了方便我们每天对这个数据进行修改,因为优惠券领用表它是一个累积型快照师表,对吧?那这种师表的特点就是啥呀?就是我的一条记录是分多次累积写入的,对吧?那就是你今天写的数据明天可能会被修改对吧?那所以说咱这儿诶这样去设计这个分区,主要就是为了方便修改数据。那为什么呢?因为啊,在还有当中,咱们要想修改这个数据,首先我们得先找到这部分数据,没错吧?那咱们现在将可能会发生变化的数据和不会发生变化的数据给它分开存储了,没错吧?那这样一来是不是就能够呃,方便我们去找到诶需要修改的数据啊,对吧?好,那这就是这张表了,分区规划啊好,那这张表的表结构我们也就讲完了。
我来说两句