【 TiDB 使用环境】测试
【 TiDB 版本】tidb 5.4.0
【复现路径】使用tikv java Client 写入数据,发现指定就算指定数据(Object[])和字段 (List)也是会进行先删后写的操作
【遇到的问题:问题现象及影响】
起因是这样的,最近使用flink JDBC sink 写tidb ,有写入瓶颈,考虑使用tikv java Client (KVClient)2PC 写入数据,发现三个问题:
1.发现指定就算指定数据(Object[])和字段 (List)也是会进行先删后写的操作
2.我们常用的使用场景,是upsert操作 (INSERT INTO **** ON DUPLICATE KEY UPDATE),这个语句写入数据后 tidb cdc 只有一条变更记录,但是如果使用 tikv clien 写入的话,就有两条数据,这样kafka 中的数据就会翻倍;
3.没有找到使用 tidb RawKVClient() encode & decode 相关内容,不知道这个api 是否可以实现我的需求,使用KVClient 的encode &decode 会报错,貌似两者的加密解密方式不一致;
tidb RawKVClient 只有一种操作就是 put,删除也是put ,是对这个数据打上了标记,
get 或者 scan 的时候,可以跳过这个标记的数据
只有在 compacting 的时候,才会执行 delete 操作…
以上和你理解的 tidb SQL 入口的操作模式是完全不一样的,就不用操心加密的事情了…
也就是说 tikv 设计本身就不可以实现update 操作
标准的 key/value , nosql 的范式
看怎么用了…
所以有很多种场景,tidb 都很合适,但是要用对地方…
如果对于场景有更多的设想和要求,不妨提出你的想法,我相信 产品的大佬们会看到你的需求的…
明白了,我再梳理一下我的需求,非常感谢解惑
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。