00:01
呃,好了,各位同学,那咱现在呢,就需要正式开始学习这个数据仓库的见文理论了啊呃,然后咱们先看一下这个文档的一个大致的一个呃规划啊,大家来看一下,就是我们这个文档呢,呃,理论部分其实一共是包含了这样的四张吧,相当于是啊,然后呢,这第二章指的是什么呢?是数据仓库的一个剑玩的概述啊,就是咱们老说见玩对吧,咱们得先知道这个剑玩到底是个什么东西对吧?那完了之后下面呢,就是我们要学习的这个见玩理论的核心,大家可以看到,那咱这个建玩理论的核心,我们叫做维度见玩,对吧,是这样的,然后呢,这里边有一个什么事实表或者是维度表的概念,这是维度见玩理论当中的核心的,诶,两两种表啊,两种表到时候呢,我们得逐个去学习,呃,然后在下边的第五章就是一个数据仓库的设计。这个数据仓库的设计呢,是一个从零到一的一个完整的数据仓库的设计流程啊,是这样的啊,那我们要想去从零到一的去构建一个数据仓库,那我们就需要按照这里边的这个设计步骤去做啊呃,也就是说这四章基本上就涵盖了数据仓库所有的这个建模知识来理论啊,是这样的啊呃,那所以咱现在呢,就一点点开始啊,我们先看第二章,呃,第二章呢,那这个标题呢,叫做数据仓库建模的概述,对吧?那这里边儿呢,我们首先需要先弄能弄明白两个问题,哪两个问题呢,就是到底什么叫做数据仓库的建模啊,完了之后呢,那这个数据仓库的建模它有什么样的意义,这是咱们首先要搞清楚的两个问题,好,那现在呢,咱们一起把这块看一下啊来,那首先我们先把呃,咱们的这段话读一下啊,虽际然这块呢,呃,就是给咱们举了几个例子啊,然后呢,用它来演出就是什么是数据仓库的建模,那现在咱们把这段话一起读一下,然后呢,呃,看看大家能不能体会到到底什么叫做数据。
01:49
土建模啊,来,我给大家把这话读一下,呃,来,咱一起看啊,他说如果把数据看作图书馆里的书啊,那我们希望看到他们在书架上分门别类的放置,那如果呢,把数据看作城市的建筑,我们希望城市规划布局合理,我们如果把数据看作电脑上的文件或者是文件夹啊,那我们的希望按照自己的习惯,有很好的文件夹组织方式,而不是糟糕混乱的桌面,经常为找到一个文件而不知所措啊,这段话读完了啊啊,排比句对吧?那玩意之后大家有没有体会出来这个所谓的数据仓库的建模是什么呀?体会出来了吗?
02:29
应该稍微的有点体会对吧?那咱们来看一下啊,你把书架上的书进行分门别类的放置,对吧?你把这个城市的规划合理的布局对吧?那你把这个电脑上的文件或者是文件夹对吧,很好的给他组织起来,那这是不是就是相当于是在对我们的数据进行所谓的建模啊,对吧?啊,可能还是有点抽象啊,那没关系,咱看一下下边这个具体的,呃,原描述是怎么去说的啊,他其实这么说的,所谓的数据建模呢,就是将数据有序的组织和存储起来,那这其实就是在对数据进行建模,那对数据哎进行有序的组织和存储,就是在对数据进行建模,好,那我怎样才能把数据有序的对不对组织和存储起来的,就是咱们去做的时候,我们是需要去遵循一定的方法,去遵循一定的理论的啊,也就实际上呢,呃,现成的已经有很多的啊,就是专门用来去做数据建模的理论和方法,就。
03:30
说这些现成的数据仓库的见文理论和方法,我们称之为什么呢?我们称之为数据的模型对吧?就是这个意思啊,那总结一下,那这里边咱们提到了两个概念,一个呢叫做建模,对吧,一个叫做数据仓库的模型对吧?建模这是一个动作对吧?那模型呢,这是一个名词,没问题吧,那什么叫建模呢?来所谓建模呢,就是我们将数据有序的组织和存储,这就是在建模,OK好,那建模的时候呢,我们需要遵循一定的理论和方法,那咱们遵循的这个理论和方法,我们称之为什么呢?称之为数据的模型啊,就这么个逻辑,OK啊,比如说这个现有的模型有哪些模型呢?诶常见的有我们这看到的ER模型,还有维度模型,这些呢,都可以作为咱们数据仓库当中的这个建模的模型啊,是这样的啊,那这个ER模型和维度模型到底是什么,这个后续咱们再详细的说,现在呢,咱们先对数据仓库的键模有一个基本的认识就可以了,好了,那到底什么叫做键门,咱们基本上已经搞清楚了,对吧?那接下来咱进本进行我们来看。
04:30
看一看数据仓库建模它有什么样的意义,对吧?就是我们为什么一定要去对数据进行这个所谓的建模的一个操作嘛,对吧,那有什么意义,咱们往下看,呃,其实这样呢,说的也是比较清楚的,咱们一起来看一下啊,他说只有将数据有序的组织和存储起来之后,数据才能得到高性能,低成本,高效率,高质量的使用,呃,这儿给咱们总结了一下这样的几个字了吧,OK,那这个可能光读这句话呢,不是那么的具体,不好理解,那现在呢,我给大家逐个的解释一下啊,咱们先来看一下这个所谓的高性能在这儿怎么去理解,来看一下,他说良好的数据模型呢,能够帮助我们去快速的查找咱们所需要的数据,对不对,这就是所谓的高性能,诶,那良好的模型怎样帮助我们去快速的查找数据呢?啊,其实这个呃,我举一个具体的例子,大家一下就明白了啊,就比如说那将来呢,我们再去搭建数据仓库啊,那我们在搭的过程当中呢,我们有一个就是比较常用的手段,就是干啥呢?就是。
05:30
去拉宽表,呃,这里边提到了一个概念,叫做宽表,对吧?什么叫宽表呢?呃,表都是二维表,对不对,有行有列对吧?所谓的宽表显然就是啥呀,是不是字段是比较多的,列比较多对吧?这是所谓的宽表,OK啊好,那这个宽表是如何帮我们快速的查询所需要的数据呢?在这给大家举一个具体的例子,假如大家想一想,呃,比如说我们将来呢,有一个需求,有一个指标,对吧?我需要用到咱们数仓当中的某几张表,这里边可能是两张,可能是三张,可能是五张,对吧?比如说他这儿呢,诶,需要用到前面的三张表,对吧?那我要想去做这个指标呢,他首先需要我们先把这三张表给它做一个joinone操作,那能列解东西吧?OK,好,完了之后大家想一想,那我这个在have当中,咱们去呃做John是不是经常,呃,就是不管是底层是MR还是SPA是都很有可能会走这个沙啊,对吧,是这样的,所以说你做John的时候,这个查询速度相对来说肯定会比较慢,对吧?那我为了加快后续咱们这个指标的一些计算速度,我为了加快哎他的这个查询速度,那我可以怎么做呢?
06:30
我实际上是可以提前在我们的数仓里边是不是去建一张这样的宽表的,对吧?那完之后呢,我提前把这几张表的数据给它照起来,然后呢,放到我们这张宽表当中,对不对?那完了之后呢,我们将来再去做相似的这个指标的时候,我是不是就不用再去把这三张表再做重复的聚合了,我直接照了对吧?我直接怎么我直接从这个现有的宽表里边取出,这个是速度就会极大的这个增加呀,对吧?诶这就是一个非常典型的例子,当然这个手段非常的简单,但确实是能够说明咱这个问题的,对吧?良好的这个诶模型,也就是咱这个宽表是能够帮我们去加快这个查询速度,这一点大家都是能够理解的,好,那接下来我们继续往下看,下一个呢,就是说诶低成本,这个低成本我们又应当如何理解的,诶他这么说的,他说良好的数据模型能够减少重复计算,实现计算结果的复用啊,然后呢,降低计算成本,诶也就是说,总之一句话就是说良好的模型呢,是能够减少重复计算的,对吧。
07:30
哎,这个又是怎么去理解的呢?哎,咱们还以刚才的那个例子去说明一下这个问题啊,那大家想一想,就是我刚才不是提到了说有一个需求,我是不是需要用到这三张表啊,对吧?他们需要去做join,大家想一想,你说我们将来要做的需求非常非常的多,对吧?我是不是很有可能我其他的需求也会对这三张表进行一个照样操作呀,对不对?OK,那其他的需求可能也还会对三这三张表进行一个照样操作,所以考虑到这种情况,我怎么做呢?我也是把这个表给他建好对吧,然后呢,在里边我给他把招的结果存储下来,那将来我这个不管是哪个需求,呃,去查数的时候,他们都不需要再重新的去对数据进行照了,而是直接从这个里边拿结果就行了,对吧?哎,而我往这个中间的这个宽表里边放数据的时候,我只需要照几次就完事了,是不是只需要照样一次就完事了,对吧?诶你照唤一次,然后后边呢,我就可以重复的去使用这个照样的结果,那这其实就是这个所谓的呃,这个低成本啊,它的一个理解啊,这个也是比较简单的,好,那我们现在再往下看,下边是什么呢?是高效率对吧?这个高效率我们又应当如何理解呢?
08:36
哎,还是读一下这段话啊,他说良好的数据模型是能够极大的改善用户使用数据的体验的,那完之后呢,是能够提高数据的使用效率,诶那这块又怎么理解呢?这个所谓的改善用户体验里边的用户,大家想想指的是谁?改善用户使用数据的体验。这个用户指的是谁?比如说咱们现在做的就是一个电商,对吧?那咱们公司就是一个电商对不对?好,那完了之后我的用户这儿指的是谁呀?是在我们电商平台上边去下单购物的那些普通的用户,是指他们吗?肯定不是,对吧?那我们数据仓库的用户指的是我们企业内部当中对吧?就是我们后续的那些BI应用,或者是什么报表应用指的是这些,对吧?那他们是不是需要去从我们的数仓里边获取相应的数据啊,对吧?那他们才是咱们这个数仓的用户,这1.1定要搞清楚,好,那我们再回过头来理解一下这句话啊,他说良好的数据模型能极大的改善用户使用数据的体验,OK啊,那这个怎么是怎么去理解的?其实很简单,你想一想,假如说现在模型由我来建啊,那完了之后我建他这个模型的乱七八糟的,我自己我都看不明白,那你想一想,人家再去拿你的数据的时候,他方便嘛,他肯定是不方便了,对吧,那他在想使用你这个数据之前,首先要做的一件事就是啥呀,他得熟悉你这个数据才行,得熟悉你。
10:00
这个模型才可以对吧,如果你的模型非常的复杂,那我每个人要想用你的数据是不是都需要先花费呃比较高的一个成本去学习一下那个,或者去熟悉一下这个模型才行啊对吧?那这样一来,那咱们这个数据的使用效率相来是就比较低的啊,那假如说你这个模型你设计的十分简洁明了,对吧?那我这个大多数的这个用户呢,我一看呢,我基本上就能明白你这个数据的含义对不对,那这样一来的话,那他使用这个数据用起来是不是就比较方便呀?啊就是这个意思,那所以说良好的模型是能够改善诶这个用户使用数据的体验,提高使用数据的效率的啊,是这样的啊,那这一点应该也是能够体会的到的啊好,那现在我们再来看最后一点,最后一点呢,他说的是什么是高质量,对吧?这个高质量又是啥意思呢?来我们读一下这段话,他说良好的数据模型能改善数据统计口径的混乱,减少计算错误的可能性。诶,这里边可能又涉及到一个新的概念啊,就指的什么,指的是数据的统计口径,对吧?啊这个口径咱们先搞清楚口径,大家在这是怎么理解的。
11:07
这个口径,这个口径,哎口径不是咱们传统意义上那个什么直径啊,不是那个意思啊,这个口径在指的什么呀?就是说白了就是对一件事情的一个看法,或者说对一件事情的一个说法,这叫口径对吧?啊比如咱这举一个生活的例子啊,呃,假如说我后边这窗户黑板,呃,我后边窗户这个这个这个玻璃被被人打碎了,完了之后呢?呃,咱们不知道谁砸了对吧?然后咱就问,就就就统一一下口径对吧?咱们就说,诶班主任问起来,咱就说是班长砸的对吧?啊就是这个意思,这时候就是所谓的统一口径的意思啊对吧,口径哎在这儿指的就是对一件事情的一个说法,或者是一个看法啊,是这样的啊好,那现在我们再来看一下这段话,咱怎么理解啊,当然良好的数据模型呢,能够改善数据口口统计口径的混乱啊,是这样的,然后呢,减少计算错误的可能性,那改善统计口径的混乱,那是不是就意味着我们再去做一些统计指标的时候,是不是可能会出现这个统计口径的混乱呀,对吧?这个统计口径的混乱到底是怎。
12:07
怎么出现的呢?啊,其实很简单啊,这个呢,其实跟我们去做指标是有关系的啊,就是我们传统的这种指标的这个定义方式,对吧?你就比如说我们到公司之后,他要给我们呃呃去发需求对吧,咱们需要去做对吧?那他给我们去分,呃分发这些需求的时候,那我传统的这个分发的方式是什么呢?或者布置需求的这个传统方式什么呢?其实说白就是文字说明是这样的啊哎,你可能会拿到一个PDF文档对吧?然后里边呢,诶,每一行代表的一个你将要计算的指标,一行一个指标,一行一个指标,然后后边呢,会有这个指标的文字说明,比如说这个指标让我算的是什么什么什么对吧?诶,它是一些文字说明,那你想一想,就是文字说明这个东西可能会出现什么问题,可能会出现歧义,对吧,因为文字说明你不同的人去看,他可能会有不同的理解,对吧?那张三可能认为是这样的,那李四呢,可能认为是这样的,对不对啊是这样的,那完了之后呢,那咱们再去算的话,那是不是一般都是按照自己的理解来啊,对吧?诶,那这样一来,如。
13:07
如果说你们提前没有沟通好的话,你就可能会出现这个所谓的统计口径混乱,人家本来想让你那么算,结果呢,你不是那么算的,你是这么算的对不对?那这样一来统计口径相当于就混乱了,那统计口径你要是没统一,那你算出来的结果肯定是错误的,对吧?诶是这样的啊,OK好,那这实际上就是我们,呃在传统的这个就是呃去做这个需求的过程当中,可能会面临的一个问题就是什么呀,就是统计口径的混乱啊,会经常会有这种计算错误这种情况发生,OK好,那我怎样去改善这个情况呢?哎,其实很简单,那我们实际上可以再去设计这个数仓的模型当中,我们去制定一套指标的定义的标准,哎,咱们制定一套指标定义的标准,比如说举个例子啊,我所有的指标我都给它定义一个公式,我用公式去描述指标,对吧,每一个指标都必须通过这样的一个公式去进行定义,诶那这样一来的话呢,是不是相当于咱们把这个指标定义由原。
14:07
白的这个文字描述定成了现在这种标准化的一个定义方式了,对吧?啊这样,那这样一来呢,实际上就能够极大的减少这个统计口径的混乱的问题啊,是这样的啊,那这个东西就是我们将来要提到的一个叫做指标体系的概念,这个后续咱们再说啊,是这样的啊,啊也就是说良好的模型呢,是能够减少咱们这个数据统计口径的混乱的,诶,能够减少计算错误的可能性的,好吧,那这就是咱们刚刚所提到的数据仓库的建模的意义啊,一共有这样的四点,分别是高性能,低成本,高效率,高质量,但这个东西呢,说实话也不需要去记啊,这个记不记没啥用,这个东西没啥,就是咱们体会一下就行了,但咱们只要知道就是数据仓库的建模,它是有意义的啊,对吧,咱们不是瞎建的对吧,那就OK了啊行,那这个完成之后视频我停一下啊。嗯,好,各位同学,那咱现在已经知道了什么叫做数据仓库的建模,也知道了数据仓库建模的意义了,那咱接下来呢,就正式开始去学一下这个数据仓库当中我们这个常用的几个建模的方法,大家可以看一下啊,就是2.2这一节当中,对吧?我们一共有两种数据仓库的建模方法论,那分别呢,是第一个叫做ER模型对吧?呃,然后这个E在这指的是什么呢?E实际上是一个英文单词的首字母,叫做NTT对吧?这个R呢,指的是啥呀?是另一个English单指的是relation对吧?也就是nt relation,那当然了,这个我们直译过来,我们这个应该叫做什么模型呢?叫做实体关系模型对吧?哎,是这样的啊好,那这个咱们先把名字大概熟悉一下,然后一会儿我再给大家介绍啊,来继续往下看,还有一个呢,我们叫做什么。
15:44
维度模型对不对,维度模型是这样的啊,就是这两种模型呢,实际上呢,是都可以作为咱们这个数据仓库当中的数据建模的这个核心方法呢,OK啊,那现在呢,我们诶把这两种方法的这个背景给大家简单的介绍一下,首先我们先看第一个就是所谓的ER模型啊,这个ER模型啊,它是谁提出来的,又是谁建议我们去使用的呢?那在这儿我给大家解释一下啊,首先ER模型谁提出来的ER模型他那个提出来那个名字我不记得了啊,但是他是一个就是美籍华裔的一个就是搞计算机的一个人提出来的,姓陈,好像是啊呃,但是叫啥我确实想不起来了啊,这个当然不重要啊,谁提出来着不重要,咱们在这儿呢,重点关注一下是谁建议我们去使用这种诶模型去对数据仓库里边的数据进行建模了,谁建议我们呢?是这个人叫做比尔伊蒙啊,是这样的啊,这个人他的来头可能就大了,那他是谁呢?他实际上是被誉为数据仓库支付的。
16:44
也就是数据仓库的概念就是比尔伊盟提出来的啊,完了之后呢,他提倡我们去使用ER模型对数据仓库进行建模啊,是这样的啊,OK,那也就是ER模型并不是比尔伊盟提出来的,他只是建议我们使用这种模型对数仓进行建模啊,能理解吧,同学们,这个咱们稍微的理解一下啊好,那接下来咱继续往下看,我们再来看一下维度模型,这个维度模型那它要是谁提出,然后呢,谁建议我们去使用的呢?来咱们看一下维度模型呢,是数据仓库的另一另领域的另一位大师,叫做r k ball,他提出来的,OK啊rough k ball,他对数据仓库的贡献是什么呢?就是说他提出来了维度模型这样的一个概念,维度模型就是由他创建的,完之后呢,他也建议我们在数仓里边使用维度模型进行建玩,诶是这样的啊,也是在这儿呢,这两种模型的背景咱们基本上有所了解了啊,然后呢,再给大家再多说两句,实际上呢。
17:44
就是比尔伊蒙和这个呃rap k呢,他们俩呢,中间也有不少的争论啊,他们都说自己建议的这个建模方法更适合数据仓库,是这样的啊,那其实最开最开始这样的啊,最开始是由比尔伊盟是不是提出来的这个数据仓库的概念啊,对吧?然后他进而就提出,诶,OK,我们应当使用ER模型对数据仓库里边的数据进行建,但是呢,呃,随着大家的这个使用啊,呃,然后大家逐渐的发现,实际上用ER模型对数据仓库进行建玩,往往不是那么的合适,那后来呢,就由这个rough k这个人呢,提出了一种全新的建模方式,就是咱这看到的这个诶维度建玩,那他呢,诶实际上呢是呃被证明是更加适合这个数据仓库的啊,所以说那在目前来看呢,咱们市面上绝大多数的这个公司,它的这个数据仓库的建模方法呢,都是以谁为核心的,都是以维度建模为核心的,这一点大家需要去稍微的理解一下啊,OK哈,那也。
18:44
就是在数仓里边,我们这个模型,维度模型占据了绝对的主要地位,那这个ER模型呢?呃,现在也有用的,但是在数仓里边用的相对来说要少一些,那主要是哪种应用会采用这种ER模型呢?实际上就是我们前面所谓的那些业务系统对吧?他们使用关系型数据库的这些应用对吧?那在关系型数据库里边建模通常会使用这个ER模型,哎,这一点大家稍微的理解一下就可以了啊好了,各位同学,到目前为止ER模型和维度模型的一个基本介绍咱们就说完了,那当然大家应该能感觉出来,对于我们数据仓库而言,我们是不是主要学维度模型就够了呀,对吧?啊,当然我ER模型呢,我们在这儿也需要了解一下,主要是为了帮大家,就是形成一个比较完整的这个数据仓库的建模知识体系,对不对,那咱们把ER模型也需要简单的了解一下,所以最终总结一下啊,ER模型在这儿呢,咱们作为了解内容,然后维度模型是咱们的重点内容啊,这一点理解到位就可。
19:44
好,那咱接下来呢,就开始去学习一下这两种数据仓库的监管理论啊。
我来说两句