MySQL的CDC源表,即MySQL的流式源表,会先读取数据库的史册全量数据,并光滑切换到Binlog读取上,保证未几读一条也不少读一条数据。假使产生障碍,也能保证经过ExactlyOnce语义解决数据。MySQLCDCConnector撑持并发地读取全量数据,经过增量快照算法实行了全程无锁和断点续传。
撑持如下重心特点:
流批一体,撑持读取全量和增量数据,无需保护两套过程。
撑持并发读取全量数据,本能程度扩大。
全量读取无缝切换增量读取,主动缩容,节俭揣度资本。
全量阶段读取撑持断点续传,更不变。
无锁读取全量数据,不影响在线交易。
FlinkCDC旨趣(1)Source在启动时会扫描全表,将表依据主键分红多个chunk。
(2)哄骗增量快照算法逐一读取每个chunk的数据。功课会周期性履行Checkpoint,纪录下曾经实现的chunk。当产生Failover时,只要要赓续读取未实现的chunk。
(3)当chunk全数读取完后,会从以前获得的Binlog位点读取增量的改变纪录。Flink功课会赓续周期性履行Checkpoint,纪录下Binlog位点,看成业产生Failover,便会从以前纪录的Binlog位点赓续解决,进而实行ExactlyOnce语义。
FlinkCDCsql在FlinkSQLClient哄骗CDC功用以前,咱们须要将干系依赖放入Flink目录。会见