关于TiKV raw API与事务API混合使用的一些疑问

你好!

我们注意到无论是Raw API还是事务 API,真实的数据都是写入了 default 这个默认的 Column Family 中。由于这两种API对于Key的编码不同,因此当RawAPI与事务API混合使用时,Iteration操作可能会存在问题。

那么,假如我将RawAPI的数据写入一个独立的 Column Family 中,而事务API保持不变,是否就可以规避以上问题?如果可以,那么我除了需要增加新的CF,修改RawAPI Get/Put流程以及为Region SplitChecker检查增加新的CF以外,我还需要修改那些模块?望指教,谢谢!

Hi,

如果有兴趣可以加到 Engine SIG,加入及时沟通平台,与一线研发工程师面对面沟通下,加入方式:

  1. 加入 Slack
  2. 加入聊天群 - Engine SIG

对于本问题:

  • 目前 TiKV 不支持创建 CF。
  • 增加一个 CF 还需要考虑到 TiKV 的 Raft Leader 向 Learner 发送 Snapshot 以及 Region 迁移的时候清除数据都涉及到对各个 CF 的修改。
  • 这里有一个支持 Bigtable 的 TiKV Proposal,或许能满足你的需求,欢迎你也参与到 VersionKV 的开发中来:https://github.com/tikv/tikv/issues/7295
1赞