TiFlash 组件的存储格式版本如何查看?

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v6.2
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】

background:

https://docs.pingcap.com/zh/tidb/stable/release-6.2.0#tidb-620-release-notes
TiFlash 引入新的存储格式 PageStorage V3,提升稳定性和性能。

question:
在部署完成的TiDB Cluster中,如何确认当前TiFlash使用的是哪个版本的PageStorage, v2 or v3? 有什么参数或哪里打印了版本号么?

感觉可能是这个,可奇怪的是6.5的值是2
```
TiDB root@10.18.13.224:test> show config where name like ‘%format_version%’;
±--------±-------------------±-------------------------------------------------±------+
| Type | Instance | Name | Value |
±--------±-------------------±-------------------------------------------------±------+
| tiflash | 10.18.13.226:3930 | raftstore-proxy.raft-engine.format-version | 2 |


回答有误,忽略吧 :upside_down_face:

你可以在 Grafana 监控查看是否还有表使用旧的数据版本:Tiflash summary > Page storage> Storage Pool Run Mode

  • Only V2:使用 PageStorage V2 的表数量(包括分区数)
  • Only V3:使用 PageStorage V3 的表数量(包括分区数)
  • Mix Mode:从 V2 迁移到 V3 的表数量(包括分区数)
    类似这个
    image

这样也可以,但是这个值怎么获取的呢。:crazy_face:

后续,
从Grafana可以看到都是OnlyV3, 比如下图,应该是有3个副本使用的是 PageStorage V3

另一方面,从TiFlash的log中,看到了 【run mode is 2】 字样,那么这个 2 是代表 V3 么,有点困惑?

[INFO] [Server.cpp:1093] ["Global PageStorage run mode is 2"] [thread_id=1]

在TiDB中,全局页面存储是用于存储跨多个TiDB实例之间共享的数据的一种机制。运行模式为2表示使用了分布式全局页面存储(Distributed Global PageStorage)模式。在此模式下,TiDB会将全局页面存储的数据分片存储在多个节点上,以实现高可用性和容错性。
PageStorage V3是TiDB中的最新版本的全局页面存储,它采用了分布式存储和TiKV存储引擎,相比PageStorage V2具有更高的灵活性和可伸缩性,但也需要更多的系统资源来支持。PageStorage V2使用RocksDB作为存储引擎,而PageStorage V3则使用TiKV作为存储引擎。
虽然这两个概念都与全局页面存储有关,但它们并不是同一个概念

请问还有其他mode么?比如 1?3? 没找到相关文档。。。

只有两种:1和2
1代表Standalone 模式
Standalone 模式是指 GPS 作为一个单独的存储引擎,独立运行在 TiDB 集群之外。在这种模式下,GPS 与 TiDB 集群之间通过 TiDB Binlog 进行数据同步,GPS 本身不参与 TiDB 的数据处理和计算。
2代表Embedded 模式
Embedded 模式是指 GPS 作为 TiKV 的一个模块,与 TiKV 共同运行在 TiDB 集群内。在这种模式下,GPS 与 TiKV 共享同一份数据,同时也共享 TiKV 的资源池(如 CPU、内存、磁盘等),可以提高整个集群的资源利用率
运行模式可以通过TiDB Server 配置文件的 [gps] 部分中的配置项 “run-mode” 进行指定
[gps]
run-mode = 2
但不建议修改这个参数,使用默认模式,也就是tikv模式即可

@ShawnYan 我不知道 @tidb菜鸟一只 的资料是哪里来的,看起来像是 chatgpt 生成的(但其实是错误的)

从 6.2 开始 TiFlash 默认升级到 PageStorage V3。已经存在的数据还是继续用 V2,新的数据会写入 V3。所以建议升级之后手动对所有包含 tiflash replica 的表执行一次 alter table xxx compact tiflash replica 参考: https://docs.pingcap.com/zh/tidb/dev/tiflash-620-upgrade-guide#从-v5x-或-v60-升级至-v62

对应的配置是,从 6.2 开始,默认 format_version = 4 # 包含 PageStorage V3

注意 format_version 是存储层的全局配置,PageStorage 是存储层的一个模块,所以版本号不是对应的

1 个赞

这GPS是个什么?

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。