2026年8月20-22 日,由 IT168 联合旗下ITPUB、ChinaUnix两大技术社区主办的第17届中国数据库技术大会(DTCC 2026)在北京召开,GBASE南大通用携GBase全栈数据库产品(gbase database)创新成果与行业解决方案亮相。
南大通用GBase 8s产品经营部总经理杨蔚在「数据库内核及前沿技术创新」专场发表题为《一款支持HTAP的BITMAP索引以及围绕生产环境的内核创新》的主题演讲。
HK-Tree:为低基数场景而生的HTAP位图索引

演讲首先聚焦GBase 8s自主研发的HK-Tree(High-density Key Tree)索引技术。
在数据库索引技术领域,B+Tree长期占据主导地位,但在低基数场景下存在明显短板:存储效率偏低,索引遍历时回表效率不足。传统位图索引虽能改善低基数存储效率,却无法支持高并发DML操作,不支持HTAP混合负载,仅适用于冷数据或离线数据分析。

“我们想做的是一件事:让索引同时具备高速写入、高速读取和高密度存储这三项能力。”杨蔚讲道。
这就是HK-Tree(High-density Key Tree)的设计初衷。
它的核心思路并不复杂:把原本零散的回表操作优化为批量预读,同时赋予索引GROUP与SORTED属性,并完整支持事务和MVCC机制。换句话说,HK-Tree可以在所有低基数场景中直接替换传统B+Tree,尤其在宽表多列条件查询的场景下,性能优势可以达到指数级。
杨蔚现场展示了一组基于3.6亿行数据的实测结果。在基数范围100到5000的条件下,HK-Tree在插入、更新、宽表多索引查询以及聚合查询等场景中均表现优异。测试覆盖了等值查询、范围查询、多条件组合查询,以及COUNT、DISTINCT、GROUP BY等典型分析操作。这些数据验证了一点:HK-Tree在HTAP混合负载下是经得起考验的。
TAC:应用对节点切换无感知的高可用方案

“很多DBA都经历过这样的凌晨:主节点挂了,应用报错,电话被打爆,手忙脚乱切节点。”杨蔚说,“我们能不能让应用层对切换完全没有感知?”
GBase 8s给出的答案是TAC(Transaction Augmented Continuity)。
TAC的核心价值在于实现应用层对数据库节点切换的无感知。用户只需在URL中配置任一节点IP,无需区分主备。当切换发生时,TAC通过三层连续性保障确保业务不中断:会话连续、事务连续、当前SQL连接连续。
“不管是共享存储架构还是主备架构,不管是查询、增删改还是DDL操作,TAC都能覆盖。”杨蔚补充道,“即使在部分需要主动回滚事务的场景下,会话本身也是保持不断的,应用端不会掉线。”
列存引擎与高并发优化
在分析型负载的处理上,GBase 8s引入了兼容Oracle In-Memory Column的内存化列存引擎。
“你可以把它理解为行存数据的一个高速快照。”杨蔚打了个比方。列存数据作为行存的准实时同步副本,支持持久化换入换出,也可以只选择部分列进行列存化。当分析类SQL进来时,系统会自动把它路由到列存引擎执行,查询效率因此得到明显提升。
而在高并发场景下,GBase 8s的思路是“系统性工程优化”——不是单点打补丁,而是从架构层面重新设计。
具体做法包括:打破传统数据库的阻塞式资源访问模式,把事务处理流程拆解重构,广泛应用无锁化编程;引入AUTO TUNE技术,让资源配置能够动态调整;同时部署限流机制,防止流量突增引发雪崩。
NUMA亲和优化

演讲的最后一部分,杨蔚谈到了现代多路服务器中一个容易被忽视的性能瓶颈——NUMA架构。
“多路服务器的内存不是一块整体,不同CPU访问不同内存区域的代价是不一样的。如果调度不合理,性能损失可能非常惊人。”杨蔚解释道。
GBase 8s的NUMA亲和优化涉及多个维度:Buffer Pool、Memory Pool和各类Cache的全局共享与局部访问平衡,进程和线程调度的灵活性与局部性兼顾,以及多表Join和并行算子的局部性优化。在某4NUMA环境测试中,优化前TPmC为41万,优化后提升至110万,性能提升显著。

1055

被折叠的 条评论
为什么被折叠?



