数据库管理-第414期 新年新版,金仓V9新版本内测试玩(20260320)

数据库管理-第414期 新年新版,金仓V9新版本内测试玩(20260320)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE
10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著 名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809
IFClub:胖头鱼的鱼缸
除授权转载并标明出处外,均为“非法”抄袭

914fcc7ad57defa7868c3be1ca7fb4f5.jpg
进入2026年,金仓即将推出KingbaseES V9(Oracle兼容版)的新版本(V009R002C014),我有幸收到金仓社区邀请,提前对KingbaseES V9新版进行内测。

1 版本对比

目前金仓官方网站提供的Kingbase V9(Oracle兼容版)的可直接下载最新版本为(V9R2C12-V009R002C012B0003),从版本尾号来看,金仓内部已经迭代了两个版本。
image.png
image.png
image.png

从本次获得的新版本对应文档来看,在C13和C14版本中,进行了不少功能与特性的新增以及缺陷修复,本期将从中选择部分内容(主要集中在SQL增强)进行测试。

2 部署环境

在本次测试环境中,我终于抛弃了之前常用的RHEL/CentOS操作系统,使用的openEuler 24.03 LTS SP3。
image.png

数据库安装也使用Oracle兼容模式。
image.png

3 SQL增强

3.1 XXX_SCHEDULER_JOBS

版本:V9R2C13
说明:新增兼容 Oracle 内置系统视图:USER|ALL|DBA_SCHEDULER_JOBS,可展示作业调度信息,提供用户对定时任务灵活的查看
和管理方式。存放在KDB_SCHEDULE模式下,查询时请使用"KDB_SCHEDULE.XXX_SCHEDULER_JOBS"。
视图结构
image.png

3.2 系统函数dump

版本:V9R2C13
说明:新增兼容Oracle内置系统函数dump,可方便地分析数据的内部存储格式,辅助诊断数据存储相关问题。
语法

dump("any") return varchar;
dump("any", integer) return varchar;

“any” :可以为任何类型的参数。
integer:可以为2,8,10,16。

返回解析的参数的类型的oid,类型长度以及类型对应的值。
integer指定要返回的类型的值的进制。

使用范例

select dump('123'::int,8);select dump('123',8);

image.png

3.3 timestamp

版本:V9R2C13
说明:timestamp类型数据输入严格保留数据写入时的原始微秒位数,不做额外的精度填充或截断,从而完整保留了
用户输入的数值精度。(实测可记录精度为6位)
image.png
image.png

3.4 分区移动

版本:V9R2C13
说明:兼容Oracle的分区表ROW MOVEMENT行移动功能,可在CREATE TABLE和ALTER TABLE语句中设置或修改行更新属性,并在行更新时自动执行检查约束,从而实现了分区表中行数据在不同分区间的自动迁移,确保数据更新后仍符合分区规则。这一功能使得分区修改后,无需人工将数据移动至对应分区,该工作有数据库自己完成。

3.5 truncate优化

版本:V9R2C13
说明:优化了TRUNCATE操作的处理逻辑,针对分区表,尤其是带有全局索引的分区表,在大数据量场景下,显著提升了TRUNCATE操作的执行效率。

3.6 IGNORE_ROW_ON_DUPKEY_INEX

版本:V9R2C14
说明:INSERT语句中新增IGNORE_ROW_ON_DUPKEY_INEX HINT支持。插入批量数据时,无需提前校验唯一键,冲突行可自动跳过,后续数据正常插入,大幅提升批量导入效率。(注意数据别搞错的前提下,是个好功能)

3.7 索引并行增强

版本:V9R2C14
说明:创建索引和更新索引语句新增支持PARALLEL子句,可指定并行进程数创建/更新索引,从而可根据业务场景灵活调整索引并行度,缩短索引创建与更新的耗时;支持NO PARALLEL关键字关闭索引并行创建功能,避免业务高峰期的资源占用,平衡系统性能。
image.png

3.8 索引可见性增强

版本:V9R2C14
说明:创建索引和更新索引语句新增支持索引可见性精细化管控能力,CREATE INDEX/ALTER INDEX支持VISIBLE/INVISIBLE设置和修改索引可见性;可通过GUC参数配置优化器是否使用不可见索引;支持系统视图和HINT适配该特性,实现了索引可见性的全生命周期管理。

4 其他亮点

这里选取一些个人觉得比较亮眼的地方。

4.1 弹性扩展

版本:V9R2C14
说明:新增支持单实例数据库在线弹性扩展为一主一备、一主多备或读写分离集群,并通过图形化工具实现便捷操作,提升系统可用性和容灾能力。

4.2 集群增量重建

版本:V9R2C14
说明:新增支持在集群环境下故障数据库的增量重建功能,通过高效的增量同步算法,仅同步并修复差异部分,提升故障数据库恢复效率,保证集群的高可用性。

4.3 同步限速

版本:V9R2C13
说明:读写分离集群新增支持在扩容与重做备库时控制克隆数据的同步速率,降低数据传输对主库的性能影响,同时保障数据同步正确、稳定。

其余关于性能、工具、缺陷修复等方面的内容就不做一一解读与展示,后续可查看官方文档查阅

吐槽

对金仓数据库还是有一个槽点的:
完整的超长版本号,简短版的还行;全市场版本和专项兼容版的版本号区分方式
这里也补充一下金仓数据库版本号命名规范:V是主版本号,R是特性版本号,C是通用版本号。
其中R表细分市场/客户类型,具体说明为:

  • R1:全市场版本 (混合体)
  • R2:Oracle兼容版
  • R3:Mysql兼容版
  • R4:SQLServer兼容版

总结

新年新版本,KingbaseES V9带来了诚意满满的升级。
老规矩,知道写了些啥。


请使用浏览器的分享功能分享到微信等