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.0.3
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
.
New Features in NuoDB 5.0.2
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).
New Features in NuoDB 5.0
A sub-set of these features may be available in maintenance releases for prior versions.
Added new database process metrics
The new database metrics are:
-
CleanObjectsBytes
-
DirtyObjectsBytes
-
IncomingMessagesBytes
-
OutstandingObjectRequests
For more information, see Metrics Published by Database Processes.
Added logging category sql-results
The sql-results
logging category logs query results to facilitate debugging and diagnostics.
For more information, see Logging Options.
Improved Storage Manager (SM) write throttle memory management (12214, 12237, 12238)
The SM write throttle mechanism was improved to use memory more efficiently allowing for greater overall SM reliability and resilience by reducing memory oscillation and out of memory related process shutdown events.
Added support for Java 17
The Administrative Process (AP) and JDBC driver can now use the Java 17 Runtime Environment. For more information, see System Requirements.
Optimized queries with parameterized LIKE
predicates
Improved runtime performance for queries with parameterized LIKE
predicates through outer to inner join optimization when applicable, and applied further optimizations if the parameter started without a wildcard.
Added JSON built-in functions (12047, 12052, 13049)
The following JSON built-in functions were added:
-
IS_VALID_JSON
-
JSON_CONTAINS
-
JSON_CONTAINS_PATH
-
JSON_EXTRACT
-
JSON_EXISTS
-
JSON_MERGE_PATCH
-
JSON_OBJECT
-
JSON_QUERY
-
JSON_UNQUOTE
-
JSON_VALUE
For more information, see SQL JSON String Functions.
Improved JSON function runtime performance
Added support for the RapidJSON library which delivers significantly improved runtime performance when executing JSON functions.
Added the REOPTIMIZE ALWAYS|NEVER
query hint to allow application control of SQL recompilation behavior
For more information, see REOPTIMIZE Hint.
If deploying in Kubernetes, users can now specify the location of the nuoadmin.conf
file
For more information, see NuoDB command start admin
.
Added Kubernetes multi-tenancy support
Upgraded the Fabric8 Kubernetes client to version 5.12.2 in the NuoDB container image. The new support allows the creation of two NuoDB Admin domains in the same Kubernetes namespace.
Improved archive synchronization performance
Archive synchronization performance has been improved for a new or out-of-date archive. Database load imposed by archive synchronization has been reduced by:
-
Reducing writes to the journal on the SYNCING Storage Manager (SM)
-
Reducing memory overhead for archive synchronization on both the SYNCING SM and the RUNNING SMs
-
Reducing the processing of messages on both the SYNCING SM and the RUNNING SM
Added support for computed columns
For more information on computed columns and optionally how to use them to partition a table, see ALTER TABLE and CREATE TABLE.
Added a new Date/Time data type TIMESTAMP WITHOUT TIME ZONE
For more information, see SQL Date and Time Types.