帮你快速理解、总结文档立即下载

参数配置与监控项

最近更新时间:2026-08-28 17:25:01
我的收藏
本文为您介绍列存索引 CSI 的参数配置和监控项。

前提条件

内核版本为 TDSQL-C MySQL 版8.0 3.1.20.001及以上。
说明:
针对只读实例而言,符合版本要求的情况下,4核以上的只读实例才可以开启列存索引功能。

参数列表

参数名
类型
默认值
取值范围
说明
columnstore_enable
boolean
OFF
OFF / ON
是否开启列式存储。
ON:开启。
OFF:关闭。
columnstore_enable_query_execution
boolean
OFF
OFF / ON
是否开启列式计算。
ON:开启。
OFF:关闭。
columnstore_enable_proxy_forward
boolean
OFF
OFF / ON
数据库代理自动分流大查询到列存节点(业务接入数据库代理)。
ON:开启。
OFF:关闭。
columnstore_cost_threshold
numeric
100000
0 - 1.7976931348623157e308
大查询的阈值。
columnstore_prm_memory_pool_size
integer
1GB
1MB - 100GB
行列转换缓存(内存)。
columnstore_buffer_pool_size
integer
1GB
1MB - 16EB
列式数据缓存(内存)。
columnstore_ap_buffer_limit
integer
10GB
1GB - ≈16EB
列式计算缓存(内存)。
columnstore_local_disk_usage_limit
integer
1TB
1MB - 1PB
列式数据缓存(磁盘)。
columnstore_ap_max_temp_directory_size
integer
0
0 - ≈16EB
列式计算缓存(磁盘)。
说明:
当前列式计算只支持列式存储,还不支持直接从行存读数据。

行列分流参数设置

数据库代理模式(通过数据库代理转发查询到列存 RO 节点):开启数据库代理后,在数据库代理模式下支持负载均衡和跨节点行列分流,列存节点在数据库代理中注册为列存 RO。
直连模式(直连列存 RO 节点):直连列存节点时会在节点内行列分流,但是列存节点需要规划足够的行存和列存资源,直连模式不支持故障切换。
参数
纯行存
RW
行存 RO
列存 RO
说明
columnstore_enable
OFF
ON
OFF
ON
允许列存管理数据(RW 只维护元数据)。
columnstore_enable_query_execution
OFF
OFF
OFF
ON
允许列存执行 SQL。
columnstore_enable_proxy_forward
OFF
ON
ON
ON
节点参与数据库代理分流。

节点资源参数设置

全局资源参数在 RW 上自动忽略,在 RO 上受列存存储和计算开关控制,关闭时无资源开销。设置参考如下:
# 全局参数 (RW 忽略)
columnstore_buffer_pool_size = <MEM*0.3>
columnstore_ap_buffer_limit = <MEM*0.1>
columnstore_prm_memory_pool_size = <MEM*0.02>
columnstore_local_disk_usage_limit = <MEM*3>
columnstore_ap_max_temp_directory_size = <MEM>

行存节点默认配置

行存节点关闭列式存储和计算,不识别大查询,也不参与转发。设置参考如下:
# 纯行存模式
columnstore_enable = OFF
columnstore_enable_query_execution = OFF
columnstore_enable_proxy_forward = OFF

# 行存资源参数
innodb_buffer_pool_size = <MEM*0.75>

RW 节点配置(开启列存,参与行列分流)

RW 节点开启列式存储,但只维护元数据,不存储列式数据。RW 参与行列分流,识别并转发大查询到列存节点执行。设置参考如下:
# 列存 RW 参数
columnstore_enable = ON
columnstore_enable_query_execution = OFF
columnstore_enable_proxy_forward = ON

# 行存资源参数
innodb_buffer_pool_size = <MEM*0.75>

# 全局参数 (RW 忽略)
columnstore_buffer_pool_size = <MEM*0.3>
columnstore_ap_buffer_limit = <MEM*0.1>
columnstore_prm_memory_pool_size = <MEM*0.02>
columnstore_local_disk_usage_limit = <MEM*3>
columnstore_ap_max_temp_directory_size = <MEM>

行存 RO(参与行列分流)

行存 RO 节点不规划资源在列存存储和执行上,但是参与行列分流,识别并转发大查询到列存节点执行。设置参考如下:
# 行存 RO 参与行列分流
columnstore_enable = OFF
columnstore_enable_query_execution = OFF
columnstore_enable_proxy_forward = ON

# 行存资源参数
innodb_buffer_pool_size = <MEM*0.75>

列存 RO 节点路由配置(列式执行 SQL)

列存 RO 分配资源到存储和计算,接收转发或直连的大查询。缓存需要根据节点规格按比例设置。
注意:
在行存节点上,默认 innodb buffer pool 为节点内存的75%,在列存节点上,这75%应由列存和行存分享。
# 列存 RO 参数
columnstore_enable = ON
columnstore_enable_query_execution = ON
columnstore_enable_proxy_forward = ON

# 行存资源调整,需要划一部分给列存
innodb_buffer_pool_size = <MEM*0.3>

# 全局参数 (列存 RO 有效)
columnstore_buffer_pool_size = <MEM*0.3>
columnstore_ap_buffer_limit = <MEM*0.1>
columnstore_prm_memory_pool_size = <MEM*0.02>
columnstore_local_disk_usage_limit = <MEM*3>
columnstore_ap_max_temp_directory_size = <MEM>

列存索引 CSI 监控项

中文指标名
英文指标名
单位
聚合方式
含义
列存索引执行语句数
Innodb_csi_select_pushdown
SUM
已执行的列存查询语句数量。
列存索引回退语句数
Innodb_csi_select_fallback
SUM
列存索引回退语句数量。
列存索引同步延时
innodb_csi_lag_seconds
MAX
rw 与 CSI 实例同步延时。
列索引存储使用量
Innodb_csi_disk_usage
GB
MAX
列索引存储使用量。
创建 CSI 失败数
txsql_csi_fail
SUM
创建列存索引失败个数。