New Features
This section includes new features and enhancements.
If a new feature or enhancement relates to a Zendesk request, the associated Zendesk reference number is displayed, for example (10118).
New Features in NuoDB 5.1.2
Added support for Hibernate 6 generated SQL statements with JOIN group syntax (13781)
Hibernate 6 generated JOIN group syntax that wraps join predicates in parentheses was not supported in NuoDB.
For example, Hibernate 6 generated SQL query such as, SELECT * FROM a JOIN (b JOIN c on x) on y
, is now supported.
Added the Right Hash Outer Join
execution operator for faster query execution
For more information, see Execution Plan Operators.
Added Spill to Disk support for hash join and hash grouping operators to reduce memory usage for large hash operations
For more information, see Execution Plan Operators and Supported Spill to Disk Operations.
Added lock-wait-timeout
to the SYSTEM.CONNECTIONPROPERTIES
pseudo table to view the lock wait timeout value for an existing connection
See the example on Connection Properties.
Improved the performance and execution times for SQL queries that include variables
SQL queries that include variables are now recompiled to generate a more optimized execution plan, resulting in better performance and faster execution times.
Added SQL syntax support for RIGHT OUTER join operations
For more information, see SELECT and RIGHT OUTER Join Operations.
Improved the performance and execution times for SQL queries that include variables in LIKE
SQL queries that include a variable in the LIKE
operator are now considered for reoptimization by the v3 optimizer
.
Improved the performance of SQL queries by extending the range of indexes for 'Bitmap intersections'
The optimizer will consider more 'Bitmap intersections' than before, providing additional opportunities to find an optimal access path. In particular, if a specific index is chosen to satisfy a property such as a join predicate or ordering, it will now check if that index can be further improved by intersecting it with additional indices.
New Features in NuoDB 5.1.1
Added the licenseFilePath
property to configure the path to the NuoDB license file
For more information, see Setting nuoadmin.conf
Properties.
Added the EXPLAIN (ANALYZE_GRAPH {ON|OFF})
option to debug performance characteristics of complex query plans
The EXPLAIN (ANALYZE_GRAPH {ON|OFF})
option displays the Graphviz representation of the explain plan.
Use any Graphviz viewer to produce a graphical representation of the explain plan to aid in debugging and troubleshooting complex query plans.
For more information, see EXPLAIN.
Optimized the execution of SQL queries that includes timestamp literals
When executing a SQL query that includes a comparison operation of a string or a timestamp to a date literal, a performance optimization has been added by converting the operand opposite the date literal to a date.
Enabled the use of Optimizer Hints in SQL Data Manipulation Language (DML) statements
For more information, see Using Optimizer Hints.
Added support for Common Table Expression (CTE) using the WITH
statement
For more information, see WITH.
Improved the performance of grouping and aggregation operations using the Hash grouping
execution plan operator
For more information, see Execution Plan Operators.
New Features in NuoDB 5.1
Optimizer v3
, the new default SQL optimizer, improves SQL optimization and runtime performance when executing SQL statements that join multiple tables
For more information on Optimizer v3
, see Optimizer v3.
To change the default optimizer setting for the current connection, use the queryoptimizer
connection property.
To change the default optimizer setting for the Transaction Engine (TE), use the optimizer-version
database option.
Added the following new execution operators for faster query execution
-
Left Hash Anti Join
-
Left Hash Mark Join
-
Left Hash Semi Join
-
Right Hash Anti Join
-
Right Hash Mark Join
-
Right Hash Semi Join
-
Right Index Semi Join
For more information, see Execution Plan Operators.
Updated NuoDB and the JDBC driver to improve SQL runtime performance
SQL runtime performance has been improved in higher network latency environments or if a connection runs thousands or millions of short-running SQL statements when using the JDBC driver. For more information, see NuoDB JDBC Driver.
Added optimizer type to the SQLENGINE
field
The SQL queries SELECT * FROM SYSTEM.CONNECTIONS
and SELECT * FROM SYSTEM.LOCALCONNECTIONS
now return the SQL engine and optimizer type in the SQLENGINE
field.
For more information, see CONNECTIONS and LOCALCONNECTIONS.
Added the ISREOPTIMIZED
field to the LASTSTATEMENT system table
For more information, see LASTSTATEMENT.
Improved NuoDB Admin domain security
Clients with non-root certificates can now be restricted using the authorizedDomains
property.
For more information, see Host Properties (nuoadmin.conf).
New Features Previously Included in NuoDB 5.0 Maintenance Releases
Added a new command option to NuoDB Command (nuocmd
)
To check if a database is ready to accept client connections, use the nuocmd check sql-connection
subcommand.
For more information,
see nuocmd check sql-connection
.
Added the ALTER TABLE REBUILD FORMAT
command
During a DELETE
, INSERT
, REPLACE
, or UPDATE
operation on a table, if the format of the newly updated or created record does not match the format of the database table, an error is reported.
To correct the format issue, use the new ALTER TABLE REBUILD FORMAT
command.
For more information, see ALTER TABLE.
The performance of the following commands has been improved (13587, 13729)
-
The time required for the REST API requests to obtain process state invoked by
nuocmd get processes
,nuocmd show domain
, andnuocmd show database
. -
The time required to return a suitable Transaction Engine (TE) to a SQL client to establish a new database connection.
Added new capability to use parameters for escape characters in a LIKE
expression (13556)
To interpret parameters in a LIKE
expression as escape characters, use the ESCAPE
keyword and specify the parameter.
For examples, see Examples using LIKE with the ESCAPE clause.
Added support for Rocky Linux 8.6 and later
For more information, see System Requirements.
Added support for ARM64 architecture (Linux only)
For more information, see System Requirements.
Enhanced the Kubernetes-Aware Admin (KAA) Raft consensus override mechanism to improve reliability during Admin Process (AP) scale-up
The modified KAA consensus override logic now ensures that when APs are scaled up, they will rejoin the domain without a Raft state through the existing Raft leader to prevent any Raft state divergence.
Improved the format of date and time values in the display output for several cases, including EXPLAIN
plan and error messages
In cases such as in EXPLAIN
plan or error messages, the values of data type Date and Time appearing in the display output are now enclosed in single quotes ('
).
This makes it easy to copy the statement and execute it on a NuoDB database without editing.
Added new capability to verify that all database storage groups (SGs) are included in hot copy
When requesting a database hot copy, NuoDB Admin (nuoadmin
) will verify that all database SGs are included in the archive selection, by default.
To skip the verification and create a backup that includes partial SGs, use the --partial-storage-groups
flag in nuocmd hotcopy database
and nuocmd backup database
.
For more information, see
Redundant Hot Copy with Storage Groups,
nuocmd hotcopy database
,
and nuocmd backup database
.
Added new command options to NuoDB Command (nuocmd
)
-
The
--include-sensitive-files
option to include the audit messages in thenuoadmin_audit.log
file. For more information, seenuocmd get diagnose-info
andnuocmd get server-logs
. -
The
--sg-ready-timeout
option to ensure that the Transaction Engines (TEs) start only after all the Storage Groups (SGs) become online during a database cold start in Kubernetes deployments. For more information, seenuocmd start te
.
Added Node 16 support to the NuoDB Node.js driver
For more information, see NuoDB Node.js Driver.
Added two new tombstone options to NuoDB Command
-
--include-tombstone-databases
to view the databases in the tombstone state. Databases that are in the tombstone state are now hidden by default. For more information, seenuocmd show domain
. -
--purge
to remove the tombstone after deleting the database from the domain state. For more information, seenuocmd delete database
.
Added release build time information (13405)
The release build timestamp is now available as the builddate
field in $NUODB_HOME/etc/Version.json
.
For more information, see Environment Variables.
Added new capability to configure a connection to abort a SQL statement that is waiting to acquire a lock
The following new properties and parameter are added:
-
System property
DEFAULT_LOCK_WAIT_TIMEOUT
to configure a default lock wait timeout for all new connections. For more information, see SQL System Properties. -
Connection property
lock-wait-timeout
to configure the lock wait timeout when establishing a new connection. For more information, see Connection Properties. -
Runtime parameter
LOCK_WAIT_TIMEOUT
to dynamically set the lock wait timeout for an existing connection. For more information, seeSET
.
Added a new feature to configure the logs displayed on stdout
for Kubernetes and Docker deployments (13379)
The logs displayed on stdout
using kubectl logs <AP_pod_name>
or docker logs <AP_container_name>
can now be configured using logging.consoleLogLevels
, without affecting log entries in nuoadmin.log
.
For more information, see Host Properties (nuoadmin.conf).
Added support for Hibernate 6
For more information, see Drivers in the NuoDB Client Package and NuoDB Hibernate Driver.