00:00
好了,同学们,那学完了这个第三章以后呢,大家基本上就会使用这个KLY了,那接下来我们再来看一下这个第四章啊,第四章这一章给大家讲一下咱们那个cub啊构建的一些原理,好吧,首先前两章节这个我就不讲了,因为咱们在那个什么呀,在咱们那个前置概念里边,咱们已经给他讲过了,是吧,怎么我们之前讲了个PPT,在这个PPT里边,咱们给他介绍了一下咱们这个维度跟度量,还有这个cube跟QB的,那这个东西跟我之前讲的是一样的,所以这一块我就不重复讲了,大家自己看一看就可以了。好吧,那接下来我们给他讲个什么呀,给大家讲一下咱们这个QB的存储原理。这一章重点给他讲什么呀?重点是给大家讲我的这个K在h base里边是怎么存这个cube的。啊,因为大家想啊,咱们刚刚也也也也也了解过了,咱们这个cube是一个数据立方体啊,我这每个cube还有多个qvo是吧,那大家也都知道咱们这个h base,它只能存这个KV类型的结构。
01:06
那这个感兴趣小伙伴是吧,他这个头脑风暴,我应该想一想,那我这个想不明白,你说我这个KV的数据结构怎么存这个Q啊Q这个数据这么结构这么复杂,那你说我这个KV我我我只能从KV的HP,我是怎么存储它们呀。那因此这一张就是给你讲一下咱们这个K在h base里边这个存储原理,看它是怎么存的。首先哎,给大家介绍一下啊,咱们有个什么东西啊,你就比如说咱们,呃,以这个表举个例子,你就比如说啊,咱们有这么一个Q5,我这个Q补它一共有就是它一共有三个维度字段,一个是地区维度啊地址维度是吧,一个是品类,一个是时间,我最后有一个度量值叫price,那如果说啊,嗯,大家看啊,我就我这么一张表,我前三个字段是不是就是我的底门式字段啊,就有这么一个QB是吧?最后一个字段才是我的度量值字段。
02:02
啊,Measure,就是我有三个dimension跟一个measure。那我这个底层啊,在这个h base底层应该怎么存啊,首先啊,我这个kid,我这个kidding会针对你的每一个dimension,它建一个什么呀,它建一个维度字典表。什么叫维度字典表啊,你就比如说咱们这个地址就是地区,这个维度有北京有上海。那大家也都知道,我的h base是KV结构,我的K其实就是一个ROK,那我在ROK里边,我不可能给你来一个北京上海吧,用汉字当OK是明显不靠谱的。因此啊,咱们这个kidding第一件事儿会先针对你的每一个底门审字段,我创建一个维度字典表,你就比如说我们只是简单举一个例子,好吧,当然它底层没有这么简单,我们只是简单给举一个例子,就比如说北京,哎,我给你映射成零,而上海给你映射成一,如果你还有别的,就比如说你还有广州,那我这个广州就是三麦,我这个深圳,那我的深圳就是四,这个能理解吧,就是我不管怎么着,我会把你这个维度同,就是同一个维度的值在一个表里边映射成不同的数字。
03:18
啊,不同的数字,那然后呢,就比如说这个电子交通也是零一是吧,那这个1月9号跟这个2月9号也是零零跟一。那现在我们这个维度字典表给它映射完以后,那接下来呢,接下来我就告诉你啊,咱们这个K在这个HP的底层,它应该怎么存的,好吧,接下来大家看一下这个PPT啊嗯。首先啊,这个K在h base底层,它是这么存的,它会存这么一张表啊,不是不是这么一张表,就是它的这个cube是这么样子,那我将来应该怎么存呢?大家看一下啊,你看这个这个代表什么意思啊,就比如说北京电子2019年1月9号,假设啊,我的这个所有的价格是100块钱,那这样一来,我这么一个数据很明显就对应咱们那个三个维度都有的那个q boy的。
04:09
就是我这个表就是个Q5的数据表,大家应该能看懂是吧,就是我这第一条是对应一个三个维度都有的q boy的,后边三条是对应的两两组合的q point的是吧,你就比如这个我只有北京跟电子,那就说明我这个q point的是两个轴,一个叫做地址轴,一个就是地区呗,另外一个就是这个这个品类啊品类,那我这个呢,那我这个就是地区跟时间,那我这个就是品类跟时间,其实啊,它这个数据他还给你少少少画了,他应该还会出现什么呀,他应该再画三列。这三列应该应该应应该什么意思啊,就比如说我随便给你来上一个北京。然后我给你来上两个星啊,那这个就说明是咱们那个地区的那么一个一个数据,好吧,就只有地区的,那只有地区一个文字数据,那然后呢,这个地方我给你来上一个星,那然后呢,这给我给你来什么呀,我就比如说我给你来个电子。
05:07
然后咱们这儿也来个星,那就比如我给你一个数字,那就那这一行就代表我只有品类的那么一个qbo,那然后再往下,哎,我给你来两个星。哎,然后呢,我给你来上一个1月9号,那就说明咱们这条数据是什么呀,是只有时间那一个维度的q point,像这种表大家应该能够能够看懂,就这种表就对应了咱们K里要存的这个cub的数据,那我在h base里边是如何存这种数据的呀?大家看好了,首先这个时候他会拿到它那个维度字典表,然后呢,通过这个维度字典表来给你进行翻译,有什么意思啊,看好同学们,就比如说我这四条数据在我h base里边究竟是怎么存的呀?首先我有一个RK,然后呢,我有一个value。那就比如说我的第一条,我就是111加三个零。
06:03
第二条就是110加两个零,第三条是101,然后呢加幺零,第四条是011,大家看好了啊,咱们这个ROK它好像是分为了两部分。我加号以前有一部分,加号以后有一部分,那我这两部分分别代表是什么呀。我加号前面这一部分,我我称之为q boy的ID,你就比如说啊,如果你的三个维度都有,那我就是三条腰啊,就比如第一条,第一条数据就是111。那然后呢,我的三条腰有了之后呢,那我的这个加号后边这部分就是维度值,那这个维度值,注意它存的并不是北京电子跟这个时间,而是什么呀,而是拿到我这个维度映射表的这个映射的数据,你就比如说北京是个零,好,那这个位置我就拿个零。
07:05
然后这个品类是个电子,电子也是一个零,那我第二个位置我也拿一个零,然后呢,我这个1月9号巧了,它也是一个零,所以说我第三个还是一个零,那这样一来,我这个q boy的ID加上这个维度字典表的映射值,它俩就组成了咱们的柔啊柔K就是这个。然后咱们这个value呢,Value就是我我我当前我这一个维度组合的这么一个度量值,就成为了咱们的value,大家把这个看明白,那我相信下边几个你自己应该能看懂了。110,这个110指的是这个q boy的ID,因为北京有电子有了这两个幺,因为这个没有就是个零,然后呢,然后北京刚好对应一个零,所以我这就是个零,然后呢,这个电子刚好也对应一个零,所以我这个地方也是一个零,好吧,所以说咱们通过这个qbo的ID跟这个维度值给它组合成了咱们这个h base的R,然后呢,这个对应的度量值就成为了咱们这个h base的value啊,那这个是吧,我们是简单给大家讲了一下咱们这个h base。
08:13
就是K在h base里边的,它一个QB的存储原理。注意啊,大家可以看一下那个底层,它原本没有这么简单,咱们这个幺零啊,零幺啊,包括这些东西都是咱们自己想象的,就咱们自己举个例子,它真实比这个要复杂的多,所以说咱们这个QB的存储原理,大家简单了解一下就好了,如果你听懂了,就是你赚到了,如果这一块你真的没听懂,迷迷糊糊的这一块反正都是,反正是属于这个了解内容,大家知道就好了,好吧,那这个QB的存储原理咱们就讲到这儿啊。
我来说两句