码迷,mamicode.com
首页 > 数据库 > 详细

【Canal源码分析】TableMetaTSDB

时间:2018-05-31 14:37:23      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:tsql   介绍   alibaba   新版本   分享   http   就是   sts   也会   

这是Canal在新版本引入的一个内容,主要是为了解决由于历史的DDL导致表结构与现有表结构不一致,导致的同步失败的问题。采用的是Druid和Fastsql,来记录表结构到DB中,如果需要进行回滚时,得从DB中根据时间点去查到对应的库表结构,然后进行业务的处理。也就是,如果我们想要这样的效果,需要开启TSDB的功能,同时要新增库表来记录表结构的变更。

这个基本上是在parser启动时,寻找位点时需要的。当然在系统启动的时候,会将库表的信息写入到DB中,然后定时24小时写入一次。另外就是在发生了DDL时,会更新表结构。

我们来看下他的类图。

技术分享图片

一张表记录的是表结构,加上了时间,另一张记录的是当时的DDL语句。在进行回溯的时候,直接根据时间戳和binlog文件名来进行寻找即可找到。当然这些数据也会在内存中保存一份,加快速度。

具体的介绍可以见这个链接https://github.com/alibaba/canal/wiki/TableMetaTSDB。

【Canal源码分析】TableMetaTSDB

标签:tsql   介绍   alibaba   新版本   分享   http   就是   sts   也会   

原文地址:https://www.cnblogs.com/f-zhao/p/9116316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!