【 使用环境 】测试环境
【 其他组件 】ObLogProxy
【 使用版本 】
【问题描述】
希望使用oblogproxy的CDC实现双向同步,如OceanBase<->mysql,当前主要的问题在于,我自身的监听程序,在同步数据写入OceanBase时,能不能对OceanBase实现row数据实现特殊的标注,实现知道是同步工具写入的数据,不是业务写入,不在进行同步,例如执行的时候带/hint/ 这类型的方法,后续可以实现过滤,避免数据复制死循环。
建议使用 OMS 社区版,目前支持 MySQL 与 OceanBase 社区版之间的双向同步。
对于您描述的场景,目前没办法实现,原因是 SQL 中的 hint 目前是不带入 oblogmsg 消息体的,所以即便插入时带了 hint,libobcdc 接收到的增量日志消息体(ROW变更记录)依然是没有 hint 标记的。
1 个赞
OMS社区版本,是基于MYSQL BINLOG的方式实现的双向吗?
OMS 社区版不依赖于 OceanBase Binlog Service,对于 OceanBase 数据库是直接通过 libobcdc 获取 clog,对于 MySQL 就是一般的 Binlog 订阅。双向同步的去环是通过维护一张额外的事务表来实现的,跟开源的 otter 的实现比较类似。
1 个赞