00:00
好,接下来呢,我们看一下第一章的简介,首先呢,从这个概念开始。那第一个呢,是一个开源的分布式查询引擎。数据量的支持GB到PB的这些非常大数据量的,上千种级别的啊,才好用,主要用于处理秒级查询的场景,什么样的场景呢?突然间产品经理走到你的跟前,说,你给我算一下当前这一时刻,今天的日活是多少?如果你没有这个实时预算的话,我现在的你查一下市场里面现在日活多少,那现在这十个月活多少啊,你怎么去给我算。这种方式哈,临时的一些任务并不在我们之前常规跑的,像在have里面,或者在什么里面跑常规任务。还有就是你在写这个常规任务,比如说写how里面的circle,那你在写的时候,你能每写一下就跑一下吗?那得跑到什么时候啊,你跑一个任20分钟,30分钟,那保太都凉了,嗯,那就需要提前用这个在这个里面去测一下啊这些查询功能,嗯,好。
01:17
那注意这里面有要注意哈,注意pressle可以解析circle,但它不是一个标准的数据库,不是类似于像my circle或者Oracle的替代题,也不能处理在线事务,比如说他不擅长这个正删改啊,他擅长的是查啊,查询,秒级查询,那这个呢,他不是这种OLDP的引擎,它是olap啊,分析的好,这是排概念,那下边呢,我们来看一下P的架构组成。好,那下面这一个框架呢,就是排头相应的涉及到的一些内容,那哪些是排头的组成的quality nature和多个博就是这个标尺寸。
02:06
这几个组件是name的组件。好,其他的属于周围的一些东西,那我们来看一下它是怎么工作的。首先这是排的客户端,你可以认为是命令行啊,或者说其他远程的一个加代码,那客户端呢,提交查询命令给这个相当于是一个老大协调者啊,给他给他之后这个coator解析这个查询的执行计划啊,对它进行一个解析优化,然后把任务分配给对应的模口,比如说往下分。啊分好,那来到这个worker里面,Worker负责局执行具体的任务和处理数据,那它是干活的,它是分配的,相当于我们之前学的manager和no对吧,嗯,好。这吧,那他怎么干活呢?第一个这样一个开开lo表示数据源。
03:07
那你说他得去查哪个数据啊,那这个数据存在哪里呢。像什么have啊,卡不卡呀,Red就这么多,那这些呢统一都叫catlo数据源,那这个catlo它包含这么两块,一部分呢是STEM,另一部分呢是connect啊,那你看一下connect。Connect connect,它就相当于是一个适配器,类似于我们之前学的这个类型,连接时连接对应的这个数据源。啊。那之后,那后面这就是具体的数据源啊,包括have啊,卡卡呀,Red,还有其他啊几十种很多哈,很多官方手册上有,那蒂呢,类似于买S库当中的数据库,你可以认为它是一个数据库,对。
04:02
然后在这个这里面它有对应的表,那就类似于买施工中的table是一样。那比如说那还里面嘛,我们还里面有个gma gma下面有N头的表,那直接这边就可以查这里面对应的表。啊,就是这么一个过程啊。进行查询,那这边查询完之后,最后把这个结果通过这个C再返回给对应的客。啊,就得到对应结果了,那你稍微捋一下,首先呢,是客户端提交要查询的任务,给这个口链件招考链进行分析预算之后把这个任务分发给对应的worker,那worker呢,来具体的去处理任务啊和数据,那这个数据来于哪呢?Control。对吧,那你要想连接上这个开道需要。连接池啊好,那每一个总数据源都有不同的连接池,然后对应的对同的数据。
05:04
那这里面的STEM呢,就是对应的数据库啊,这是表数据库表数据库表。嗯,好,那他们查询完之后再往回返回,通过华电,那这从这个博格里面获取数据的结果,然后返回给客户端啊,就这么一个过程啊,那这上边呢,还有一个叫还有密,它干嘛呢。遵守原数据啊,原数据啊,啊这么一个过程。OK,二到价格,那下面呢,我们再来说一下这个price的优缺点,它有哪些优势,有哪些明示。来看,首先呢,这是MAP6任务,大家都熟悉,在运行这个map和的过程当中,是要过盘的,中间是磁盘,那呢。基于内存的,嗯,那这里面比如说no waittime没有等待时间啊,No这个什么。
06:03
路没有失败容啊,还有下边memory to memory,基于内存大内存not,没有盘全输,没有这个date truck must fit in the memory to SPA这个。好,那就是说它是基于内存,它是基于磁盘,那很显然是盘头快,好,那第一个抬头基于内存运算减少了,磁盘中计算速度快没问题,那下一个能够连接多个数据源。啊,而且是跨数据源连表查询,这个很厉害,比如说他可以同时查询大量,呃,从hi中查询网站的记录,还可以从MY当中匹配设备的信息,那你说他这个同时查询的have给我返回数据,MY表里面也给我返回数据,同时查你两个数据库里的表。
07:02
比较强大吧,以前的话我们可能只能在还内部去查询,或者在买Q内部去查询,我现在呢是多个数据同时查询。啊,非常厉害,OK,那下面来看它也有对应的缺点,那缺点看一下。Pre能够处理PB级别的海量数据分析,但是并不是把PB级数据放在内存中计算。他不是把一下把所有的数据都落到这个内存里面,那肯定放不下,内存就爆了啊,它是根据场景,比如说count或者AG啊,这是进格函数运算的时候是边读边计算,然后再清内存,就进了一些,我处理一些,然后清掉一些内存啊,然后再读数据再计算,这样呢,所以说它耗的内存呢,整体不是特别大。进来一下,我熟悉一些吗?对吧,但是这种连表查询多个表。
08:03
多表差啊,就可能产生大量的这种临时的管制数据,那此时这个速度就会很慢,那它还不如这个海。所以说记住这点啊,多点的一个查询,那还不如用它呢。哎呀。行,那这是优点和缺点,优点是基于内存预算啊,同时还可以支持发表的一个查询啊,那缺点呢,也就是他呢,在这种多表的查询当中啊,是没有这个优势的啊。好,那下面再来看和的一个性能对比啊,性能对比那这里呢,其实有一个铁的,你可以看一下啊。这是有一个P和part的一个性能对比啊,对比它呢,基于的环境呢,你看啊,以后要写什么东西呢,也是一样的,跟这个环境有关系,它基于的是一台32G内存,两台16G内存,嗯,没有把内存配置饱和,嗯,然后呢,还有中有三张,这是2000万的数据量,因为咱们大数据场景啊,这个数据量不同,这个测试的这个结果的完全不同。
09:21
啊,完全不同啊,所以说这块注意哈,数据是有关系的啊,那它是部署在三台服务器上啊,具体的一个测试,它测试完啊测试了很多啊,很多什么关联查询呢啊,测试时间呢,他最后得出了一个结论,你把这个结论给我记住,结论什么呢?性能稍微领先于personal,但是P呢,在数据源支持上非常丰富,包括have啊,主数据库啊,传统关系数据库啊,RA啊,也就说他在支持多数据源上比part有优势。啊,那你的性能上略微比它强一点点啊。
10:01
在企业真正开发中呢,都有都有用的,这两个技术都有,嗯,那只不过从性能上,比如说关联have这块,那肯定你比这个稍微快一些,OK啊,这是性度对比。那下面的话,我们就来安装一下面色。
我来说两句