特性介绍
标准SQL支持
支持标准的SQL92/SQL99/SQL2003/SQL2011规范,支持GBK和UTF-8字符集,支持SQL标准函数与分析函数,支持存储过程。
数据库存储管理功能
支持表空间,可以把不同表规划到不同的存储位置;企业版支持Ustore、Astore、MOT等多种存储引擎。
提供主备双机
事务支持ACID特性、单节点故障恢复、双机数据同步、双机故障切换等;企业版还提供了CM工具,支持数据库实例状态查询、主备切换、日志管理、VIP管理、集群状态查询和推送等。
资源池化
支持基于共享存储、共享内存的资源池化架构,实现备机读实时一致性。
应用程序接口
支持标准JDBC 4.0特性、ODBC 3.5特性,支持Python、Go连接驱动,支持MySQL协议兼容。
管理工具
提供安装部署工具、实例启停工具、备份恢复工具、扩缩容工具、升级工具,支持数据全生命周期生产工具DataKit,支持MySQL和Oracle全量/增量/反向迁移工具和数据校验工具。
安全管理
支持SSL安全网络连接、用户权限管理、密码管理、安全审计、细粒度ANY权限控制、TLCP协议等功能,保证数据库在管理层、应用层、系统层和网络层的安全性。
AI智能化
企业版支持参数自调优、慢SQL发现、单query索引推荐、虚拟索引、workload索引推荐、数据库指标采集、预测与异常监控等功能;库内AI原生引擎支持10+高性能机器学习算法。
新增特性
此处说明的是openGauss 7.0.0-RC1版本,在6.0.0 LTS版本功能的基础上,新增如下特性:
高性能:支持行列转换功能
- 主备集群场景下,支持备节点形成行列双格式内存形式。针对主节点的行级修改,备节点通过日志同步主节点修改,将对应修改写入增量表中。同时,备节点后台启动的同步线程,将增量表中存储的行存修改同步至列存缓存中。用户在备节点发起的OLAP大型数据分析请求,将先通过逻辑判断是否已有查询表的列缓存数据,并根据代价计算形成基于列缓存的查询计划。HTAP 行列融合
高性能:SMP并行查询增强,Astore批量IUD场景支持并行
-IUD场景下stream算子上移,提升并行效率,性能提升50%以上。SMP并行执行
高性能:子事务场景性能提升
- Multixact相关的SLRU buffer大小支持可配置,同时通过SLRU分bank优化,提升大量子事务场景下的性能100%+。子事务TPCC性能调优
高性能:支持自动参数化
- 在需要反复执行相似/相同的SQL简单语句的情境下,通过复用执行计划缓存以减少SQL语句的执行时间。自动参数化
高可用:CM集群管理组件增强。CM
- CM 集群管理组件支持在资源池化场景下,通过CM检测reform阶段内核是否hang住。
- CM支持安装管理IPV6的数据库集群。
- DCC支持节点间数据build,支持通过cm_ctl触发build操作,解决CMS节点DCC不一致引发的CMS状态异常问题。
高安全:支持禁止非owner用户远程执行DDL操作
- 新增 enable_nonowner_remote_ddl 参数,当参数为 off 时,禁止被授予 DDL 权限的用户远程进行 DDL 操作。其他选项
高智能:向量数据库功能集成至openGauss内核。DataVec向量引擎
- 支持原生向量存储,支持IVF-FLAT/IVF-PQ/HNSW/ HNSW-PQ等向量索引类型。
- 支持向标量融合查询,基于CBO生成最优计划。
- ANN索引支持并行构建,提升处理大规模数据集的效率。
资源池化:支持虚拟机方式部署
- 资源池化集群支持部署在DCS虚机以及云虚拟化机器上。
资源池化:支持xlog日志合一
- 单、双集群下每个节点不再区分对应的xlog日志,解决切主后xlog浪费空间,以及备机不回收xlog的问题。
资源池化:实时构建支持流控
- 在资源池化实时构建场景适配recovery_time_target参数。该功能只在资源池化的主节点有效,开启该功能后,备机会定时向主机发送备机实时构建的最新wal日志的lsn,主机根据连续几次接收到的lsn估算RTO,当识别到当前实时构建的构建速度难以满足目标RTO时,会对主机业务做适当限制,以缓解备机实时构建压力,缩短RTO。极致RTO按需回放
资源池化:支持主备参数同步
- 资源池化场景下,在主机修改GUC配置文件后,无需手动在备机修改即可同步给备机,同时也支持扩容出来的新节点的配置文件自动同步。资源池化支持主备参数同步
资源池化:支持页式存储
- 资源池化支持页式、段页式存储共存,对于段页式支持的特性,建表时直接创建为段页式表;对于段页式不支持的特性,建表时候自动创建为非段页式表,用户无感知。
资源池化:支持双集群缩容至单集群
- 支持在网络复制、存储复制情况下,由资源池化双集群缩容至单集群。gs_ddr
资源池化:支持XLOG归档
- 在资源池化单集群场景下,开启归档相关参数后,XLOG会持续进行归档操作。当发生故障后,可以通过gs_probackup工具和归档的XLOG进行PITR恢复。资源池化XLOG支持归档
资源池化:可维护性增强
- 支持查看mes线程的信息:基于pg_thread_wait_status视图进行增强,可以支持查看mes线程的信息,支持查看当前资源池化流程正在请求、失效的页面等信息。PG_THREAD_WAIT_STATUS
- 轻量级锁视图:实现gs_lwlock_status函数,能够查看轻量级锁的等锁持锁信息,当前有多少轻量级锁正在等待、被持有、持有会话、轻量级锁详细信息(唯一id、名称、持锁时间)等。统计信息函数
企业级特性:行存压缩功能增强。支持OLTP场景数据压缩
- OLTP场景下,对行存表(包括Ustore和Astore)的数据和索引页面,openGauss提供基于通用压缩算法的透明页压缩功能,降低磁盘空间占用的同时保持OLTP场景下的高性能。
- 支持段页式行存表压缩。
企业级特性:SQL功能增强
- 支持CROSS/OUTER APPLY JOIN语法,用于返回左侧表达式的每一行和右侧表达式的匹配行。SELECT
- 支持JSON_EXISTS、 JSON_TEXTCONTAINS表达式。JSON-JSONB函数和操作符
- 支持修改/删除视图引用的对象(如表、列、函数、视图等)后,将视图置为无效状态。DROP-TABLE、DROP-FUNCTION
- 支持多个会话并发插入interval分区时,如果多个会话都涉及分区自动扩展动作,不会发生卡死问题。使用gsql元命令导入数据
企业级特性:存储过程能力增强
新增插件
- 新增GMS_XMLGEN插件,用于将sql查询结果转换成规范的xml格式。支持sql query字符串或者游标作为输入,并将结果以clob类型或者xmltype类型返回。gms_xmlgen
- 新增GMS_SQL插件,用于执行动态SQL,支持使用DDL和DML等。gms_sql
- 新增GMS_TCP插件,提供TCP/IP级别的网络编程功能,允许数据库直接进行网络通信操作。gms_tcp
- 新增GMS_COMPRESS插件,为用户提供了将文本行写入内存、供以后提取和显示的功能。gms_compress
- 新增GMS_INADDR插件,为用户提供了获取主机地址或者主机名称的功能。gms_inaddr
- 新增GMS_UTILITY插件,为用户提供了各种实用的程序和函数。gms_utility
- 新增GMS_RAW插件,用于对十六进制raw类型数据进行转换和操作。gms_raw
- 新增GMS_MATCH插件,用于比较两个字符串之间的相似度。gms_match
- 新增GMS_ASSERT插件,为用户提供了验证输入值的功能。gms_assert
- 新增GMS_LOB插件,用于处理LOB(大对象)数据的一部分。gms_lob
- 新增GMS_DEBUG插件,用于实现服务器端调试器,提供一种调试服务端PL/SQL程序单元的方法。gms_debug
- 新增shark插件,openGauss的D兼容性数据库(dbcompatibility='D')扩展,旨在兼容D库语法。shark
内核工具:OM工具增强
- OM工具中用到的SSH SCP等相关通信工具支持用户自定义端口,避免部分环境无法使用默认22端口的问题。支持自定义ssh端口
- OM工具支持记录升级历史记录。灰度升级
DataKit:录制回放功能增强。录制回放工具
- 支持录制回放的结果对比,支持每条SQL录制回放的结果对比。
- 支持录制和回放流程流式处理。
- 支持采集openGauss流量。
- 录制回放工具集成到Datakit。
DataKit:迁移工具增强
- 支持PostgreSQL到openGauss的迁移能力(暂未集成至datakit,提供单独的二进制工具)。
- 易用性增强,支持实时收集后端各个迁移过程中的异常、告警等信息并展示到前端页面上。
DataKit:安装部署优化。DataKit
- 支持添加IPV6实例。
- 安装过程解除对root权限的依赖。
DataKit:对象管理。业务开发
- 支持保存和引用代码片段。
- 支持数据库对象授权/撤销能力。
- 结果页新增导出结果按钮、新增文本框来展示当前执行的sql。
兼容性:MySQL语法兼容性增强
7.0.0-RC1版本继续增强对MySQL的兼容,实现用户应用近似零修改迁移。
- 兼容 no_auto_value_on_zero 配置,当遇到往自增字段插入0值时,检查该参数,从而确认插入0值,还是插入自增值。no_auto_value_on_zero
- 支持RENAME TABLES语法。