DM 的sync的方式能不能调整

  1. 直接把 update 换成 replace into不能做到幂等吗?我这个不太理解。
    → 参考 TiCDC

    ···
    CREATE TABLE t (a INT PRIMARY KEY, b INT);
    INSERT INTO t VALUES (1, 1);
    INSERT INTO t VALUES (2, 2);

    BEGIN;
    UPDATE t SET a = 3 WHERE a = 2;
    UPDATE t SET a = 2 WHERE a = 1;
    COMMIT;

    但 TiCDC 内部收到的 UPDATE 事件顺序可能与上游事务内部实际的执行顺序不同

    UPDATE t SET a = 2 WHERE a = 1;
    UPDATE t SET a = 3 WHERE a = 2;
    ···

  2. 那能不能把这1秒钟的values压缩成一条sql发到下游,而不是为了尽快发送到下游而发送了10条update或者insert。就是在dm中攒一会儿。
    → 其实没太理解这样做的意义,不过感觉你要的是这个 batch

1 个赞