新入职的公司在使用canal和otter做数据同步,我之前没有用过这两个中间件,只知道MySQL主从复制。在我看来,MySQL的主从复制不就是一种数据同步吗?canal+otter的数据同步和MySQL的主从复制有什么不同?为什么要用它们?
新入职的公司在使用canal和otter做数据同步,我之前没有用过这两个中间件,只知道MySQL主从复制。在我看来,MySQL的主从复制不就是一种数据同步吗?canal+otter的数据同步和MySQL的主从复制有什么不同?为什么要用它们?
canal+otter 你可以同步到 oracle/mysql,还可以再同步过程中插入你自己的逻辑,比如过滤,或者转存其他存储;但 mysql 主从复制,你只能复制到 mysql,啥也干不了
canal+otter的话可以实现数据同步到对端非mysql数据源类型的数据库。使用mysql主从复制的话只能是mysql之间的主从复制。
canal的话相当于模拟了一个slave,然后将数据解读出来可以按照自己的需要同步到想要的数据库里面。
还有一个产品CloudCanal的话也是可以完成canal类似的功能,产品化比canal的话要做的更好。
7 回答5.3k 阅读
5 回答3.2k 阅读✓ 已解决
4 回答4k 阅读
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
2 回答798 阅读✓ 已解决
原理
canal+otter同步的本质原理和MySQL主从复制是相同的。
canal
相当于I/O Thread
otter
相当于SQL Thread
区别
ElasticSearch
等