DTCC 南大通用分享GBase 8s数据库的内核自研成果

2026年8月20-22 日,由 IT168 联合旗下ITPUB、ChinaUnix两大技术社区主办的第17届中国数据库技术大会(DTCC 2026)在北京召开,GBASE南大通用携GBase全栈数据库产品(gbase database)创新成果与行业解决方案亮相。

南大通用GBase 8s产品经营部总经理杨蔚在「数据库内核及前沿技术创新」专场发表题为《一款支持HTAP的BITMAP索引以及围绕生产环境的内核创新》的主题演讲。

HK-Tree:为低基数场景而生的HTAP位图索引

文章配图-1

演讲首先聚焦GBase 8s自主研发的HK-Tree(High-density Key Tree)索引技术。

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

文章配图-1

“我们想做的是一件事:让索引同时具备高速写入、高速读取和高密度存储这三项能力。”杨蔚讲道。

这就是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:应用对节点切换无感知的高可用方案

文章配图-1

“很多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亲和优化

文章配图-1

演讲的最后一部分,杨蔚谈到了现代多路服务器中一个容易被忽视的性能瓶颈——NUMA架构

“多路服务器的内存不是一块整体,不同CPU访问不同内存区域的代价是不一样的。如果调度不合理,性能损失可能非常惊人。”杨蔚解释道。

GBase 8s的NUMA亲和优化涉及多个维度:Buffer Pool、Memory Pool和各类Cache的全局共享与局部访问平衡,进程和线程调度的灵活性与局部性兼顾,以及多表Join和并行算子的局部性优化。在某4NUMA环境测试中,优化前TPmC为41万,优化后提升至110万,性能提升显著。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值