00:01
变强那种。好,那我们现在看这个第二一个这个德鲁伊,那德鲁伊呢,呃,他这个首先先明确一个概念啊,这边其实也也有这个所有同学可能已经这个,呃也犯过这个错误了啊,呃,把什么呀,把咱们阿里的那个,呃那个数据库连接池德鲁伊跟咱们这讲的这个德鲁伊搞混了,其实他们俩是没有任何关系的啊,是没有任何没有任何关系的,先把这个明确。啊,完了之后呢,我们看德鲁伊他的这个基础的介绍是什么。还是这个一句话的这样的一个,呃,一个概概述,我们看看它是什么东西来德鲁伊,它是一个快速的。劣势的劣势指的什么?劣势存储德鲁伊呢,它是一个最终它落在什么地方,落在一个存储系统上面了,对不对,它是能存数据的,能存数据的它是一个列式存储的,然后后边呢,诶是一个分布式的一个集群,对吧?然后这个比较关键,它是支持实时分析的。
01:01
支持实时分析,而且它这个实时呃分析的性能呢,还是比较强大的,还是比较强大是支持实时分析的,那然后在后边呢,它的这个呃,它的这个性能如何呢?我们来看一看,它在处理这个PB级,PB级数据是PB级的啊,然后诶毫秒级查询,当然呢,也就是数根据跟什么有关系啊,也其实跟数据量有关系,如果数据量比较小,那OK,我能做到毫秒级,那如果数据量呃相对来说要比较大的话呢,我基本上也能做到这个压秒秒级这个这个这个程度。亚秒秒级啊,那后边呢,在实时处理诶,这个数据的方面对不对,它是比较强的,然后后边呢,它比传统的ola olap系统有了显著的性能性能改进,这块大家要注意啊,你要从这句话当中呢,你要读出它的这个言位之意来,言为之意什么。他既然跟传统的o lifep去比,那说明它是一个什么,它是不是就是一个o lifep系统啊,Op分系统,也就是他其实也是做这个多维分析的。
02:02
也是多维分析的啊,只不过呢,我能干什么,我能做实时分析,能做实时分析啊,这是咱们对德鲁伊的一个这个初步的一个认识啊,初步认识,然后现在呢,我们再来总结一下,首先德鲁伊能干什么,首先它是能够呃这个处理PB级的数据,然后能够毫秒级查询,然后能干什么,能够进行实时的分析。那实际什么分析呢?是o life多维分析对不对,然后它它它它跟那个我们前面讲的其他的那个什么机器查询框架有什么区别呢?它有一个特点就是,诶我是啥呀,我能够存储数据。我能存储,它是存储系统,实际上呢,德鲁伊你可以说它是一个什么东西呢?是一个时序数据库。时序数据库啊,什么叫时序数据库呢?这一会儿我们再解释,也就是它会存数据,也就他说白了既能存数据,也能分析数据,也能分析数据,而且能够进行实时分析,当然这个离线分析批处理它也能做,也是他既能做批处理,也能做这个实时分析,这还是比较强的啊,然后大家来看一下啊。
03:06
PB级的数据,诶在这呢啊。PB级的数据能做到这个毫秒级,当然这个毫秒级可能有点夸张,可能是夸奖啊,但至少他是能做到秒级亚秒级的。PB级的数据能做到这个级别,那其实啊,哎,它也是得益于什么呢?其实它也是得益于这个。预计算的。也是德于一计算的,也是我们德鲁伊呢,其实也会进行预计算,也会进行预计算啊好,这是我们先对德鲁伊有一个这样的一个初步的认识,好下边这个注意事项呢,咱们就呃不看了,然后往下,下边呢是这个德鲁伊他的特点,咱们把这个特点呢,呃,一起来看一下。首先德鲁伊它的第一个特点就是说它采用了劣势存储,因为什么,因为德鲁伊呢?呃,我们前面也分析了,它是一个什么,它是一个是不是也是o life呀,O分析这o op这样的一个分析分析系统,当然它也会存储数据啊,诶那多维分析我们通常是怎么分析啊,多维分析是不是就是选里边特定的某几个字段啊,然后对聚合值,呃,对那个度量值进行聚合对不对,那通常都是这么去选择,那你采用劣势存储,那是不是正好是适合咱们这种多维分析啊。
04:16
是这样,所以这个应该很好理解,那下边呃,它是一个可扩展的分布式这样的一个系统,也就是它呢,呃可以部署到数十或者数百台机机群上,所以说它这个呃延呃延伸性的呃呃可扩展性的还是比较强的,扩展性还是比较强的啊好,那它完之后呢,往下看。他能够进行大规模的并行处理,大规模的并行处理,其实大家一会儿后续可以观察到,我们德鲁伊当中呢,他这个集群的角色其实有很多个,好几个角色,但是他每一个角色我都可以给他配置多个。也就是说,所有的任务几乎都可以并行完成。都可以并行处理,所以说它这个并行处理的能力还是比较强大的,好,那他完事之后呢,我们往下看。
05:00
下边呢,呃,这个,呃,实时或者是批量摄取这一点指的是什么呢?就咱们德鲁伊啊,前面不是讲了吗?它能够存数据对不对,那既然要存数据设计,也就是说你得往里边写吧,对不对?那你往里边写的时候呢,我既可以实时的写,也可以批量的写,那实时的写应该对接谁?实时的写,我们通常对接的是卡夫卡,就是数据呢?诶通过卡夫卡实时的写入咱们的德鲁伊是可以的,那也可以批量的写,批量写可以从哪写呢?可以从咱们这种分布式的存储系统里边,诶直接拿出去批量的一次性的写到德鲁伊也是可以的。哎,是这样的啊,那你批量的写,那我后续就可以批量的分析,你实时的写,那我我就可以实时的分析。是这样的啊,是比较强大的,好,那完了之后呢,我们往下看下边这个地方呢,有一个什么,有一个这个呃,自愈自平衡易操作,有一个这样的特点,这个指的是什么啊,就是说咱们指的其实指的是这个德鲁伊啊,我们维护起来是非常方便的。
06:00
维护起来非常方便,为什么方便呢?来看一下。它呢就是说如果说我们要想去扩展或者是缩小这个集群的话,那我们诶只需要做一些简单的添加或者删除服务器这样的一些操作就可以了,然后你把这个服务器添加或删除完之后呢,做一些简单的配置之后呢,那我们集群当中的所有的任务呢,它就会自动的给你均衡。也就是说它自动的就把你这个这个节点呢给你,诶给你分配的任务了,诶自动均衡这一步呢,诶是不需要我们进行停机的,是不需要进行停机的啊,这是非常非常强大的,非常非常不错的啊,有可以热更新热扩展热扩展啊OK,这是它,那它完之后呢,我们看下边,下边呢,我们有一个第第六一点那个数据呢,进行了有效的预集合和预计算,所以查询速度快,也就是他查的快也是得益于预计算的。好,那这个怎么去计算,我们后续再说啊好了,那最后一个,那这个数据呢,它的结果应用了这个bit map压缩算法啊,那bit map呢,这个算法呢,应该其实还是比较有名的啊,就是在这个我们的麒麟当中呢,其实也应用了bit map压缩算法,那这个算法呢,其实在什么领域是比较强的呢?在我们的这个呃,压缩以及什么呀,以及咱们这个就是那个这个驱虫,诶这在这些领域它是比较强大的,比较强大的,那我们的这个麒麟呢,其实它麒麟有一个点是非常强大的,就是做这个精确驱虫。
07:29
什么叫精确驱虫呢?所谓精确驱虫就是去呃去统计这个count distinct的值Co count distinct这个我们在使用麒麟的时候,应该它那个聚合函数当中有一个count distinct,这个应该大家当时是看到了count distinct,那我们麒麟在做这种count distinct,这而而且是大数据量的啊,大数据量的这个精确驱虫,这个麒麟是做的非常好的,那这里边麒麟这里边呢,就应用了,也是应用了这个bit map这个算法。这个算法就这个算法呢,它不不是说它是一个压缩算法,也就是他可以干的事很多,可以干的事很多啊,他在压缩在这个精确驱虫这些领域呢,是非常非常强大的,好,那感兴同学呢,感兴趣的同学呢,可以自己去了解一下,咱们这儿就不展开讲了,好那他玩之后呢,我们往下看,下边是咱们这个德鲁伊的这个简单的使用场景,我们来看看啊,其实这个德鲁伊它的使用场景呢,呃,相对来说还是比较苛刻的。
08:22
还是比较苛刻的啊,我们来看一下。首先第一点我们使用德鲁伊的时候呢,要求我们把这个数据得提前清洗好,清洗好然后呢,呃,写到德鲁伊里边之后呢,诶是不要进行这个更新操作的。呃,那我们前面讲了德鲁伊会干什么,德鲁伊是不是会存数据啊,会存储数据,那大家要注意,大家要注意注意什么东西呢?就是说他我们虽说是一个所谓的一个数据库会存数据,那大家可能会觉得我的数据库是不是就会进行增删改查这些操作呀,对不对,但实际咱们德鲁伊呢,我们诶要求什么呀,是不需要进行更新操作,也就是他只只干什么,只是存,存完之后呢,只是什么,只是查分析。
09:04
分析啊,你不能把它当做一个咱们这种普通的数据库去使用,就是我是纯数据,然后诶只能是分析,以分析为主,那而且你往里边写数据,还得写什么样的数据呢,还得写这个清洗好的数据,清洗好的也就是说得是什么样的,得是结构化的,结构化的。那比如说举个例子啊,咱们德鲁伊我往里边写数据的时候,我可以通过谁可以通过卡夫卡里边通,通过卡夫卡往里边写对不对,那实时的往里写,那大家可能会觉得,诶,我卡夫卡卡夫卡写的数据不就是一行吗?一行一行的写对不对,一行一行的写,那这边我们是不是得要求是结构化的呀,对不对?那也就是说你卡夫卡往德鲁伊里边写数据的时候啊,你那个数据的格式是有要求的。得给它调成什么样的格式呢?得是结构化的,比如说杰森对吧,比如说CSV,比如说TSV,得是这样的文件才可以。改这样可以文件才可以啊,所以说这块呢,大家都要注意,大家要注意得是清洗好的好,那完了之后呢,往下看,下边呢,我们德鲁伊诶支持宽表。
10:05
单表查询单表查询不用join。单表查询不用join,这是我们德鲁伊这边的一个点啊,就是说不要用join,只是单表就是单表,然后这个单表当中呢,其实这个单表啊,大家要注意单表,它这既然是表对不对,那表里边肯定有行有列对不对,那这里边呢,我们其实也可以分为这样的两类,一类呢是维度。一类是度量,这也是我们传统的这个o life分析里边的概念,有维度,有度量,跟我们麒麟是一个一套理论,一套理论啊,那也就是说我们数据诶这么给他定义好之后呢,那往德仪里边写的时候呢,会干什么,会进行预计算。出行预算,那预算完之后呢,后续你干什么,是不是就可以直接查询结果了呀,是这样的,其实德鲁伊呢,我们往里边写数据的时候,那个流程大致就是这样的,那这个我们后续还会再详细的分析的啊好,那这是就记住这个是单表查询,不要用照OK,那再往下下边呢,这句话呢,呃,就是写的可能比较这个比较抽象啊,读不懂是吧,那你就不用读它了,我给大家说一下这是什么东西啊,这块他想表达的呢,就是说我们德鲁伊适合干什么,适合统计这些,诶o lap指标,OL分AP就是多维分析指标,那也就说你那个circle写的时候怎么写,也就是说诶是不是维度维度,然后聚合函数后边呢,加上格入Y这个维度啊。
11:25
对吧,也就是跟咱们其类似,就只能是查询这种多维分析的指标,复杂的咱们德鲁伊这边是做不了的,我们只做o lap分析,O lap分析啊好,那下边呢往下看。呃,适用于这个实时性要求较高的场景,因为它强项是不是就是实时分析比较厉害啊,好,那完了之后看下边,下边第五一个点呢,就是说适用于对数据质量敏感度不高的场景啊,这个东西怎么回事,给大家说一下啊,这个要注意,呃就是说呃,看这个意思啊,就是说这个德鲁伊是不是有点不太靠谱啊,这意思对不对?呃,什么叫数据质量,也就是说咱们这个数据呢,就是哎,算完之后你得确保我这个数据是诶准确的,你不能丢一部分的数据对不对。
12:07
就是所谓的数据质量。那这边也就是说德鲁伊呢,适用于对数机质量敏感度不高的场景,那言外之意就是说我们使用德鲁伊的时候,我的计算结果是不是可能不是100%准确的呀,是有可能会丢一部分数据的,其实是这个意思,那这是为什么呢?这其实啊是跟我们德鲁伊它的这个架构是有关系的,那一会儿我们讲完它的架构之后呢,给大家分析一下它为什么会诶导致这个数据的丢失,一会再分析啊好,那这个就是咱们德鲁伊的适用场景。那总结一下就是什么呀?哎,适用于这个什么样的,得是这个呃,清洗好的数据,清洗好的数据,然后能做什么样的分析呢?能做这种o life分析,多维分析对吧?然后强项在什么地方,强项在这个实时上面,然后数据诶不是很准确,不是100%准确,然后边呢,就是说单表查询,不要照这是它的一些场景,好,那这个咱们简单的就分析完了啊,那在下边呢,这块有一节,这一小节呢,其实还是比较不错的,我们呃先单独的录一下吧,一会。
我来说两句