00:00
好,那接下来呢,聊到我们当前这个数仓。对吧,啊,数据仓库的一个建模方式啊,比如说咱们现在也就是说这边呢,关于数据库叫。O。LTP。对吧,而现在呢,咱们要做这个离间输仓,还有实时输仓这种呢,叫o lap对吧,假如说我们的have对吧,它呢o lap。啊op啊叫o life,它一个分析它的特点是什么呢。就是在我们压建模里边,它的特点是增删改长。啊,而我们的维度建模这种的侧重点在于一次写入。多次读取对吧,几乎没有修改和删除的操作。啊,就算真的要删,我们也是按天。按分区或者按表整个的去删,不会说中间好好的,我删一条数据,不会出现这种情况。
01:04
对吧,所以它的应用面完全都不一样,它是一次写入多次读取。对吧,我们跟重侧重的是什么呢,茶。怎么高效的把这个数据查出来?这个是最重要的。对吧,我们要做到最高效的把这个数据我们查出来,而不是说考虑它的一个,嗯,修改删除,不用考虑这个事儿,因为根本就不会做。对吧,所以它的茶尤为关键啊,尤为关键在维度建模,维度建模当中呢,那我们这种呢。里边分为两大类,两大类的表,一个就是维度表,一个事实表。对吧,那整个的模型又有哪些种啊,就在维度这个模型当中,我们又有哪些种类,分类又有哪些种。啊。
02:00
我们知道的有这个。新型模型。雪花模型。啊,当然还有一类更广的叫星座模型,对吧?因为星型跟雪花是站在单个实时表的角度来说的,而我们的星座模型是站在。多张,40秒的角度来说的。对吧,啊,咱们呢,呃,就是把这个数据把它变成这个微表实时表这样的方式啊,因为我们并不担心啊,你可以冗余对吧,你可以冗余,因为呃,特别是在我们大数据的收仓里边。大数据的收藏里边。对吧,我们用的是HDFS做这个存储。它数据量呢,可以存很多。啊,那计算资源就显得尤为宝贵了啊,因为我们是分布式存储,所以说呢,你随便冗余,但尽量的减少在过程当中的一个join,类似于这样的一些操作,对吧?啊,所以说有可能更多的我们使用这个新型模型。
03:00
对吧,用这种方式好好,那这是我们的维度建模啊,主要是两个点,一个是实时表,一个维度表分为这样的一个方式啊好,那从这个角度来说呢,所以我们整个当中呢,实时表我们可以看一下啊,实时表呢,嗯,它这个特点啊,就细长对吧,列少,但是行多增长速度快。因为它是随着业务的过程发生而发生的,对吧,这个我们上午也跟大家聊了一下,说呃,怎么去区分这个实时表,怎么区分这个维度表。对吧,啊,一般呢,就看这个业务过程以及度量。对吧,就度量上午呢,大家都说了这个度量值对吧,其实就是它可以通过累加的数字类型的一个字段啊,这是我们所说的度量值,比如说订单。总金额。对吧,啊,支付的总金额。啊,下单数。啊呃,每件商品购买的件数类似这样的可累加的一个度量值,那这种呢,就是实时表里面所携带的一个特征,对吧,那从另一个角度来说呢,就是。
04:09
是随着业务过程产生而产生的,就是说用户去操作我们的平台而产生的一些数据,对吧,这个呢,我们可以叫做这个指标啊,特点呢是行特别多啊,那实时表呢,又分为三类啊,一类呢叫事物型实时表。周期型快照时时表以及累积型快照时时表。对吧,好,那这个该怎么理解呢,第一。事物性时日表。啊,事务型事实表呢,它的特点。在于什么?一行数据。代表的一个业务过程。啊,同时。这个表未来数据。它不会发生改变。也就是说十五十时表它一个特点就是它的数据只增。
05:05
不敢。啊,他不会有这个修改的操作。啊,就就是一条数据代表一个完整的一个过程,就,而且这已经表达结束了。啊,已经结束了,它不会有修改了,不会再修改了,而周期型快照实时表它的特点是什么。嗯。周期型快照实施表,它的特点是什么?这是第二个对吧,周期性快照时表。对于这种表而言,我们往往呢,关心的是它最终的一个状态。比如说。用户的余额。对吧,比如说用户的余额。啊,以及当前购物车里边的一个情况。
06:01
啊,或者说最终收藏了哪些数据。我要的是最终的一个状态。对吧,我要最终的一个状态,至于你中间怎么变,假如说余额这件事儿,诶你是。加了1000。减了又消费掉500对吧,然后又加了什么500,这个过程不关心,我只关心最后的结果。啊,只关心最后的结果,这个呢叫周期性快手市值表,对吧,你典型的有余额呀,还有这个呃加购。这个操作对吧,我只关心最后你购物车里边有啥,每个人购物车里边有啥收藏对吧,我只关心最后你收藏了哪些数据,至于你中间说点了收藏,然后点了取消,又点了收藏,又点了取消,这个过程我不关心。对吧,我只要最终结果啊,那何为累积型快照实时表。累积型快照数值表又该怎么理解呢?
07:15
嗯。累积型快照手表。嗯。它呢,一行数据也代表一个什么业务过程。啊,但是呢,不完整,它跟事物信息设施表不一样,它所代表的这个业务过程呢,没有完整啊,何为没有完整呢?大家经常举的例子叫订单,对吧?好比如说我下单表。我下单这个订单呢,它是一个状态对吧,它是一个已下单状态。好,接下来呢,我做了一个支付。好,它变成了已支付状态,他这个数据呢,要做修改。他要对我们原本已经产生的这个数据要做修改啊,那这个修改是无止境的吗?是未来任何一个时间都有可能对这个数据修改吗?他也不是的。
08:11
对吧,比如说假如说这个订单我下了最后呢。超时了。以超时结束的,那如果他以超时结束了,这个订单永远都不会再修改了。超时了,这个订单作废了。你应该说超时了,我再下一次那是一个新的订单了,跟刚才那个业务过程没有关系了,对吧,或者说我支付成功,然后到货也已经。干什么呢?签收了。对吧,走这个过程的,哎,他也结束了正常的完单了。对吧,这个订单结束了,哎,他是有一个什么。结束的标志啊,可能结束的方式不太一样,但是呢。特点在于什么?刚产生这个数据的时候,它的业务过程,整个的业务过程并没有结束。
09:08
对吧,他还有会有其他的,但是呢,他其他的内容是有限。就比如说刚才我们说的订单状态对吧,啊,有这个已下单已支付啊,什么已发货到货到账签收对吧,这些个状态,或者最后以退单。超时。啊,那这个都算作我们订单的一个状态。那不管怎么说吧,他呢,一定有什么。结束的时候啊,同时。他的。数据的变化是可数的,是有限个的。对吧,那此时呢,我就可以做一个累积型快照水表。我把所有的状态呢,做成专门的一个列。本来在我们的原本的这个MYSL表里边,我们是不断的去修改这个状态的字段。
10:03
对吧,但是呢,到我们这个数仓里边,我们并不是的,我们是把它的状态,每一种状态变成一个列,对吧,那刚开始它是以下单状态,其他的列呢,都是空的。然后呢,你支付了,你支付状态里边添加一个时间,诶是什么时候支付的对吧,同时什么时候到货,把这个的填完了。那这条数据就以后就不会再变了。对吧,哎,那这种呢,叫累积型快照实时表,就我们所说一个特点,数据呢会发生变化。啊。第二。它变化呢,一定有一个终点。啊,变化一定有终点,好,这什么意思啊,我再举举一个例子,用户表对吧?当然那就说用户表他也不是实时表,我就拿用户表举例子,假如说有一个这样的实值表啊,对吧,用户表它的变化呢,或者说余额表吧,对吧,余额表照样也会发生变化,那这个变化呢,是无止境的。
11:05
因为我余额会有一个最终的结果吗?说变了多少它就不变了会吗?他不可能对吧,而订单的状态,你变化到某一种状态以后,它是不是就不会再变了。对吧,它就不会再变了。啊,是这样的,他有最终的一个结果。一定能到头对吧,这个业务线一定能到头。同时它所变化的过程当中产生的这些个字段,它是可数的,是有限隔的,对吧,那这样的话我们见表才能见啊,如果说中间的内容是无限的,比如说余额。对吧,它就是无限的,那你怎么去见表啊?对吧,所以像余额这种,我们只关心它最终的一个。数据只关心最终的数据,而对于订单这种他一定会结束的这样一个业务过程,我们要关心他全部的操作过程。
12:06
OK吧,这是我们区分于这三种不同的实时表。OK吗?回应一下怎么样?就我们所说的这三种表。对吧,或者说呢,我把这个给大家简单的去。写一下对吧?啊,那我们说的维度建模当中啊,维度建模当中呢,就分为两大类,一类是事实表。一类是维度表对吧,水表当中呢,又分为这三种类型。分为这三种类型对吧?啊事物型实时表啊,那事物型事时表的特点呢,就是说。一行数据代表一个业务过程,代表一个业务过程。
13:05
且。不会发生改变啊,它不会变。对吧,好,那第二个周期性快照数值表啊,那它呢,是会发生改变的一张表。就是说呃,这个改变啊,就是说他这个表呢,未来是。新增及变化啊,新增及变化两种对吧,因为任何表肯定有新增数据嘛,对吧,所以我们就只是说呃,会不会发生改变啊,那第一个不会发生改变,它就是只增只增对吧,第二个它会发生改变,有新增。有修改啊好,那这种呢,呃,对于这个数据而言。对于这种表,一般只关心最终的数据结果状态,对吧,比如说余额。
14:02
啊,类似于这样的一个操作,比如说。余额。对吧,而第三个它也会发生改变。啊,也会发生改变。呃,首先呢。一行数据代表一个一个过程会发生改变啊,也就是说它这个代表的一个过程不全。代表一个不,我们这样写不完整的业务过程啊,它会发生改变啊,且。改变,切。改变。的内容。是有限个对吧,比如说订单的状态它是有限额的,类似这样的内容我们才能做成累积型快照实时表。做成一个累计型的快照数表,对吧?我们把它改变的内容呢,把它写成一个专门的列,然后呢,等这个数据发生了以后,我们专门的去修改一下这个列的值,最开始这个列呢,可能是一个闹值,对吧,没有数据,那后面呢,我们给它补充上我们的字段。
15:20
OK吗?关于这三张三种不同的实时表。OK吗,现在。啊,结合你们之前应该是小李老师给大家讲的对吧?啊小李老师所说的。啊,然后再结合我这边给大家稍微的去从另外一个角度给大家做了一个总结,现在大家对于这三种这个时表。怎么说?完全没有声音啊。啊。能理解。能跟上吗?
16:06
应该问题不大吧。啊好,那这是我们所说的这个实时表啊呃,接下来尾表这里边具体的内容我们就不去看了,我们就主要聊一下这个分类,具体的你就自己去看一下对吧,就刚才我们说的下单支付发货确认收货对吧,这个日期啊,你刚开始呢,可能这几个字段第一条数据来的时候他都是,那后来慢慢补慢慢补慢慢补对吧?啊,那只有有限个才能这样做啊好,那为表尾表就。不用多说了吧,对吧,啊维表不用多说了啊,这个地方呢,就是描述这个我们写一下啊维表。嗯,深表就是业务过程,它其实就是一个专门的业务过程,对吧,而为表。描述度量值的角度对吧,角度数啊,就类似于时间地点,就是写作文的时候。
17:05
写作文的时候对吧?嗯,写这种记述文吧,嗯,在哪啊,时间地点对吧,就是什么时间点在哪儿,谁做了什么事儿啊,因为什么做了什么事对吧,类似于这样子的啊啊就是观察声音一个角度对吧?啊这个维表呢,就不用多聊了啊好,这是我们所聊的就是维度建模当中的一个点啊,维度建模当中的。实时表与维度表。
我来说两句