#23.2.12

# 版本定位

YashanDB v23.2.12版本在v23.2.11的基础上丰富了新特性与持续进行性能优化,为可用于长期服务支持的版本。

# 版本说明

版本号:v23.2.12

发布时间:2025 年 5 月 29 日

# 新增功能

YashanDB v23.2.12版本继承自YashanDB v23.2.10版本全部发布的功能,同时新增以下关键能力特性:

# SQL引擎增强

  • 支持RATIO_TO_REPORT函数,用于分析函数,主要用于计算某个值相对于分组内所有值总和的比率,通过计算每个值在分组中的占比,可以直观地了解数据的分布特征。

  • 支持TO_SINGLE_BYTE函数,用于将字符串中的多字节字符(例如全角字符)转换为等价的单字节字符(例如半角字符)。方便处理包含中日韩等字符集,对在处理需要兼容单字节字符集的场景有较大作用。

  • 支持TO_CLOB函数,用于将其他数据类型转换为大对象类型,适用于存储超长文本、JSON数据等。

  • REPLACE函数将源字符串expr中所有的源字符串替换为目标字符串,返回一个VARCHAR类型的新字符串。在v23.2.12版本之前,在源字符串expr超过32000字节时处理失败,为了扩大使用场景,该版本支持了对CLOB/NCLOB数据进行处理,实现支持更大处理规格。

  • 支持RAWTOHEX函数,用于将RAW类型的数据转换为十六进制字符串表示。将不可读的二进制数据转换为可读的十六进制格式,便于调试和分析。

# 分布式能力

  • LSC表支持空间的及时回收与复用:该版本对LSC表的空间管理进行优化,在申请空间时,优先使用可回收利用的空间,减少膨胀;在空间不足时,后台线程支持强制复用,保证业务的成功;采用更加积极的后台空间回收策略,执行效率更加高效。

  • LSC表支持大JSON字段的计算:该版本列存对处理JSON能力增强,分布式JSON计算包含JSON、JSON_ARRAY_GET、JSON_ARRAY_LENGTH、JSON_EXISTS、JSON_QUERY、JSON_VALUE以及JSON_SERIALIZE函数的计算结果返回值长度支持32KB,并支持INSERT INTO SELECT和CREATE TABLE AS对JSON函数的计算结果进行插入。

# 易用性

  • 该版本通过对按照部署流程优化,支持在部署时提前检查和校验数据库参数、环境信息、服务器资源等是否匹配,避免在发起部署后由于依赖和异常项不满足而失败。提高易用性。

  • 在v23.2.12版本之前,在做重建备库、备份等操作时,可能会出现因前置条件不满足导致发起长时间后执行失败,影响体验。该版本通过支持提前检查依赖和异常项,实现备份恢复、创建/重建备库等操作在备份路径错误、恢复路径错误、重建备库时datafile未清理和build备库redo未清理等场景时可以提前报错,节省了用户时间,提高易用性。

  • AWR支持设置TOPSQL的数量:通过dbms_awr新增modify_snapshot_settings函数,支持exec dbms_awr.modify_snapshot_settings(topnsql=>100);设置AWR的TOPSQL输出行数,默认为30,可以更灵活展示AWR的TOP SQL的数据。

  • SLOWLOG支持打印完整的SQL和绑定变量:在v23.2.12版本之前,YashanDB的慢日志的SQL最大长度为2000字节,导致超长SQL未能完全输出,无法获得SQL全部文本。为了使用慢日志更方便定位问题,该版本支持打印更长的SQL文本,并且在慢日志中打印绑定变量,提高慢日志的易用性。

  • 支持SQL语句跟踪功能(10046事件):通过支持设置10046事件即SQL TRACE能力,例如'10046 TRACE NAME CONTEXT FOREVER, LEVEL 12',记录SQL语句执行过程中的统计信息,包括解析、执行、提取、提交、回滚、响应时间、服务时间、处理的行数,物理读和写的数目、执行计划以及其它额外信息。用于进行SQL跟踪,分析SQL在执行过程的消耗分布等执行细节和性能数据,有效帮助用户定位问题和优化SQL执行计划。

# 驱动

  • ODBC驱动增强:

    • YashanDB在该版本对ODBC驱动能力增强和优化,通过在odbc.ini文件中,URL列配置多个目标数据库IP端口,实现支持主备集群故障切换后自动连接到主库的能力。

    • SQLColAttributeW支持获取属性SQL_DESC_BASE_TABLE_NAME和SQL_DESC_AUTO_UNIQUE_VALUE。

    • SQLFetchScroll支持入参为SQL_FETCH_FIRST。

    • ODBC支持标量函数:

      • IFNULL:用于判断一个表达式是否为NULL,如果该表达式的值为NULL,则返回指定的替代值;如果不为NULL,则返回该表达式本身的值。

      • CONCAT:用于将多个字符串连接成一个字符串。它可以接受多个字符串作为参数,并按顺序将它们连接起来。

      • SUBSTRING:允许指定起始位置和长度,从一个字符串中截取一部分内容。

      • LEFT:从string_exp中从头开始截取n个字符长度的字符串。

  • 支持geoserver 2.23.3版本的方言包:为了满足不同场景的诉求,YashanDB支持GeoServer 2.23.3版本,通过提供gt-jdbc-yashandb-xxx方言包和YashanDB JDBC驱动,用户可在GeoServer进行配置后,选择YashanDB为数据库源,可进行访问读取矢量数据,发布图层等操作。

edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流