温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,那么第四小节呢,我们主要聊一下canal在公司当中未来使用的时候,它的一些主流的应用场景。那么第一个当然是它的一个原始场景,它是属于阿里这个al这个框架啊,它的一部分啊,那auto这个框架呢,刚才我们也聊到它呢,是AB2个机房之间数据要做同步啊,那这里边主要分为三大块内容,也就是说读取blog日志对不对,中间的管道传输,那么另外一方面呢,还要写到我们的。B库里边,哎,就从A库读写到B库里边,OK,那么canal呢,在其中就实现的是读取这个b log的一个作用啊好,这是原始的场景啊,阿里就基于这个开发的,但是现在他已经把这些框架都已经开源了,所以我们现在可以使用这个canal这种方式,对吧?第二个场景呢,就是说在工当中我们可能要做这个读写分离啊,呃,那么呢,我们也可以使用我们的canal啊,呃,此时呢,比方说我们现在呢,有这个MYS数据库。
01:09
啊,同时我们还有一个缓存数据库,比方说red。啊,比方说我们的red啊,因为red呢基于内存做存储的,它的访问效率呢要高一些啊,所以我们要做什么事呢?我们写呢,写操作,直接找这个数据库啊,因为它要落盘啊,那另外读呢,我们先去读一下我们的缓存服务器,如果没找到这个数据,那么才会真正的读买斯克,那这样的话明显降低了我们买斯克的一个数据库压力,是不是?呃,但是有一个问题,你第一次直接读这个缓存数据,那么你如何保证这个缓存数据当中有数据呢?所以这个时候呢,可以用canel,呃,使用canel监控我们的数据库啊,然后呢,这边数据发生了更新,我可以用canel采集过来同步到我们的缓存服务器,也就是说red当中,那么这样的话,你买S这边有数据发生更新或者改变,那么立马这一边呢,我们也能够得到同步啊,那以后读的时候呢。
02:15
绝大部分就可以读得到了,防止有,呃,这里边儿有可能也读不到啊,为什么呢?因为我有可能刚写入数据库,我还没有来得及同步到缓存数据库里边的时候呢,就已经执行了查询,那这个时候必然是没有的,那这一部分呢,我们可以走MYSQL数据库对吧?好,那么第三个场景呢,就是我们未来在数仓当中要做的,或者说我们做数数据的实时分析用的这种场景,也就是说抓取业务表的动态变化数据,用于制作实时分析,或者说呢,我们可以做这个实时数仓,传输数据到我们的消息队列当中,对吧?OK,这是我们的场景啊,所以基于第三个场景或者第二个场景,我们只能用行数据级别的一种格式啊,并到格式,因为如果不用行数据级别的,你给我语句,我没办法把它变成我们的数据啊。
我来说两句