openGauss Feature introduction
Published: 2023-02-21 08:11:50

Standard SQL support

Support standard SQL92/SQL99/SQL2003/SQL2011 specifications, support GBK and UTF-8 character sets, support SQL standard functions and analysis functions, and support stored procedures.

Database storage management functions

Table space is supported, and different tables can be planned to different storage locations; the enterprise version supports various storage engines such as Ustore, Astore, and MOT.

Provide active and standby dual machines

Transactions support ACID features, single-node failure recovery, dual-machine data synchronization, dual-machine failover, etc.; the enterprise version also provides CM tools that support database instance status query, active-standby switchover, log management, cluster status query and push, etc.

API

Supports standard JDBC 4.0 features and ODBC 3.5 features.

management tool

Provides installation and deployment tools, instance startup and shutdown tools, backup and recovery tools, capacity expansion and contraction tools, and upgrade tools.

safety management

Support functions such as SSL secure network connection, user authority management, password management, security audit, fine-grained ANY authority control, etc., to ensure the security of the database at the management layer, application layer, system layer and network layer.

AI intelligence

The enterprise version supports parameter self-tuning, slow SQL discovery, single query index recommendation, virtual index, workload index recommendation, database index collection, prediction and exception monitoring and other functions; the native AI engine in the library supports 10+ high-performance machine learning algorithms.

new features
The description here is openGauss version 3.1.1. Based on the functions of version 3.1.0, the following features are added:

The active-standby shared storage provides the ability for the active and standby machines to share a storage, and realizes the HA deployment form of the active-standby shared storage based on the disk array device. Optionally, OCK RDMA can be used to improve the real-time consistent read capability of the standby machine. This feature mainly relies on two self-developed public components:

Distributed Storage Service (DSS) DSS is an independent process that directly manages disk array raw devices and provides capabilities similar to distributed file systems. Through the shared memory and the client API dynamic library, the database provides the ability to create files, delete files, expand and shrink files, and read and write files.
Distributed Memory Service DMS (Distributed Memory Service) DMS is a dynamic library, which is integrated in the database, transmits page content through the TCP/RDMA network, integrates the main and backup memories, and provides memory pooling capabilities, so as to achieve real-time consistent reading of the backup machine Function, that is, after the host transaction is committed, it can be read immediately on the standby machine, and there is no delayed read phenomenon (the transaction isolation level is Read-Committed). Shared storage uses OCK RDMA to reduce the DMS primary and secondary page exchange delay. The latency of the standby machine's consistent read under TCP is compared. If OCK RDMA is enabled, the standby machine's consistent read latency will be reduced by at least 20%.
CM deployment and database deployment are decoupled, and CM supports incremental upgrades. When there are existing database processes, CM decoupled installation is supported. At the same time, CM components are supported to be upgraded separately to enhance the reliability of database clusters.

MySQL Compatibility Enhancement Version 3.1.1 adds support for the following grammar points (only some typical grammars are listed, for details, please refer to the "MySQL Compatibility Description" chapter in the "Developer Guide"):

Operators: !, ->, -».

System functions: JSON_ARRAY(), JSON_OBJECT(), JSON_QUOTE(), JSON_CONTAINS(), JSON_CONTAINS_PATH(), JSON_EXTRACT() and other 28 JSON functions, support any_value, database, default functions.

DDL:

Support partition table to use function as partition condition
Partition table syntax supports less than maxvalue
DML:

Support Load DATA syntax for importing data
Views support insert, delete and update
insert supports the expression rvalue after set with field name
Specify multiple partitions to query data
PL/SQL:

Support WHILE loop with labels
Support CASE WHEN condition control syntax
Support IF_THEN control syntax
Support CURSOR syntax and compatible with MySQL
Support Declare...CONDITION FOR syntax
Support for DO expr [, expr] ...
Support for REPEAT and Return clauses
DCL:

create user with if not exists option
other:

Add sql_mode options ansi_quotes and no_zero_date, which respectively indicate double quotes as quotes and date supports all 0s
Support show warnings, show errors
support for backticks as identifiers
Enhanced MOT capabilities

MOT table supports MVCC
Support cross-engine joint computing capability of MOT table and disk table
MOT table supports add/drop/rename column
MOT supports parallel playback
Stored procedures containing only the MOT table support JIT just-in-time compilation