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 8.0
Improved table insert performance when using unique MERGE TREE indexes
Added table functions to access external CSV or PARQUET data files
-
Added the following external table functions to access data stored externally as CSV or PARQUET files
-
Added the following connection properties to allow the usage of Amazon S3 user credentials while accessing external files stored on Amazon S3 servers
-
S3_ACCESS_KEY_ID -
S3_REGION -
S3_SECRET_ACCESS_KEY
These can be configured only using the SQL
SETcommand. For more information, see Connection Properties and SET. -
-
Added the
external-data-dirdatabase option to specify the directory for accessing data stored locally as CSV or PARQUET filesFor more information, see Database Options.
Added new VECTOR data type
-
Added a new
VECTOR(<dimensions>, DOUBLE)data type to store vector data, such as embeddings, along with built-in functions for comparing vector similarityThe
VECTORdata type is supported in C, C++, and JDBC drivers. In other drivers, vector values are processed as strings.For more information, see SQL Vector Type and SQL Vector Functions and Operators.
-
Added the
vector doubledata type to the DATATYPES system tableFor more information, see DATATYPES System Table Description.
Added the following commands to nuocmd to improve workload capture reliability
-
nuocmd pause transactions --timeout <timeout>to pause transactions on all Transaction Engines (TEs) -
nuocmd resume transactionsto resume transactions on all TEs
For more information, see nuocmd Reference and Troubleshooting with nuocmd.
Observability Enhancements
-
Added the following pseudo tables
-
ACTIVETRANSACTIONS: to retrieve all the active transactions currently running in the database (13980) -
LOCALSYSTEMQUERIES: to retrieve information about idle system queries
-
-
Added
IDLE_STATEMENT_TIMEOUTtoPROPERTIESsystem tableFor more information, see PROPERTIES System Table Description.
-
Added
START_TIMEandEND_TIMEto the LOCALSTATSUPDATEJOBS systems tableFor more information, see LOCALSTATSUPDATEJOBS System Table Description.
-
Added
EXEC_TIME_90TH_PERCENTILEandEXEC_TIME_95TH_PERCENTILEto the LOCALQUERYPERFORMANCEMETRICS System tableFor more information, see LOCALQUERYPERFORMANCEMETRICS System Table Description.
-
Added the following metrics
-
ArchivePartitionAvailable -
ArchivePartitionSize -
CacheHits -
CacheMisses -
CacheWorkingSet -
JournalPartitionAvailable -
JournalPartitionSize -
SpillFilePartitionAvailable -
SpillFilePartitionSize -
StorageReadBytes -
StorageWriteBytes -
StorageCancelledWriteBytes
For more information, see Metrics Published by Database Processes.
-
-
Added the start ID to the names of generated core dump files
Core dump files now use the file name format,
core.nuodb.s<startid>.<hostname>.<pid>. -
Added the start ID of each database process to the
syslogmessages sent to the host -
Added system property information to
nuoadmin.logwhen a Transaction Engine (TE) or Storage Manager (SM) starts -
Reclassified log messages and improved message content
Critical log messages were updated and reclassified to ERROR or WARN where appropriate. Additional information was added to the log messages to improve clarity and usefulness.
-
Improved logging on bare metal deployments
A new fallback log is created to prevent log messages from being lost if a connection to the AP is unavailable. The log is created in the same directory where other NuoDB log files are created. For more information, see Fallback Log.
-
Improved the information provided by
nuoarchive checkwhen a BLOB or CLOB references a missing data descriptorIf a visible record contains a BLOB or CLOB that references a missing data descriptor,
nuoarchive checkreports the record ID and transaction ID and classifies the issue as an error. Otherwise, the issue is reported as a warning. -
Improved the output of the
SHOWcommand to displaydatabase protocol versioninstead ofdatabase version, and to include the software version of the TEFor more information, see SHOW.
-
Improved the error message displayed when a lock conflict occurs while using
NOWAIT. -
Improved the error message displayed when a transaction exceeds the configured lock wait timeout.
Added a SQL trace command to identify SQL statement performance issues
-
Added
SET [ CONNECTION ] TRACE { ON | OFF }to enable and disable SQL tracing on the current connection. -
Added
SET ENGINE TRACE { ON | OFF }to enable and disable SQL tracing on the current Transaction Engine (TE). -
Added the following pseudo tables:
-
LASTENGINETRACE: to retrieve the tracing data captured on a TE during the most recent tracing session.
-
LASTTRACE: to retrieve the tracing data captured on the current connection during the most recent tracing session.
-
Added support for Java 25
For more information, see Software Requirements.
Updated the NuoDB container base image to Rocky Linux 9 to improve security for container-based deployments
Added progress of atom updater to the log as a percentage
Atom updater keeps atoms sufficiently up to date to prevent them from falling behind the minimum read version of the database.
Added support for SELECT statements without a FROM clause when SELECT references only scalar expressions and constants (14979)
For more information, see SELECT.
Added the JSON_ARRAY_APPEND() function (14673)
For more information, see Modify Functions.
Added the following SQL string functions
-
HEX() -
UNHEX() -
UUID() -
UUIDV4() -
UUIDV7() -
UUID_BIN_TO_STR() -
UUID_STR_TO_BIN()
For more information, see SQL String Functions and Operators.
Added SELECT <expression> IS [NOT] DISTINCT FROM <expression>
For more information, see IS [NOT] DISTINCT FROM.
New Features Previously Included in NuoDB 7.0.x Releases
Added the TotalClientConnectionsMemUsage database metric to report an estimate of the aggregated memory usage for each SQL client connection
For more information, see Metrics Published by Database Processes.
Added nuocmd start sm --wait-for-archives
--wait-for-archives enforces storage-group leader assignment by waiting until the specified number of archive objects exist.
For more information, see nuocmd start sm.
Added the following metrics
-
ArchiveReadQueueForSyncTime
-
ArchiveReadQueueHighTime
-
ArchiveReadQueueLazyTime
-
ArchiveReadQueueLowTime
-
ArchiveReadQueueMediumTime
For more information, see Metrics Published by Database Processes.
Added the LOCALSTATEMENTSLASTEXECUTION pseudo table that contains information about the last SQL statement executed by a user
For more information, see LOCALSTATEMENTSLASTEXECUTION System Table Description.
Added internal optimizations to improve the performance of SQL queries that use constant IN lists with MIN() or MAX() functions (14467)
Added the USE_ORDERING hint
For more information, see the USE_ORDERING Hint.
Added support for Red Hat Enterprise Linux (RHEL) 9.x and Rocky Linux 9.x (13436)
For more information, see System Requirements.
Added the REQUESTER field to the LOCALSTATSUPDATEJOBS system table
For more information, see LOCALSTATSUPDATEJOBS System Table Description.
Allowed the use of Common Table Expressions (CTEs) with DML operations (14619)
For more information, see WITH.
Optimized SQL execution when MIN() and MAX() functions are used with a covering index (13147, 13392)
Improved the error message reported when executing an UPDATE or DELETE SQL statement that includes an unsupported OUTER JOIN
Improved the performance of SQL queries that use temporary tables with ON COMMIT DELETE ROWS, when the tables are not modified during a transaction
Deduplicated messages logged while using nuocmd are recorded at the [INFO] level instead of the [ERROR] level
Added the SCALARSTATSSPAN field to the STATSCACHE system table
For more information, see STATSCACHE System Table Description.
Added the type of index to the response of the nuodump command
For more information, see nuodump.
Added the WEEK interval type in the DATE_ADD function
For more information, see DATE_ADD and DATE_SUB Functions.
Added AUTORECOMPUTE { ON | OFF } to enable or disable auto-update on a table when using Table Statistics (Stats v3)
For more information, see How auto-update works, ALTER TABLE, and CREATE TABLE.
Updated the NuoDB container base image to Red Hat Universal Base Image (UBI) 8.10 to improve security for container-based deployments
Added -v to --file and --init nuosql options
For more information, see nuosql options.
Improved the log message generated when an Storage Manager (SM) shuts down unexpectedly due to corrupted atoms in its archive
The log message includes the type of atom, the reason for the SM shutdown, and the recommended next step for recovery. For example, "Records 75/1: atom is corrupted. Restart the SM to sync the corrupted atom from another SM: …".
Improved the performance of the StreamingCoveringScan index processing operator
For more information, see Data-To-Code Execution.