此处说明的是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及时编译能力
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




