GBase 8s 位图索引 TAC 事务高可用功能使用讲解

📅 2026/7/24 12:55:43
GBase 8s 位图索引  TAC 事务高可用功能使用讲解
GBase 8s 内置位图索引、TACTransaction Augmented Continuity两大核心能力分别针对性优化低基数字段检索、集群主备切换事务无损接管场景。 本文整合官方原生文档完整介绍两项功能的适用场景、语法、服务端与客户端配置、连接示例方便开发、运维人员快速落地使用。一、位图索引新增位图索引功能适用低基数数据场景--为t1表的c1字段创建位图索引t1_c1 CREATE BITMAP INDEX t1_c1 on t1(c1);二、TAC 功能TACTransaction Augmented Continuity使用中的基本要求TAC 支持 HAC 和 SSC 集群且 HAC 集群逻辑日志复制方式需设置为 NEAR_SYNC 的方式TAC 支持隔离级别 READ COMMITEDserver 端和 jdbc 端需同时配置为 TACTAC 功能才能开启。server 端参数配置server 端的参数位于配置文件 $GBASEDBTDIR/etc/onconfig.servername (servername 为实例名后缀)具体参数如下参数名参数含义默认值TC_ENABLE是否开启 TAC 1 开启 0 关闭1TC_TIMEOUT在发生主备切换时新主等待 TAC 连接到新主的超时时间如果在等待时间内连接没能连接到新主上时未完成的事务将会回滚并放弃单位秒。30jdbc 端参数配置默认情况下 jdbc 会自动检测 server 是否支持 TAC从而决定是否开启 TAC 功能。同时 jdbc 会提供一些配置参数用于优化 TAC 场景。以下参数均为 url 参数设置。参数名参数含义默认值TC_ENABLE配置是否自动检测并开启 TAC 功能0 关闭 TAC1 自动检测0TC_MAX_TX_LIMIT大事务限制条数事务内超过该设置条数 sql该事务将放弃 TAC5000TC_TIMEOUT配置等待连接重连的时间超过该时间未能切换到新的接管节点则放弃。单位秒。40TC_RS配置是否开启对结果集的 TAC 支持0 不开启1 则开启0TC_TRACE配置 TAC 相关日志输出级别用于 debug 分析问题。0 不输出可选建议为 101,105,1100连接串示例jdbc:gbasedbt-sqli://172.17.102.62:12000/db1:TC_ENABLE1;TC_RS1;TCTRACE101;总结位图索引专门适配性别、状态、类型等低基数字段一条 SQL 即可创建大幅提升等值、多条件筛选查询速度不建议在唯一值、高基数字段使用。TAC 事务增强连续性面向 HAC/SSC 集群主备切换场景需要数据库服务端与 JDBC 客户端配套配置可实现故障切换时事务平滑接管减少业务中断、事务回滚概率适合金融、政务等对事务一致性要求高的核心业务。大家在使用过程中若遇到位图索引更新性能下降、TAC 切换后事务回滚、JDBC 未生效等问题可在社区评论区留言后续会补充对应排查方法与调优实践案例。