00:00
那接下来我们要学习的就是数据仓库当中的查询模块啊,那何为查询呢?啊,在这儿我们可以去参考一下百度百科的定义啊,来机器查询,那它也叫做ID hoook啊,是用户根据自己的需求灵活的选择查询条件啊,然后系统呢,根据用户的选择生成相应的统计报表。啊,那这个集齐查询啊,它与普通的应用查询最大的不同就是普通的应用查询是定制开发的啊,而集其查询呢,是由用户自定义查询条件的啊。那这句话怎么理解啊,来举个例子啊,那我们刚刚学完super对吧?啊,并且我们使用它做了一些报表对不对,那这些报表的查询逻辑呢,就是定制化的啊,也就是固定的对吧,我们每天的查询逻辑都是相同的。而即席查询呢,它的查询逻辑是由用户自定义的,我们是不能预知的啊,那其实正是由于即席查询的逻辑是不能预知的啊,那所以他呢,对查询引擎的要求就更高了啊,为什么这么说啊,那对于这种普通的应用查询呢,由于我们知道其查询逻辑对吧?那所以说我们就可以通过各种手段进行优化啊,来保证它的查询效率。
01:17
啊,但是对于集其查询来说,那它的查询逻辑不能预知,所以说我们就难以进行优化了啊,那另外啊,集其查询呢,一般是一个探索数据的过程啊,那所以说他期望实现交互式的查询效果啊,那什么叫做交互式的查询效果呢?那说白了也就是期望快速响应啊,那所以综上所述啊,这个集查询对查询引擎的要求还是比较高的啊,那我们这个市面上呢,集查询引擎还是比较多的,比如说什么psal啊,麒麟啊,尹拍啦,德鲁伊等等等等啊,那本课程呢,挑选了两个比较有代表性的引擎进行讲解啊,那分别是psal和麒麟啊,那在这儿呢,我们先来学习这个麒麟啊,那我们现在呢,就先来看一下这个麒麟的定义啊,来我们看一下这句话。
02:07
啊,那麒麟呢,是一个开源的分布式分析引擎啊,大家注意啊,那它最终的定位是不是一个分析引擎啊,对吧?OK,那往后看,那他提供了hidoop或者是Spark之上的circle查询接口啊,那从这句话里边我们能得到什么信息啊?首先那它的计算呢,可以使用hioop当中的map produce,也可以使用Spark。对吧,然后呢,给我们提供了一个circle口查询接口,也就是说我们使用麒麟去查询数据啊,我们不需要诶过多的这个学习成本,对不对,哎,我们还是写circle没错吧,OK,我们继续往下走啊。那以及多维分析o lap的能力啊,那这里边呢,有一个新概念啊,叫做多维分析op对吧?那这个概念呢,我一会儿会单独的给大家进行详细的讲解啊,那此处呢,我们先放一放啊啊那现在往下走啊,最初呢,这个麒麟啊,是由E贝开发哎,并且贡献到开源社区的啊那这里边儿呢,有一点值得提一下啊呃,其实这个麒麟呢,是由伊贝公司当中的啊,中国团队来开发的。
03:11
那所以说它的名字对吧,也比较中国风,就叫麒麟啊,然后呢,它的一个吉祥物呢,哎,也是中国的那个享受麒麟啊。啊,那接来往下走,那它具备什么样的能力呢?哎,它能够在亚秒内查询巨大的还表,那这个亚秒是什么概念啊,那其实就是比秒更快一些啊,比如说零点几秒啊,然后这里边呢,还有一点需要提一下啊,大家都知道,那随着我查询数据量的增长啊,那我的查询响应时间理论上是不是应该随之增长啊,而麒麟呢,它能够做到啊,随着查询数据量的增长,那我的响应时间啊,始终能维持在一个很低的水平,那它为什么能够具备这样的能力啊,那这个呢,其实是得益于它的这个原理。麒麟什么原理呢?是预计算啊,那什么叫做预计算呢?那所谓的预计算,那是不是肯定是提前计算呀,对吧,那提前提前在什么之前呢?那在这儿呢,指的就是在发出查询请求之前。
04:09
那这时候呢,有同学可能就会有疑问啊,什么疑问呢?诶,我这个查询请求还没有发出来,那麒麟是怎样知道我具体的查询逻辑是什么的呢。啊,这个问题呢,确实值得思考啊,那麒麟他是怎么做的,他是这样做的啊,麒麟确实他不知道啊,这个用户将来具体的查询逻辑是什么啊,但是呢,麒麟他会怎么做啊,他会穷举所有的查询逻辑啊。他会将所有可能的结果都计算出来啊,那这样一来,不管我们后边诶具体的查询逻辑是什么,诶,我相当于都是直接获取计算结果,那这样一来呢,就能保证这个查询的快速响应了啊OK,那这个呢,就是麒麟的一个基本原理,那后边呢,我们还会再详细的去介绍啊。
我来说两句