特性介绍
标准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.1版本,在3.1.0版本功能的基础上,新增如下特性:
主备共享存储 提供主备机共享一份存储的能力,实现基于磁阵设备的主备共享存储HA部署形态,可选通过OCK RDMA提升备机实时一致性读能力。该特性主要依赖两个自研的公共组件:
- 分布式存储服务DSS(Distributed Storage Service) DSS是独立进程,直接管理磁阵裸设备,并对外提供类似分布式文件系统的能力。通过共享内存和客户端API动态库,为数据库提供创建文件、删除文件、扩展和收缩文件、读写文件的能力。
- 分布式内存服务DMS(Distributed Memory Service) DMS是动态库,集成在数据库内部,通过TCP/RDMA网络传输PAGE内容,将主备内存融合,提供内存池化能力,以此实现备机实时一致性读功能,即主机事务提交后,在备机立即能够读到,不存在延迟读现象(事务隔离级别为Read-Committed)。 共享存储通过OCK RDMA降低DMS主备页面交换时延。TCP下的备机一致性读进行时延对比,开启OCK RDMA,备机一致性读时延至少要降低20%。
CM部署和数据库部署解耦,CM支持增量升级 支持在已有数据库进程时,CM解耦化安装,同时支持CM组件单独升级,增强数据库集群可靠性。
MySQL兼容性增强 3.1.1版本新增对以下语法点的支持(只列举部分典型语法,详情请参见《开发者指南》中“MySQL兼容性说明”章节):
操作符:!、->、-»。
系统函数:JSON_ARRAY()、JSON_OBJECT()、JSON_QUOTE()、JSON_CONTAINS()、JSON_CONTAINS_PATH()、JSON_EXTRACT()等28个JSON类函数,支持any_value、database、default函数。
DDL:
- 支持分区表使用函数作为分区条件
- 分区表语法支持less than maxvalue
DML:
- 支持Load DATA语法用于导入数据
- 视图支持插入、删除和更新
- insert支持set后面的表达式右值带字段名
- 指定多个分区查询数据
PL/SQL:
- 支持WHILE循环带标签
- 支持CASE WHEN condition控制语法
- 支持IF_THEN控制语法
- 支持CURSOR语法和MySQL兼容
- 支持Declare…CONDITION FOR语法
- 支持DO expr [, expr] …
- 支持REPEAT和Return子句
DCL:
- create user带if not exists选项
其他:
- 增加sql_mode选项ansi_quotes和no_zero_date,分别表示双引号做引用、date支持全0
- 支持show warnings,show errors
- 支持反引号作为标识符
MOT能力增强
- MOT表支持MVCC
- 支持MOT表与磁盘表跨引擎联合计算能力
- MOT表支持add/drop/rename column
- MOT支持并行回放
- 只包含MOT表的存储过程支持JIT及时编译能力