00:00
好,那接下来呢,我们就看第一章叫克浩斯这个入门,入门呢,首先它是由。战斗民族对吧啊。就公司这是一个公司名啊,这个不是一个单一个的人名,这个公司名啊,他们去开源的这个公司呢,也是做搜索的啊,他在俄罗斯的地位呢,相当于这个国际上的谷歌啊,中国的百度啊,这种地位差不多啊,在俄罗斯的地位啊,啊大一六年开源的,其实也不算太长时间,对吧,任何一个框架呢,才几年的时间啊,才几年时间,你像我们的呃,好多框架都比这个要早很多。像fli啊,Spark都比这个早太多了,对吧,然后它是这个劣势存储数据库。啊,劣势存储,那对于劣势存储他更擅长于做什么事。列式存储的数据库更擅长于做什么事啊?
01:13
查询。查这个也太太,就是说查询的。这也太太笼统了。那按行存它就不适合查询了嘛,对吧,你不能这样说,有的人说按列查询这个没问题啊,其实他更擅长的做这种聚合吧。聚合操作对吧,比方说count呀,Some呀等等的。对,呃,压缩效率高,班长说的没问题啊,因为按列存我们。一列的数据放在一起,那这个时候呢,呃,我们同一个列可以采用相同的压缩算法,不同的类型可以用不同的压缩算法,对吧?啊,效率会更高一点啊,其实更重要的在于它查询当中呢,做这种聚合查询更擅长一些啊,更擅长些好,那使用C加加语言编写的主要用于op对吧?相对的op之外还有一个什么东西啊。
02:20
还有一个叫什么名词。跟orp很像的。对,叫OTP对吧,好,那它们俩的特点呢。他俩的特点分别是什么?Transaction。嗯。那。Op跟oltp他们所主要应对的场景是什么?
03:09
对吧,这个我就不等大家去回答了,因为有网络延迟啊,那orp这个东西呢,它更擅长的是一次写入多次读取啊,就是做查,其实orp数据库啊,更重要的就在于查。查数据对吧,而or TP呢?它最重要的在于增删改查。啊,它在于增删改查对吧,这四个都要去做的。啊,就是还有一个事物啊,对吧,连接事物查询,连接在线分析处理啊好,那之后呢,能够使用S查询实时生成的分析数据报告。对吧,啊,这个都还好一点,主要的就在于第一个历史存储,第二个它是一个orp。好,那之后呢,我们看一下它的一个特点啊,东西比较多,但是也没必要说都记下来了解一下啊,了解一下第一个列式存储,这个我们已经说过了。
04:08
对吧,这个已经说过了啊,假如说查某个人的所有属性的时候,通过一个磁盘读取,那这个明显是行存更好,所有属性嘛,对吧,ID姓名跟年龄啊,但是如果说我们要查所有人的年龄的时候。对吧,啊,查年龄或者说要按照年龄聚合呀,等等这些时候呢,它明显列出更好一点,对吧,这这是它的一个优点啊,之前也已经说过了啊,已经说过了啊。好,那第二个它是一个。数据库啊,那包含了什么呢?大部分的搜个语法,这个我们也提到过了,包括。DDL和DML,也就是说建库建表对吧,然后查询增删改查这些东西呢,都有啊,以及配套的各种函数啊,各种函数用户管理及前管理啊,数据的备份,数据备份对吧?后面呢,我们会讲那个副本集群啊,还有分片集群对吧?可以做这个备份啊。
05:09
好,那接下来呢,是我们的。第三个,第三个它有很多种不同的一个引擎。它有很多种不同的引擎啊呃,MY的一个类似。对吧,啊,可以做不同的引擎,那它里边呢,有这个合并数日志接口啊,这些东西呢,总共有20多种引擎,非常庞大。每一种引擎的功能还不太一样,每一个引擎的功能都不太一样啊,这个要注意一下对吧?呃,那接下来呢,高吞吐的写入能力啊,这个主要在于它跟那个东西很像啊呢,也基于这么样的一个数据结构对吧?Lsm数这样的一个数据结构,也就结合的磁盘和内存两块东西来用的啊好,那数据呢,它也假如说你要去改一个数据对吧,新写入了一个数据,那他也不是说立马就去改了。
06:07
立马就改了,假如说你新写一个完全一样的主件,一样的数据,对吧,它会在后台进行定时合并。啊,他会会合并,当然了,我们要在课堂上演示的时候,我会用手动合并的方式,对吧,我要等着它自动合并,那也不知道等到什么时候去了啊跟一样啊,他呢也是有这个。按照我们的先写内存,然后再写磁盘。啊,然后再写磁盘的方式。这个意思对,预写日志。啊好,这个你了解一下啊,高吞吐其实跟整个里边很像啊,整个的一个读写的一个流程,然后接下来数据的分区与线程级比级,那这个讲的什么意思呢?就是说在我们这个里边。可以做到分区。可以建一张分区表对吧?啊,建一张分区表啊呃,那如分区有什么好处啊。
07:06
Have里边我们接触到的分区对吧?分区的好处就在于如果说我们做了什么事。在查询的时候写了分区的过滤条件,那么就可以避免掉全表扫描。对吧?啊,避免全面扫描没问题啊,啊没问题的,这个地方要注意一下,我们这个地方叫分区,最后一张呢,我们讲的是切片,也就分片,注意这两个东西不是一个不是一个概念啊,不是一个概念对吧,这个要注意一下啊,最后一张分片呢,讲的是集群,这个地方就简简单单分区,它可以用一一台机器也能做分区表。也能做分区表啊,是这个意思对吧?好呃,那接下来呢,这边说了划分多个分区对吧,每个分区呢,进行这个有索引啊,可以建索引,但不是说一定有索引,这个不是的,对吧?好,那然后呢,通过多个CPU同时并行处理我们的多个分区的数据,这样这样它有个什么好处呢。
08:14
速度快,效率高,对吧,我多个分区之间可以并行啊,更重要的一个点在于什么呢?在于这个啊,这句话一定要注意一下,单个查询就能够利用整机的所有的CPU。对吧,假如说我们分了好多区,好多区对吧,假如说十个区正好呢,我有十个CPU10核对吧?啊那一个分区一个核,最大的并行,最大的一个并行对吧?好呃,降低了这个查询延迟,但是有一个问题啊,有一个问题一个弊端,什么意思呢?如果说。如果说我们有一个思语句占用了这个所有的CPU,那我如果同时有多个S在运行呢?那必然会导致我们的什么?
09:02
CPU的真抢?对吧,资源的增强,所以呢,呃,如果说你的QS很高。高QPS,也就是同时会用到很多很多,要运行很多很多搜的时候,反而他不那么擅长了。对吧,因为它是一个分区一个。啊,一个分区。一个CPU,那如果说你要多了,那肯定不擅长了,对吧,这个应该能明白吧。啊。大家不要犯困啊,中午刚起来对吧,又犯困。OK吗?这款。这没什么问题啊,对好,那我们就继续往下看,接下来呢,是有一个网上人家做的一个性能对比啊,那我们把这个收起来,这个呢我们放大一点。
10:02
好,那这里面呢,有一些点啊,来我们来看一下。这个就能看清了,对吧,首先我们测的是一个单表啊,然后呢,关联就是说。有join或者是同时执行多条CIRCLE2个方式啊好,那这里边呢,有一些框架,我们知道的,比方说这个press对吧,有的不认识的没见过就不管了。然后呢,是吧,收口。House我们将要学的,对吧?Clean house在这,好,那还有一个have,其实have都不用比了,而且看这个时间啊,我们就知道它这个have呢是on的,基于MR的,如果是基于SPA,那跟这个应该差不多,差别不大,当然Spark so肯定要快一点。对吧,因为SPASO呢,它用的是呃,Data frame data set r have走的是RDD,好,那这边pressure看一下一个总共有九个so索,对吧,它总耗时。
11:01
200秒啊,斯巴克呢,300秒,而耗的总耗时是85。总号是85对吧,Have这个就不聊了,这个就很高了,对吧,其他的我们没有用过的,我们就不用看啊啊不用看了,好这边呢,你要看一下明显的在于格列号,它这个性能更优一点。对吧,啊更优一点,好,接下来我们看关联上去多条circle口,多条circle口,那这个里边呢,Have也就排除了,人家单位是秒have已经到什么了。开都已经到小时了,六个小时了,那这个就没法比了,对吧啊,人家可能几十分钟啊,你好几个小时好几个小时对吧?啊,那这个SPA。690秒克林号呢,你看啊,你主要那也就说这个还更优一点啊。对吧,更优一点,但是你不能光这样比,咱们是不是还要这样去比,那上面是85克奥的85,这个呢,变成了685变600,那这个是300变600,对吧,相当于double一下,因为关联查询嘛,然后double一下啊,你再看这个。
12:09
Pre呢,之前是200对吧,关联上去还是200,也就是说pre呢,它完全基于这个内存运算啊,只要你数据量不是说特别大,它就几乎不带电。对吧,几乎不带变,那很明显看到克雷浩呢,他不擅长同时处理。多个circle,哪怕是关联,类似于这种draw,对吧,他也不太擅长啊,所以呢,其实通过网上的这个帖子,这个对比,我们去了解到,主要在于刚才我们所看到的第五第五个特点当中,对吧,就描述了他呢,很有可能单个查询就用了所有的一个CPU,那当你做多个查询或者关联查询的时候,效率势必会下降。对吧,因为一定会产生这个资源的争抢啊,一定会产生这个资源的争抢啊,所以说这个要注意一下,这是我们所聊的click house,它是什么东西以及。
13:05
它的一个特点对吧,这块东西呢,我们做一个了解啊,知道一下就好。
我来说两句