00:00
好,接下来呢,我们看一下这个2.4关系建模和维度建模,那这里面指的就是在买生购数据库当中,你如何建模,在这个还有书商里面如何进行维度建模啊,这个被问到的这个概率还挺多的啊,我刚才有说过,就是Java程序员是总爱问啊,因为在买so里面对这些表的关系的个设计啊是非常重要。啊,是一定要各种设计的啊建模,刚才我呃上节课我给大家看过那个加那个各种复杂的表结构吧,啊就那种表,那现在呢,比如说这。这也是一个比较复杂的啊,有十几张表。那你看一看这里面有什么。首先这呢是这个订单的头对吧,然后上面呢是订单详情,订单里面包括商品,包括商品的分类,这不是分类吧,纸分类,然后商品的分类啊好这么一大串啊,每一串的一张表啊,这个呢是。
01:02
销售啊,逐步销售什么的,什么意思啊,先不管它,然后这呢是日期啊,然后月年再往下,这是消费者,消费者的居住位置,居住国家,还有性别是吧,每一个这个拆成一个一个的小维度表啊,小维度表那这就是关形建模的特点,你会发现啊,很细啊,尽量减少数据的冗余,那你来看维度建模。你看我们什么特点。这是订单。第二。全部围绕着它呢,外围就只有一层。是这样吗?啊,那这个表格噪音就少了很多了,你像上面这个。这个表呢,招引从这能招引到这儿。对吧?啊,那我们这个最多就转移一下来看,那你看他怎么处理的订单表,然后日期,他把三个表的日期全部放在一个那个里面了,也是把月年合在一起啊,然后这是商品product,那把这个里面什么分类啊,名称也都放在一起了,聚合在一起了,然后下面这个位置单独放在一起了啊把国家也聚合在里面去了,然后很清法消费者好订单。
02:23
啊,然后销售重复消费,然后性别,你会发现就是围绕它只有一成啊,尽量只要减少商业超重好。那这里面面试官总来问一道题,就是你的书仓里面怎么设计的,怎么键盘呢?抛出这个问题啊,一会呢,咱们再往后讲的时候,给大家抛出来啊,去再进一步的去分析这个,好,那往下看,接下来来到这个2.5,那就是具体的维度建模,包括雪花模型,新型模型以及星座啊,来看这几个概念。
03:07
那第一个呢,叫星型模型啊,星型模型,那星型模型啊,这是雪花模型,与星型模型的主要区别在于维度的层级啊,标准的信息模型呢,只有一层,这是信息模型,你看这是实时表,周围只围绕着一层维度表。啊,维度表,那么雪花模前你看一看,这是40表周围围绕的一圈两圈,你说多多层的维度表,那它就是雪花模型,轻型模型是一层,雪花模型是多层啊多层,那这个雪花模型呢,它就比较靠近于三百九啊300形。啊,但是呢,它只是这个呃,靠近啊,他要是完全按照这个三八是原则去走的话,那这个数场就没法玩了,OK。
04:03
好,那就是这两个啊,围绕着40表周围的维度表的乘积,就决定了它是信模型还是方模型。啊,怎么样了,那概念很简单对吧,那下面来看还有新课。星座的特点是围绕着40点,有多个40点。啊,它跟是心型模型和水泡模型没关系,它就是有多个四子表,那这个四子表如果说外围有一层,每个四表都有一层,那它就是星座啊,这就是心形,那如果你这里面一个这个40表周围一共有多个维度表,那也没关系啊,它看的就是你有多少个40表啊,那你看星座模型与前两种的区别是40表的数量,星座的模型是基于多个实时表的。
05:02
基本上很多数据仓库的常态都是这样的,因为我们也有很多个视表,因为很多数仓数据仓库中都是有多个视表,所以新座不新座只反映的是否有多个视表,他们之间是否有共享的一些维度表,比如说共享的数据,这些共享的数据,所以星座并不和前两种模型冲突。啊,它属于独立一种的,比如说新课里面可以包含新型和学化啊,都可以并存的,OK,那下面面临一个问题,就是在真正的企业开发当中,你选择哪一种模型啊?那先第一个先干掉的就是那个星座,星座不星座不取决于你,取决于有多少个实时表。啊,只要多十点,那可就是星座了,那之后你还要在星座里面继续分它是星型还是雪花。那主要取决于你看你注重的是性能优先还是更灵活优先。
06:03
什么叫性能呢?性能优先我就尽量减少噪音啊,如果灵活的话,那我就尽可能的多表呗,对不对?能变成雪花好,那目前实际开发中更倾向于哪一种呢?星形是偏多一些的啊,绝大多数都是遵循这个星形啊,那还有一种情况就是在这个新型模型当中,比如说这张式子表,它是星形。啊,就是说有十张,比如说有十张事实表,可能有八个是围绕着新型的,另外两个是循环啊这种也是存在的。但是多数呢,都是新星啊,因为它可以减少噪音,操作就减少了上手,一般情况下我们追求的都是信统啊,这就是这个新型模型,雪花模型和星状啊,那记住新型模型是40秒,周围只有一层维度,雪花模型周围有多层维度,那星座它的概念就是有多个40秒。
07:08
这么一个概念,好,那在企业高中我们选择哪一种呢?尽可能多的去选择新型模型啊,新模型OK,好,那再就是那个啊,纬度建模的一个概念。
我来说两句