00:00
接下来我们来了解一下护理的发展历史,那在2015年的时候啊,发表过这么一篇文章,是关于增量处理的,它里面阐述了增量处理的一个核心思想,还有原则,这个主要区别于咱们传统的全量处理,全量处理呢,不仅处理的数据量大,操作重,而且呢,效率也没法得到一个很大的提升,那如果我们采用增量处理的方式啊,啊,首先你。每次处理的数据量就小了,并且呢,就更及时了啊,这样显然显然是更好的,对吧,那么在2016年的时候啊,啊Uber,也就是美国的这个U步,他创建的护底这么一个框架,并且呢,对他们的内部的数据库,还有关联业务提供了一个支持,这个时候还属于他们自个儿用,对吧?那好东西呢,那自然要分享嘛,那在2017年的时候,也其实大家可以看到又经过了一年,那这个优步呢,就将户底给开源呢。
01:00
而且能支撑到100PB的这么一个数据库框架,可以说非常强劲,那么这是刚刚开始开源,那么到了2018年呢,这个时候开始吸引了大量的使用者,埃,主要也是这个时候呢,呃,依赖于云云计算啊,进一步的普及开了。当然在一八年的时候,咱们还,呃,咱们国内应该是用的还不多啊,那么在2019年呢,啊,这也算是一个起点呢,成为阿帕奇的一个孵化项目。一九年并且呢,增加了更多的平台组件,也就是说它相关的支持,呃,支持的集成的一些组件就更多了啊,而且它内部的一些啊功能组件也更多了啊,总而言之呢啊,就是功能越来越多了,那么经过一年的时间,它就快速的毕业了,从孵化项目毕业成为阿帕奇的顶级项目啊,这也是几个关键的时间点,那这个时候进入了一个快速增长的时间啊,他们的社区啊,下载量啊,采用率超过了十倍的一个增长,那么在2021年的时候,已经开始支持优步内部啊500PB的这么一个数据库了。
02:18
并且呢,一些SQ语句啊,还有跟flink的集成啊,这些都进一步的引入了啊,因为flink也是比较火嘛,那么增加了优化的一些,像,所以呢。原数据的一些服务啊,还有它的一些缓存等等这些东西,那么到目前呢,可以说这个护理在国内是越来越火了啊,这是大概的一个。它的发展历史,那么从这些历史啊,大家大概就是总结出这么几点,第一啊,谁做的,谁开源的是美国的优步公司啊,另外呢,呃,我们关注的点就是从阿帕奇毕业成为顶级项目,这是在二零年,可以说也是比较相对来讲比较新兴的,比较热门。
03:06
好,另外我们了解一下蝴蝶的一个特性啊,咱们列了几点啊,第一个呢,是关于它的索引啊,它是一个可插拔的方式啊,什么叫可插拔呢?就是你随时可以插入,随时可以拔走,对吧?也就是说你可以随时啊对某张表添加索引,也可以对某张表删除其索引,那么基于这个索引机制呢,就能够帮助我们支持快速的UPS,还有delete,这个upset其实就是插入及更新嘛啊,如果不存在就插入,如果存在那就更新,那删除呢,那这个你可能听起来觉得很常见啊,也没什么特别啊,但是你要区别对比啊,咱们时刻拿hi来做一个对比啊,也不是说贬低hi啊,只是说hi呢。呃,他们的擅长的地方不一样,那have,我们前面也聊过了,我们对于某行数据或者某一个字段值的更新啊,效率不是特别高对吧?啊,但是忽底对这方面他就很擅长了啊,这就要依赖于它的一个索引机制有了,所以你才知道,诶,我要更新的这一行在哪里啊,并且能快速的定位到这一行。
04:17
另外呢,就是删除数据也就很方便了,那在呃一张表里面,我要删除某一条数据,对吧,那这个呢,Have也不是很擅长。那忽底呢,也可以实现,这也是我们吸引的比较重要的一个特点,那第二一个呢,还有一个就是什么呢?增量,它可以支持增量的拉取的变更来进行一个处理,那这个增量就是我们说的了啊,它的设计支出的一个核心思想就是增量这么来设计,这也是忽底这个I这个单词啊,这个字母的一个含义啊,增量的处理。另外呢,表变更啊,变更有两个含义啊,一个是表结构变更,第二个呢是表的数据变更,比如说你可能是新增的数据,可能是呃,更新的可能是删除的啊等等这些变更都可以进行一个处理啊,这样用起来就很舒服了吧,对吧?呃,那其次呢,还有它的一个很重要特性,支持事务。
05:17
对吧,事物的提交及回滚,而且呢,可以去做一个并发控制,那这也是很重要特点,也是区别于谁啊,Have啊,来我们再往看,呃,那它这边可以集成的一些第三方的计算引擎有特别多呀,像大家熟知的Spark pstal flink啊。都是大家比较常用,这些应该说是咱们大数据领域非常高频,非常常用,非常常见的一些引擎,那么都可以跟狐里进行一个很好的集成一起使用。而且呢,可以去蛇口化的操作啊,很舒服,还有一个。也是很有亮点的地方,自动管理小文件,那么大家都知道分布式存储啊,也特别是分布式的文件存储系统,文件系统,比如说常见的HDFS,天生是不是就害怕小文件了,那我们也知道小文件一多,第一呢是对name node造成了压力,因为不管这个文件多大或者多小啊,它分的每一个文件块都会占用固定的元数据啊,150个字节,对吧?如果小文件过多,每一个文件啊都是一个块啊,那这个原数据存的就就大了。第二一个呢,咱们回头用计算引擎去读取这些数据的时候,根据你不同的规则,或者说读取格式吧,它大部分来讲是要依赖于切片来读取的,启动一个并行的,比如说nmr的map任务,对吧,那就会导致map任务过多,但是每个map呢,又处理数据量又小啊,那这样就浪费资源,效率也不高,那这个。
06:57
一直是HDFS,呃,害怕小文的一个原因。
07:02
那么利用hold底呢,它能自动的管理这个小文件了,相信大家平时在做离线数仓,不管你是用什么引擎,I也好,Spaug也好,或者T子也好,对于这个小文件问题都是很头痛的,或者说常见做法就是呃,分析完之后再起一个job来合并小文件,对吧?啊那么基利用护底呢,它就能自动管理了,这是非常呃有亮点的一个地方,那包括一些数据的剧触啊,压缩啊,清理啊,这些它都是自动实现啊,自动托管,那这个压缩就是咱们前面聊的这个compassion啊,也可以理解为合并啊,也可以称之为合并吧啊清理呢,就是一些过期的数据啊,它有一个克na啊,不同的策略来清理我们的数据,说白了这就是什么一条龙啊,同学们对吧,给我们做到了一条龙服务,另外就是一个流逝是入,哎就是流氏采集呗,首先。
08:02
现在它内置的一个CDC的源,还有工具,就像咱们前面聊到了这个德stream,这是flink官方封装好的一个工具啊,底层是依赖于Spark,用这个可以很方便的去进行一个流失摄入,不管是从卡不卡这种消息队列啊,还是从其他一些地方啊,从文件系统都可以用这个,那如果你习惯于用flink也可以啊,你也可以用flink等等都可以。另外呢,就是它做了一个内置的原数据。那我们通常现在企业里面,嗯,不管你是做数仓也好,做什么也好,到后期来讲,你应该都会做一个数据治理方面的事儿,那其中治理当中很重要的一块就是咱们一个元数据的血缘关系。对吧,也就原数据管理,那这一块呢,忽迪在这方面嗯,做的也是有了有一定的考虑,你可以很方便的去通过他的原数据做一些其他其他处理。
09:07
另外呢,通过向后兼容的方式实现什么表结构变更的支持啊,也就是说我表原来有ABC3个字段,比如说MY从MYS口来的啊,我都呃录到湖底啊,正常的数据变更能拿到,那如果比如说我修改了一个字段,我把C字段改成了D字段,或者说我增加了一个字段D啊,像这种表结构的变更,咱们who底啊啊也是能够兼容的。好,这个呢,其实这些特性大家可以看到,没有一句是废话,每一个都能解决咱们生产使用的一些痛点问题,这也是为什么底越来越受关注啊,对吧,他能抓住你的痛点。
我来说两句