特性介绍

  • 标准SQL支持

    支持标准的SQL92/SQL99/SQL2003/SQL2011规范,支持GBK和UTF-8字符集,支持SQL标准函数与分析函数,支持存储过程。

  • 数据库存储管理功能

    支持表空间,可以把不同表规划到不同的存储位置;企业版支持Ustore、Astore、MOT等多种存储引擎。

  • 提供主备双机

    事务支持ACID特性、单节点故障恢复、双机数据同步、双机故障切换等;企业版还提供了CM工具,支持数据库实例状态查询、主备切换、日志管理、集群状态查询和推送等。

  • 应用程序接口

    支持标准JDBC 4.0特性、ODBC 3.5特性。

  • 管理工具

    提供安装部署工具、实例启停工具、备份恢复工具、扩容缩容工具、升级工具。

  • 安全管理

    支持SSL安全网络连接、用户权限管理、密码管理、安全审计、细粒度ANY权限控制等功能,保证数据库在管理层、应用层、系统层和网络层的安全性。

  • AI智能化

    企业版支持参数自调优、慢SQL发现、单query索引推荐、虚拟索引、workload索引推荐、数据库指标采集、预测与异常监控等功能;库内AI原生引擎支持10+高性能机器学习算法。

新增特性

此处说明的是openGauss 3.1.0版本,在3.0.0版本功能的基础上,新增如下特性:

  • 基础算子性能提升

    • 新选择率模型典型场景准确率提升1X,性能提升1X。
    • 分区表页面估算优化典型场景性能提升20%。
    • Partition Iterator算子优化典型场景性能提升5%。
    • 函数依赖特性支撑多列查询典型场景准确率提升1X。
    • SeqScan算子优化典型场景性能提升10%。
  • 两地三中心跨Region容灾

    针对两地三中心跨Region容灾特性新增基于流式复制的异地容灾解决方案。

    • 支持灾备数据库failover,满足主备集群异地网络时延<=100ms时,数据库典型配置下灾备升主RTO 分钟级,RPO ≈ 0。
    • 支持容灾主备数据库实例计划内switchover,满足主备集群异地网络时延<=100ms时,数据库典型配置下主备倒换,RTO 分钟级,RPO=0。
  • CM支持对外状态查询和推送能力

    • 通过http/https服务远程查询到集群的状态,便于管理人员、运维平台等监控集群状态。
    • 在数据库集群发生切主事件时,通过http/https服务及时地将集群最新的主备信息推送到应用端注册的接收地址,便于应用端及时的感知到集群的主备变化,从而能够快速的连接到新的主机和备机。
  • DCF支持策略化多数派

    DCF支持策略化多数派能力,以多数派为前提,同时根据用户配置的AZ,保证AZ内至少有一个节点同步复制日志。

  • DBMind自治运维平台

    构建端到端自治运维平台:新增异常检测能力,完善自监控、自诊断、自调优能力。

    • DBMind服务化:提供简易的部署能力、通过新增cmd exporter扩充采集指标;将原有的openGauss-exporter扩展为Agent, 便于获得即时信息;提供多种形式的功能API,便于与用户已有的运维平台对接和集成。
    • 异常检测:通过对监控到的指标进行分析,可以给出系统异常状态波动告警,包括基于规则的和基于算法的两种模式。其中,基于算法的包括对spike, mean shift等典型异常场景进行分析。
  • 智能优化器

    • 实现库内Bayes网络算法并基于此实现智能统计信息以提高多列基数估计准确度,进而提升生成的执行计划质量。
    • 计划自适应选择解决因数据倾斜、索引不准、使用Offset查询等引起的计划跳变难题,性能提升1x以上。
  • 细粒度Any权限增强

    Any权限管理,新增支持以下5种对象共12种ANY权限功能:

    • ALTER ANY TYPE、DROP ANY TYPE
    • ALTER ANY SEQUENCE、DROP ANY SEQUENCE、SELECT ANY SEQUENCE
    • ALTER ANY INDEX、DROP ANY INDEX
    • CREATE ANY TRIGGER、ALTER ANY TRIGGER、DROP ANY TRIGGER
    • CREATE ANY SYNONYM、DROP ANY SYNONYM
  • 行存表压缩能力增强

    通过对行存数据进行压缩的操作,改变数据页面的存储状态。通过增加一个映射管理层将压缩页面分块落盘。整体过程发生在数据库脏页刷盘过程,对数据库的上层逻辑不影响,对用户不感知。

    满足TPCC测试模型中,压缩率2:1以上,且性能劣化小于5%。

  • 发布订阅能力增强

    发布订阅功能增强,支持异地双活解决方案。

    • 支持发布端主备切换后订阅关系不断开。
    • 支持同步订阅关系创建前的基础数据。
    • 支持备份恢复后复制槽不丢失,保证发布订阅的连接正常。
    • 支持以二进制格式发送数据。
  • 细粒度滚动升级

    在灰度升级下,提供一种升级指定部分节点的功能。保证在不中断业务的情况下,先升级部分节点再升级剩余节点,减少升级场景业务中断时间。

  • statement_history视图诊断能力增强

    • 备机支持statement_history视图,满足备机慢SQL诊断要求。
    • statement_history增加对waitevents的统计,记录慢SQL执行时等待事件耗时和次数。
  • 中间件:集成openLookeng,提供分布式OLAP能力

    基于openLookeng实现分布式分析能力,openLookeng复用shardingsphere中间件的分库分表能力,使openLookeng可以获取openGauss数据进行分析运算。加上shardingSphere搭配openGauss形成的分布式OLTP能力一起组合成分布式的HTAP能力。

  • 中间件:CM支持管理shardingSphere Proxy和注册中心

    CM支持自定义资源管理,支持管理shardingSphere Proxy和注册中心,支持异常情况自动拉起。

  • 工具链:MySQL全量迁移支持并行迁移,提升全量迁移性能

    通过支持表级并行迁移,提升MySQL全量迁移性能,基于sysbench测试模型,在Kunpeng-920 2p服务器上,10张表(单表容量三百万以上)使用10并发迁移,可达到大于300M/s的迁移性能。

  • 工具链:MySQL增量迁移支持事务级并行消费,提升增量迁移性能

    基于开源三方件mysql-binlog-connector-java解析mysql的binlog,并根据mysql主备并行复制的原理,对可并行的事务在openGauss端采用多线程进行并行回放,以实现MySQL到openGauss的在线迁移。

    利用sysbench对MySQL压测,在10张表30个线程并发情况下,IUD混合场景下,在Kunpeng-920 2p服务器上测试整体增量迁移性能可达3w tps。

  • 工具链:支持基于默克尔树的数据校验

    实现基于默克尔树的数据实时校验工具,支持MySQL数据迁移到openGauss时,源端与目的端数据全量和增量校验。

  • 工具链:支持openGauss到MySQL迁移,满足MySQL反向迁移要求

    特性基于openGauss的逻辑复制实现,在openGauss端开启逻辑复制,使用JDBC获取逻辑解码,对逻辑解码进行SQL解析,通过多线程并发迁移到MySQL端,满足用户数据从MySQL迁移到openGauss后,两个数据库并行运行或迁移后逃生的诉求。

    sysbench对openGauss进行压测,在100张表100个线程并发情况下,针对insert场景,在Kunpeng-920 2p服务器上测试整体迁移性能可达3w tps。

  • 兼容性:兼容MySQL大部分常用功能和语法

    提供dolphin插件,从关键字、数据类型、常量与宏、函数和操作符、表达式、类型转换、DDL/DML/DCL语法、存储过程/自定义函数、系统视图等方面兼容MySQL。

    3.1.0版本新增对以下语法点的支持(只列举部分典型语法,详情请参见《开发者指南》中“MySQL兼容性说明”章节):

    • 数据类型:ENUM、SET、FIXED、LONGBLOB、MEDIUMBLOB、TINYBLOB、MEDIUM INT、DATETIME、YEAR、NVARCHAR以及无符号整数。

    • 操作符::=、^(异或)、<=>(不等于)、||、&&、regexp、not regexp、rlike、DIV、MOD、XOR、like binary、not like binary。

    • 系统函数:if、ifnull、isnull、strcmp、locate、lcase、ucase、insert、bin、chara、elt、field、find_int_set、hex、space、soundex、length、convert、format、rand、crc32、conv、now、sysdate、current_time、dayofmonth、is_ipv4、inet_aton、inet_ntoa、is_ipv6、inet6_aton、export_set、bit_bool、json_array、json_quote、last_insert_id、group_concat。

    • DDL:

      • 支持创建database时带 if not exists。
      • 支持在字段/table/index/procedure/function里对comment注释的创建和修改。
      • 支持建表、建索引时option里选项无序排列,支持表名区分大小写。
      • 支持建表时指定索引和约束。
      • 支持对添加、删除、交换、重组、TRUNCATE、ANALYZE、REBUILD、REPAIR、REMOVE分区的兼容。
      • 支持建表指定on update current_timestamp。
      • 支持自增列。
    • DML:

      • 支持INSERT、UPDATE、DELETE带IGNORE关键词,对出现冲突时,能忽略掉报错。
      • delete语句支持order by,delete支持指定分区。
      • delete支持多表删除,update支持多表更新。
      • 支持REPLACE INTO语法。
    • PL/SQL:

      • PL/SQL 支持设置DEFINER。
      • 支持在存储过程中命名变量。
      • 使用call关键字调用有参数的存储过程。
      • 支持使用DELIMITER 定义分隔符。
    • DCL:

      • 各类show语法兼容,包括show databases、show processlist、show tables、show create table、show create view、show master status等。
      • 支持USE db_name,DESC table_name。
    • 网络协议兼容:可兼容MySQL客户端基本网络协议。

    • 兼容性:支持兼容性评估工具

      基于openGauss内核语法树的兼容性评估工具,支持评估主流数据库兼容性。

意见反馈
编组 3备份
    openGauss 2024-04-20 00:48:06
    取消