flink-cdc
flink-cdc copied to clipboard
使用CDC实时同步数据需要一直连接数据库吗
发现CDC是直接连接数据库的,如果使用CDC进行实时的数据同步,需要一直连接数据库吗? 如果是的话,那要是多个job进行实时的数据同步,那数据库就会一直连接多个job,数据库压力不会太大吗?
是长时间对占用这个连接,对数据压力来说走的是binlog,不是查询语句,那么不会有很大的影响,但是如果你可以使用java代码全局获取到你所有的数据库中的数据表连接,那么这只有一个连接存在了
@syyfffy 但是如果别人也要对DB做数据同步的话,不是又要去连接DB吗,虽然一个连接不会有很大的影响,但是连接的多了不就影响大了吗? 而且别人应该不能直接用我的连接吧,不然我去主动触发了全量,不就影响了别人的同步任务吗? 这些都是我的疑问,感谢回答~
在数仓建设的过程中,同一份业务数据多次同步到不同的数仓?
@syyfffy 目前做的这套数据同步是专门给我们这边做的= = 数据源会有很多别的地方用到,所以就比较麻烦,不想直连数据库
@Blank-creator397 你可以使用sls的日志的数据接入mysqlbinlog功能,里面存储的是所有表的数据,且只有一个,数据都从这里面取得
增量和全量都可以使用binlog来获取吗
@Blank-creator397 全量数据是通过select * ,增量数据是查看binnlog(binlog是有过期时间的),开始先同步数据的时候,先执行一下全量数据同步,再增量进行数据同步binlog且是无锁算法
对呀,全量通过select *不就得连接数据库来查吗,并不能只接入mysql的binlog吧。目前就是全量这个阶段要连接DB造成的困扰
没办法的,全量没法从binlog获取到的,因为binlog可能不完整;如果binlog完整也就不需要全量阶段了。
Closing this issue because it was created before version 2.3.0 (2022-11-10). Please try the latest version of Flink CDC to see if the issue has been resolved. If the issue is still valid, kindly report it on Apache Jira under project Flink
with component tag Flink CDC
. Thank you!