What's New in MariaDB Enterprise Server 11.8
Contents
- Vector Search
- Indexes, SQL Functions, and Query Enhancements
- Data Types and Compatibility
- Enhancements to System Versioned Tables
- Security
- Replication & Clustering
- Key Management
- Observability & Information Schema
- Tool Improvements
- Userstat Plugin Enhancements
- Available Versions
- Installation Instructions
- Upgrade Instructions
- What's new in older release series
MariaDB Enterprise Server 11.8 introduces a wide range of enhancements spanning developer productivity, security, compatibility, observability, and support for modern workloads like vector search. The MariaDB Enterprise Server 11.8.2-0 Technical Preview adds the innovations from the MariaDB Community Server releases 11.5 to 11.8 to MariaDB Enterprise Server 11.4.
Vector Search
MariaDB Enterprise Server 11.8 continues to expand its native vector search capabilities, positioning MariaDB for AI-powered applications such as semantic search and recommendation systems. Already available in the MariaDB Enterprise Server 11.4 are:
- New Data Type:
VECTOR(N)
to store multi-dimensional embeddings. - Vector Indexing: Efficient similarity search with
VECTOR INDEX
. - Distance Functions:
VEC_DISTANCE_EUCLIDEAN()
for L2 distance.VEC_DISTANCE_COSINE()
for angular similarity.
- Conversion Functions:
Vec_FromText(json_array)
andVec_ToText(vector_column)
transform between the text and binary vector formats.
- System Variables for Index Tuning:
mhnsw_max_cache_size
,mhnsw_default_distance
,mhnsw_default_m
,mhnsw_ef_search
.
Added to MariaDB Enterprise Server 11.8
- Distance Functions:
VEC_DISTANCE()
auto-selects the best distance function based on the index configuration.
Indexes, SQL Functions, and Query Enhancements
- UUID Generation: New functions
UUID_v4() and UUID_v7()
for modern and time-ordered UUIDs. - Multi-Table DELETE Enhancements: Support for
ORDER BY and LIMIT
. - Single-Table DELETE Enhancements: Now it allows index hints.
- NEW SHOW CREATE SERVER: Recreate server objects similar to SHOW CREATE TABLE.
Data Types and Compatibility
- UTF-8 by Default:
utf8mb4
replaceslatin1
and legacyutf8
, ensuring full Unicode support, including emojis. - Default Collation:
utf8mb4_uca1400_ai_ci
is now the standard for Unicode character sets. - Extended TIMESTAMP Range: Increased upper bound to 2106 on 64-bit systems.
- ROW Type Enhancements:
- ROW types are now usable as stored function return values.
The support for%ROWTYPE, TYPE OF, and RECORD(...)
declarations for Oracle-like compatibility:
- ROW types are now usable as stored function return values.
DECLARE TYPE DeptRecTyp IS RECORD ( dept_id NUMBER(4), dept_name VARCHAR2(30), mgr_id NUMBER(6), loc_id NUMBER(4) );
- Triggers:
- BEFORE UPDATE OF col1, col2 limits trigger execution to specific column updates:
CREATE TRIGGER mytrigger BEFORE UPDATE OF col1, col2 ON t1 FOR EACH ROW …
Use of SIGNAL SQLSTATE '02TRG'
allows skipping a row operation.
- Stored Procedures: Now support default parameter values:
CREATE OR REPLACE PROCEDURE p1(param1 INT, param2 INT DEFAULT 1)
Enhancements to System Versioned Tables
- System Versioned Tables is a powerful feature for auditing changes to data. Enabling System Versioned Tables is as easy as creating a table by using
CREATE TABLE contracts (...) WITH SYSTEM VERSIONING;
Or enabling the feature for an existing table by usingALTER TABLE contracts ADD SYSTEM VERSIONING;
In both cases, invisible fields will be created in the table to track the timestamps and period for which the data is valid. A DBA/DevOps might want these fields to be visible. It is now possible to change such implicit fields to explicit ones by the following types of statements:
SET @@system_versioning_alter_history= keep; ALTER TABLE contracts ADD COLUMN rs timestamp(6) AS ROW START, ADD COLUMN re timestamp(6) AS ROW END, ADD PERIOD FOR SYSTEM_TIME (rs,re);
Security
- New Authentication Plugin—PARSEC:
- Based on elliptic curve cryptography.
- Mitigates the replay and man-in-the-middle attacks.
Example on how to create a user using the new authentication plugin:CREATE USER 'MariaDBUser'@'%' IDENTIFIED VIA PARSEC USING PASSWORD('MyPassword123!');
This will result in:SHOW GRANTS FOR MariaDBUser@'%';
Grants for MariaDBUser@% GRANT USAGE ON *.* TO `MariaDBUser`@`%` IDENTIFIED VIA parsec USING 'P0:lhXyNv1cIxpB8EnTxR7ON7S7:1l3rWRW1/jw45yrvYXB8eh02wzk7lcJcz4CMc Ww2b+8'
- Unix Socket Enhancements:
- Now supports explicit OS user mapping via
IDENTIFIED VIA UNIX_SOCKET AS
'user'
. - It is also possible to specify more than one OS user with the usual OR syntax:
- Now supports explicit OS user mapping via
CREATE USER dba IDENTIFIED VIA UNIX_SOCKET AS 'jack' OR IDENTIFIED VIA UNIX_SOCKET AS 'jill';
Replication & Clustering
- Improved Replication Lag Monitoring:
- SHOW REPLICA STATUS now includes:
Master_last_event_time Slave_last_event_time Master_Slave_time_diff
MariaDB [test]> SELECT Master_last_event_time,Slave_last_event_time,Master_Slave_time_diff FROM information_schema.slave_status\G *************************** 1. row *************************** Master_last_event_time: 2024-08-13 07:32:38 Slave_last_event_time: 2024-08-13 07:32:37 Master_Slave_time_diff: 1
- New Option –
--slave-abort-blocking-timeout
: Kills blocking non-replication queries after a timeout.
- Galera SST Automation: SST user is now auto-created and managed internally.
Key Management
- KMS Plugin Enhancement: The file_key_management plugin can now read keys from a Unix socket, not just from files.
Observability & Information Schema
- Temporary File Disk Space Limits:
max_tmp_session_space_usage
andmax_tmp_total_space_usage
prevent runaway disk usage.
- New Status Variables:
tmp_space_used, max_tmp_space_used
. - New Information Schema Views:
SELECT * FROM INFORMATION_SCHEMA.SEQUENCES\G *************************** 1. row *************************** SEQUENCE_CATALOG: def SEQUENCE_SCHEMA: test SEQUENCE_NAME: s_name DATA_TYPE: tinyint NUMERIC_PRECISION: 8 NUMERIC_PRECISION_RADIX: 2 NUMERIC_SCALE: 0 START_VALUE: 100 MINIMUM_VALUE: -127 MAXIMUM_VALUE: 126 INCREMENT: 10 CYCLE_OPTION: 0
- Enhanced ANALYZE FORMAT=JSON:
- Includes
r_index_rows, r_icp_filtered
.
- Includes
- Thread Naming for Diagnostics: Thread names are now more descriptive.
Tool Improvements
- mariadb-dump:
- The
--dir=<path>
dumps each database to its subdirectory. - Supports parallel dumps and restores.
- New
--update-history
convertsrow_end TIMESTAMPs
during export.
- The
- mariadb-import:
--dir=<path>
restores from the dumped directory structure.- Supports
--database, --table, --ignore-database, --ignore-table
for selective restore. --innodb-optimize-keys
: defers index creation to speed up data loads.
Userstat Plugin Enhancements
- Improved Insights:
- Index usage via
QUERIES
inINDEX_STATISTICS
. - Query operation counts:
ROWS_INSERTED, ROWS_UPDATED, KEY_READ_HITS,
etc. - New stats in
CLIENT_STATISTICS and USER_STATISTICS
. - Table I/O metrics:
PAGES_ACCESSED, PAGES_READ_FROM_DISK
.
- Index usage via
Available Versions
Installation Instructions
- Deploy MariaDB Enterprise with Repositories
- Deploy MariaDB Enterprise with Package Tarballs
- Deploy MariaDB Enterprise with Docker
- Enterprise Cluster Topology with MariaDB Enterprise Server
- Primary/Replica Topology with MariaDB Enterprise Server
- ColumnStore Object Storage Topology with MariaDB Enterprise Server and MariaDB Enterprise ColumnStore
- ColumnStore Shared Local Storage Topology with MariaDB Enterprise Server and MariaDB Enterprise ColumnStore
- HTAP Topology with MariaDB Enterprise Server and MariaDB Enterprise ColumnStore
- Single-Node Enterprise ColumnStore with MariaDB Enterprise Server and Object Storage
- Single-Node Enterprise ColumnStore with MariaDB Enterprise Server
- Enterprise Spider Sharded Topology with MariaDB Enterprise Server
- Enterprise Spider Federated Topology with MariaDB Enterprise Server
Upgrade Instructions
What's new in older release series
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.