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 7.0

Table Statistics (Stats v3)

Added a new generation of query optimizer statistics, Stats v3

For more information, see Optimizer Statistics.

Added the following system tables

Added the following fields to the TABLES system table

  • AUTOCREATESTATS

  • NORECOMPUTE

For more information, see TABLES System Table.

Added the statistics source details in the EXPLAIN SQL query response

The "Estimator predicates" in the EXPLAIN SQL query response now includes the source of the statistics such as column NDV, index NDV, statistics NDV, index histogram, or statistics histogram. These are useful for debugging purposes.

Added the LOCALSTATSUPDATEJOBS pseudo table that contains information about auto-update jobs for Table Statistics (Stats v3)

Added column group statistics information to the SHOW TABLE SQL command output

For more information, see SHOW.

Parallel Query Execution

Added the Parallel Query Execution feature to optimize the execution of large queries that access tables with many rows

For more information, see Parallel Query Execution.

Added the following database options

  • parallel-execution-max-threads

  • parallel-execution-min-rows

For more information, see Database Options.

Added ISPARALLELQUERY and DISTRIBUTEQUERYTIME fields to the LASTSTATEMENT and LASTPARALLELSTATEMENT system tables, respectively

SQL Observability

Added the following system tables to track statement performance metrics

Added the following database options

  • max-stmt-metrics-size

  • stmt-metrics-log-count

  • stmt-metrics-log-frequency

For more information, see Database Options.

Added the ALTER DATABASE FLUSH QUERY PERFORMANCE METRICS command

ALTER DATABASE FLUSH QUERY PERFORMANCE METRICS aggregates the statement metrics from each TE in the database, clears the stored metrics on the TEs, and writes the performance metrics with the longest execution times to the sql-statement-metrics logging category. For more information, see ALTER DATABASE.

SQL

Added support for Merge Tree Indexing for unique indexes

For more information, see Merge Tree Indexing.

Improved read performance for SQL queries when using the Merge Tree indexing

Improved read performance of streaming data scans when using Merge Tree indexes

SELECT statement syntax now supports the GROUP BY ROLLUP, GROUP BY CUBE, and GROUP BY GROUPING SETS clauses

For more information, see SELECT.

Added support for removing malformed VIEWs, FUNCTIONs, or PROCEDUREs

Added support for defining multiple indexes on the same column group using CREATE INDEX, provided the index names are unique

For more information, see CREATE INDEX.

Scalar expression evaluation now runs faster, which improves overall SQL query response time

Improved the performance of SQL queries that include column expressions of NUMERIC or DECIMAL data types

Added partition ID information to the SQL EXPLAIN query response

By default, the EXPLAIN query response includes partition ID information, which provides details on the specific partitions accessed in the query.

Added the type of index to the response of the SHOW TABLE SQL command

For more information, see SHOW.

Added SQL syntax support for FULL OUTER join operations

For more information, see SELECT and FULL OUTER Join Operations.

Improved query performance by estimating semi-join predicates more accurately

Added the GETSTARTID() SQL system information function to return the Start ID of the TE that serves the local connection

For more information, see SQL System Information Functions and Glossary.

Added the UNACCENT() string function to remove accents and transform ligatures from the Latin-ASCII character set.

For more information, see SQL String Functions and Operators.

Added the following Window functions

  • STDDEV_SAMP()

  • STDDEV_POP()

  • VAR_SAMP()

  • VAR_POP()

  • RANK()

  • DENSE_RANK()

For more information, see SQL Window Functions.

Added the UNBOUNDED PRECEDING, CURRENT ROW, and UNBOUNDED FOLLOWING window frame boundaries to improve SQL analytical query capabilities

For more information, see SQL Window Functions.

Added the following Aggregate functions

  • STDDEV_SAMP()

  • STDDEV_POP()

  • VAR_SAMP()

  • VAR_POP()

  • GROUPING()

For more information, see SQL Aggregate Functions.

Added the following database options

  • max-stmt-metrics-size

  • stmt-metrics-log-count

  • stmt-metrics-log-frequency

  • io-op-size

  • loader-threads

  • node-listener-limit

  • stats-version

  • stats-v2-collection

For more information, see Database Options.

Added the ONLINE option to the ALTER TABLE statement

For more information, see ALTER TABLE.

Added the ONLINE and USING options in the help documentation for help CREATE INDEX

Enhancements to the SQL optimizer have resulted in improved query performance, leading to more efficient execution plans and faster query processing.

Database Administration

Added the FASTID_SEED field to the NODES system table

For more information, see NODES System Table Description.

Added the following nuocmd commands

  • nuocmd get archiving --start-id <id>

  • nuocmd check archiving --start-id <id>

  • nuocmd resume archiving --start-id <id> --force

For more information, see NuoDB Command Reference.

Added the following statistics to the output of nuocmd get stats

  • SqlStatements - The total number of SQL statements executed

  • SqlStatementExecTime - The cumulative time spent executing all SQL statements

For more information, see Metrics Published by Database Processes.

Added adminLabels to the responses of nuocmd get server-config and REST APIs

Added nuocmd create domain-truststore to export Admin Process (AP) certificates, which simplifies the process of adding new APs to the domain even after certificate rotation

For more information, see NuoDB Command Reference.

Added the key-strength option to nuocmd create keypair

For more information, see NuoDB Command Reference.

Added the nuocmd global argument show-ndjson, which returns a JSON response in NDJSON format (14386)

For more information, see NuoDB Command Reference.

Added nuoarchive check --verify-index-consistency to verify the consistency of each index against the table it indexes

For more information, see NuoDB Archive - Checking.

Added the total row count to the query response when using NuoDB SQL (nuosql)

Added the following monitoring metrics

  • SqlStatementCompileTime

  • SqlStatsUpdaterQueue

  • SqlStatsUpdaterJobs

  • ArchiveSyncActiveTime

For more information, see Metrics Published by Database Processes.

Improved the error message logged when a timeout occurs during storage group leader assignment by including the archives that are missing archive histories (14346)

The error message now includes the id, serverId, and path of the archives that are missing archive histories.

If the keystore has already been loaded successfully and later attempts are unsuccessful, then the AP will use the previously loaded keystore without the need to restart the AP

Domains with many APs can now exclude non-voting "passive" APs, which prevents them from slowing the consensus process

For more information on configuring "passive" APs, see Host Properties (nuoadmin.conf).

Added important hardware details of the host — including the amount of memory, number of CPU cores, and type of CPU — to the nuoadmin.log file when starting an SM or TE

Kubernetes

Added support for Kubernetes 1.24.x and later

For more information, see Kubernetes System Requirements.

New Features Previously Included in NuoDB 6.0.x Releases

No new features were added in previous NuoDB 6.0.x releases.