7. 5 Release Notes
On this page
Note
-
To deploy a SingleStore 7.
5 cluster, refer to the Deploy SingleStore Guide. -
To make a backup of a database in this release or to restore a database backup to this release, follow this guide.
Release Highlights
The SingleStore 7.
Universal Storage
-
The
default_
engine variable is now set totable_ type columnstore
by default.default_
determines the type of table (table_ type rowstore
orcolumnstore
) that is created when using a CREATE TABLE statement, unless the table type is specified explicitly in the statement. -
Added support for multi-column hash keys (which can be
PRIMARY
orUNIQUE
) on columnstore tables. -
Added support for creating multi-column hash indexes on columnstore tables, using CREATE INDEX.
-
Added support for upserts on columnstore tables with multi-column hash keys, using
INSERT .
,. . ON DUPLICATE KEY UPDATE REPLACE
,IGNORE
,LOAD DATA .
,. . REPLACE . . . CREATE PIPELINE .
, and. . REPLACE . . . CREATE PIPELINE .
.. . ON DUPLICATE KEY UPDATE
Storage
-
Added the unlimited storage feature, which allows you to store databases in a remote object store, with remote objects cached locally on the cluster to enhance performance.
This is known as separation of storage and compute. Currently, the Amazon S3 remote object store is supported. -
Added support for the utf8mb4 character set, which includes encoding for emojis and additional supplementary character sets.
The character_
andset_ server collation_
engine variables specify the server character set and collation.server Although these are session variables, it is strongly recommended to set these variables globally via SQL commands or set them at server startup using SingleStore Tools. -
Added "straight-to-disk" support for columnstore tables with a unique index using
INSERT … IGNORE
,REPLACE
, andINSERT … ON DUPLICATE KEY UPDATE
.Straight-to-disk is when inserts and updates on columnstores bypass the rowstore (memory-backed) segment and go straight to disk. -
The
preserve_
engine variable now defaults tooriginal_ colstore_ json ON
.
System of Record
-
Added point-in-time recovery (PITR), which allows you to restore an unlimited database to a specified point-in-time.
-
Added lock-free backup functionality, allowing backups to start without pausing concurrent online updates.
Also, added the Implementation
column to theinformation_
table.schema. mv_ backup_ status Implementation
can have either of the following values:Original
orLockfree
.
Usability and Programmability
-
Added a new function, JSON_
BUILD_ OBJECT, that converts a comma-separated argument list to a JSON object. -
Added a new function, JSON_
PRETTY, that outputs the given JSON object or JSON array in an indented and legible format. -
Added two new built-in SQL commands for creating identifiers: SYS_
GUID and UUID. -
The data_
conversion_ compatibility_ level engine variable can now be set to 7.
for stricter data type conversions.5 This new data_
setting additionally flags invalid string-to-number conversion inconversion_ compatibility_ level INSERT
statements. -
Introduced a preview version of the Data API that can be used to execute SQL statements over an HTTP connection.
The Data API enables you to develop custom applications and build seamless integrations with applications.
The Data API endpoints can be easily enabled or disabled using engine variables. For more information, see Data API Documentation.
Query Execution
-
Added support for hash group spilling, which enables
GROUP BY
queries with result sets larger than available RAM to finish successfully. -
UPDATE
andDELETE
queries containing a join (without usingLIMIT
) now only lock rows that pass the join. -
Added support for executing Data Manipulation Language (DML) queries for reference tables on child aggregator nodes in addition to the master aggregator node.
A new enable_ dml_ query_ forwarding engine variable enables DML queries for reference tables to be forwarded from child aggregator nodes to the master aggregator node. -
Added the SHOW REPRODUCTION command, which collects troubleshooting data for query optimizer and code generation issues for queries that fail in the compilation phase.
The troubleshooting information can be displayed on the terminal or written to a file, which can then be sent to the SingleStore Technical Support team for further analysis. -
Added support for reading
SELECT
query results in parallel, enabling faster transmission of large results sets to parallel client applications. -
Added the
compile_
andlite compile_
settings to thefirst interpreter_
engine variable.mode -
Added the default_
columnstore_ table_ lock_ threshold engine variable. This is the threshold for the number of rows that are locked before a table lock is acquired when updating or deleting rows in a columnstore table. -
UPDATE and DELETE can now be run in a distributed transaction.
This feature is enabled when the engine variable disable_
is set toupdate_ delete_ distributed_ transactions OFF
(the default).When this variable is set to OFF
, the engine variablesdeadlock_
,avoidance_ strategy lock_
, andwait_ timeout wait_
control the locking behavior of the updates and deletes.die_ retry_ on_ die_ sleep_ factor
Ingest
-
Added support for IMDSv2 in S3 pipelines.
-
Added support for ingesting Kafka keys using pipelines.
Security
-
Added new permissions:
SHOW ROUTINE
,CREATE POOL
andDROP POOL
. -
The
ADMIN-ONLY
andADMIN-ONLY-INCLUDING-PARSE-FAILS
logging levels no longer log non-DDL operations.
Other Improvements and Fixes
-
Added database version information to
MV_
via theBACKUP_ HISTORY SERVER_
column.VERSION -
Added
replay_
to the output ofstuck_ on_ low_ blob_ cache_ space SHOW DATABASE STATUS
.It indicates whether the replay is stalling because of low blob cache space. -
The RPC info column has been removed from the output of the
SHOW PROCESSLIST
command. -
Added the
MV_
andCACHED_ BLOBS MV_
information schema tables.BLOB_ CACHE_ EVENTS -
The local join optimizer now uses beam search to enable finding better query plans.
The new engine variable, optimizer_
, controls the beam search width.beam_ width The default value is 10. Setting this to 1 reverts to the previous behavior (prior to v7. 5). Higher values (maximum is 1024) will make the query optimization time slower. -
For commands that require
CONFIG
andCREDENTIALS
, you can specify them in either order (CONFIG
followed byCREDENTIALS
orCREDENTIALS
followed byCONFIG
). -
Added
success
as a JSON key that is populated in theDETAILS
field of theinformation_
table for rebalance events.schema. MV_ EVENTS The value of the success
key indicates whether a rebalance succeeded or failed. -
The
SHOW REBALANCE STATUS
,SHOW REBALANCE ALL DATABASES STATUS
,EXPLAIN REBALANCE PARTITIONS
, andEXPLAIN REBALANCE ALL DATABASES
commands now outputEstimated_
, which provides a time estimate for completing a rebalance.Time_ Remaining_ Ms -
Extended
UNION
support to a wider range of cross-database queries. -
Added the ability to run multiple concurrent
ALTER
commands on different tables in the same database. -
Added the
multi_
engine variable, which is the time, in seconds, that is allowed for a multi-statement transaction to remain idle while holding locks.statement_ xact_ idle_ timeout
In this section
Last modified: July 30, 2024