New Features

New Features in NuoDB 4.2.1

Additional improvements in VEE (Vectorized Execution Engine)

  1. Added support for the EXTRACT function which retrieves subfields (e.g. YEAR, HOUR, etc.) from date and time related data type values. For more information, see SQL Date and Time Functions and Operators.

  2. Added support for pattern matching using the REGEXP and CONTAINING functions. For more information, see SQL Pattern Matching.

  3. Added several missing data type cast conversions. For a complete list of support conversions, see SQL Data Type Conversion Functions.

Improved SQL query performance on Partitioned tables (11781,11858)

Several optimizations have been added to improve performance on partitioned tables, including:

1. Reduce partition iterations during processing
2. In certain cases, reuse memory allocated by index scans
3. Improve the search algorithm when computing a set of pruned partitions

Additional partitioned table performance optimizations may be added in future releases.

Improved database process node distribution across the available Admin processes (AP)s for Docker and Kubernetes deployments

Previously, for externally started database processes, the database processes may not distribute evenly across the available Admin processes (APs). A new start te and start sm parameter is used to supply the Admin with distribution policies used to ensure better distribution.

New Features in NuoDB 4.2

A sub-set of these features may be available in maintenance releases for prior versions.

Asynchronous Storage Managers (ASMs): Deploy a passive DR site over WAN to support business continuity plans

The Asynchronous SM feature allows administrators to configure NuoDB in an active / passive configuration across long distance regions for operational and disaster recovery protection in the event of a primary site outage. The Asynchronous SM feature replicates all database changes to a remote passive data center asynchronously so that there is limited impact due to higher network latency that is common to Wide Area Networks (WANs). In the event of a primary site disaster, the Asynchronous SM can be converted to a regular SM so that the database can be restarted quickly and put back into service. For more information, see Asysnchonous SM.

A new Hot Copy backup and restore option is available that allows a backup to be immediately usable

This new capability allows users to create a hot copy backup, using nuocmd hotcopy with the --type simple argument, and that backup (or a copy of that backup) can then be used directly to start a database. This feature was previously available in the NuoDB Nuoagent administrative tier and has been added to the NuoDB Admin administrative tier.

A new DEFINER security option is now available for users who have been granted SELECT access on a VIEW object

The new system-wide database DEFINER security option allows a user to read a database VIEW object after being granted a single Grant Select on View privilege. This new option eases database administration and improves security when using a DEFINER security model is preferred. The database default remains the INVOKER security option. To enable the DEFINER security option, the new system property DEFAULT_VIEW_SECURITY must be set to DEFINER.
For more information when using the Scalar Execution Engine, see SQL System Properties.
For more information when using the Vector Execution Engine, see SQL System Properties.

Added a NuoDB Admin Transparent Data Encryption (TDE) configuration and monitoring service

The service streamlines configuration with third-party Key Management Systems and is used for TDE initial password configuration as well as password rotation.

Added several new monitoring metrics

Added two new Transaction Engine (TE) timing metrics, SQLListenerIdleTimeStatement and SQLListenerIdleTimeTransaction that narrow down SQLListenerIdleTime to when statements or transactions are open respectively. A new "Time" monitor metric was also added that timestamps when each monitoring period ended expressed in milliseconds. For more information, see Metrics Published by Database Processes.

Added resilience to network congestion events during failure detection and resolution processing (11570)

Previous behavior could lead to a full database shutdown during failure detection and resolution processing when the database environment is experiencing a heavy network congestion event. Failure resolution processing will now continue to run and complete (possibly taking a little longer in some scenarios) but will avoid an unwanted forced database shutdown event.

Added index build queuing to improve Storage Manager (SM) resource management

Previously the number of index builds which may run concurrently on a single SM was not limited. If many concurrent long-running index builds were issued, the Storage Manager (SM) could become resource constrained and slow end user application response time. To avoid excessive index build resource consumption, a new limit of 4 concurrent index build jobs is now enforced. For more information, see either reference,
Scalar Execution Engine: CREATE INDEX.
Vectorized Execution Engine: CREATE INDEX.

SQL query termination when client memory is critically low

If a Transaction Engine is unable to relieve memory pressure using spill-to-disk or garbage collection then it will terminate client SQL operations consuming the most memory until memory pressure is relieved. For more information, see Reducing Memory Pressure on Transaction Engines.

Raft log compaction is now managed by a scheduled task that checks periodically if compaction should be performed

Previously Raft log compaction was performed in the critical path of commits whenever the number of committed and uncompacted log entries exceeded raft.compactionThreshold (1024 by default). This would delay the command response that triggered compaction and also disrupt leadership. Now compaction is performed by a task that is scheduled every 30 seconds by default and is configurable by the nuoadmin.conf file raft.compactionIntervalSec property. If the compaction task detects that the number of committed and uncompacted entries in the Raft log is equal to or greater than raft.compactionThreshold, compaction is performed.

Several new command switches and improvements have been added to the nuocmd check command

New switch options added are --wait-for-acks, --fail-on-process-exit, and --check-converged. In addition, the nuocmd check process command now will fail-fast if the process exits during the command invocation, and a new nuocmd check subcommand server has been added. To learn more about these enhancements, and when to use them, see NuoDB Command Reference.

NuoDB Admin REST API audit capabilities

A new auditing capability has been added in NuoDB Admin which allows logging of all REST API requests and responses. The type and verbosity of the logged messages are configurable. By default all authentication and authorization failures are logged, and the type and verbosity of the logged messages are configurable. For more information, see the reference documentation for the NuoDB Admin Audit Log file.

Added new engine TCP timeout configuration for SQL clients

When a network connection between a Transaction Engine and a SQL client is terminated, some virtual environments do not notify the engine of the socket termination. Without a TCP notification, the engine will keep the socket open until a timeout is reached. On most systems, the default timeout is two hours. The new --sql-client-tcp-keepalive allows users to override the system defaults using the TCP_KEEPIDLE:TCP_KEEPCNT:TCP_KEEPINTVL format.