为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】 想请教下tikv的使用场景下和单独用单机rocksdb的数据文件区别
【应用框架及开发适配业务逻辑】
【背景】 做过哪些操作
【现象】 业务和数据库现象
【问题】 我们目前是单独用的rocksdb,不通的数据类型操作实例化多个不通的db文件去操作数据的,然后有个域id的区分,不通的域id回产生不同的比如100_accountdb.db文件隔离数据,不同的域中可能有相同的key去操作,但是如果换tikv这个场景是不是没有这个概念,对开发者没有不同db文件实例的操作,透明的,只能通过key的不同去区分(比如前面加域id-key),所有的操作机制拉平了,无法像单独用rocksdb那样的隔离操作呢,请熟知tikv底层相关的大佬解答下哈 多谢。
【业务影响】
【TiDB 版本】
【附件】 相关日志及监控(https://metricstool.pingcap.com/)
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
xfworld
(魔幻之翼)
2
我理解是不同的场景
看上图,如果你需要分布式能力,就可以使用 tikv 来满足
但是需要 rocksdb 的隔离能力 (我理解是规划场景时就设定好的),这个就不太适用了
如果能对 Key 的 组合方式进行隔离,来满足一套分布式的方案,也是可以的(自带高可用,多副本)
参考文档:
https://docs.pingcap.com/zh/tidb/stable/rocksdb-overview
再问下大佬,目前比较成熟的tikv的客户端api是哪个啊 我看clien-java和client-go更新维护的最全?client-c和client-cpp感觉没法上生产呢,我们的是c++的项目 如何去集成兼容tikv去替换别的存储呢 多谢。
你直接用 mysql的客户端就行 没区别的。tidb就完全兼容mysql5.7
xfworld
(魔幻之翼)
6
应该是 go 和 java 的client 版本,其中 go 的版本功能会更全一些
哪只能考虑通过 grpc 的协议来帮你完成这部分的调度和集成了
目前和 C++ 比较匹配的 rust 也没发官方版本,不推荐生产使用…
额 主要是之前就是直接操作的rocksdb的key-value操作的 没有表那些用法 为了最小成本兼容才用的tikv
system
(system)
关闭
8
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。