Stable Release of Database Management System MariaDB 10.5

After a year of development and four preliminary releases prepared the first stable release of the new branch of the DBMS MariaDB 10.4, which is developed as a fork of MySQL, maintaining backward compatibility and differentiating itself , integrating additional storage engines and enhanced capabilities. Support for the new branch will be provided for 5 years, until June 2025.

The development of MariaDB is overseen by the independent MariaDB Foundation, following a fully open and transparent development process that is not dependent on individual vendors. MariaDB is offered as a substitute for MySQL in many Linux distributions (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) and is implemented in major projects such as Wikipedia, Google Cloud SQL and Nimbuzz.

Key improvements MariaDB 10.5:

  • A new storage engine has been added S3, allowing MariaDB tables to be stored in Amazon S3 or any other public or private cloud storage that supports the S3 API. S3 storage supports both regular and partitioned tables. When partitioned tables are stored in the cloud, they can be directly accessed from another server that has access to the S3 storage.
  • A new storage engine has been added ColumnStore, which stores data column-wise and uses massively parallel distributed architecture. The engine is based on the MySQL storage technology InfiniDB and is intended for organizing processing and executing analytical queries over large datasets (Data Warehouse).
    ColumnStore stores data not by rows but by columns, allowing for optimized execution of column grouping from a large database containing petabytes of data. It supports linear scaling, data storage in a compressed format, vertical and horizontal partitioning, and efficient execution of concurrent queries.
  • All executable files beginning with 'mysql' have been renamed to use 'mariadb'. Old names are retained as symbolic links.
  • A new data type has been added INET6 for storing IPv6 addresses.
  • Work has been done to divide privileges into smaller components. Instead of a general SUPER privilege, a series of specific privileges has been introduced: ‘BINLOG ADMIN’,
    ‘BINLOG REPLAY’,
    ‘CONNECTION ADMIN’,
    ‘FEDERATED ADMIN’,
    ‘READ_ONLY ADMIN’,
    ‘REPLICATION MASTER ADMIN’,
    ‘REPLICATION SLAVE ADMIN’, and
    ‘SET USER’.
  • The privilege "REPLICATION CLIENT" has been renamed to "BINLOG MONITOR," and the statement "SHOW MASTER STATUS" has been changed to "SHOW BINLOG STATUS." This renaming clarifies behavior and is not related to political correctness; the project does not shy away from the terms master/slave and has even added new privileges, "MASTER ADMIN" and "SLAVE ADMIN." Additionally, a new keyword "REPLICA" has been added to SQL statements, which is a synonym for "SLAVE."
  • For some statements, the required privileges for execution have been changed. "SHOW BINLOG EVENTS" now requires "BINLOG MONITOR" rights instead of "REPLICATION SLAVE," "SHOW SLAVE HOSTS" requires "REPLICATION MASTER ADMIN" privileges instead of "REPLICATION SLAVE," "SHOW SLAVE STATUS" requires "REPLICATION SLAVE ADMIN" or "SUPER" rights instead of "REPLICATION CLIENT," and "SHOW RELAYLOG EVENTS" requires "REPLICATION SLAVE ADMIN" instead of "REPLICATION SLAVE."
  • New constructs have been added:INSERT … RETURNING" and "REPLACE … RETURNINGwhich return a list of inserted/replaced rows in a form as if the values were returned using the SELECT statement (similar to "DELETE … RETURNING").

    INSERT INTO t2 VALUES (1,'Dog'),(2,'Lion'),(3,'Tiger'),(4,'Leopard')
    RETURNING id2,id2+id2,id2&id2,id2||id2;
    +——+———+———+———-+
    | id2 | id2+id2 | id2&id2 | id2||id2 |
    +——+———+———+———-+
    | 1 | 2 | 1 | 1 |
    | 2 | 4 | 2 | 1 |
    | 3 | 6 | 3 | 1 |
    | 4 | 8 | 4 | 1 |
    +——+———+———+———-+

  • Expressions have been added:EXCEPT ALL" and "INTERSECT ALLto exclude/include results based on a specific set of values.
  • It is now possible to specify comments within "CREATE DATABASE" and "ALTER DATABASE" blocks.
  • Constructs for renaming indexes and columns have been added:ALTER TABLE … RENAME INDEX / KEY" and "ALTER TABLE … RENAME COLUMN«.
  • In the "ALTER TABLE" and "RENAME TABLE" operations, support for the "IF EXISTS" condition has been added, allowing the operation to execute only if the table exists;
  • For indexes in "CREATE TABLE," the attribute "VISIBLE«.
  • has been implemented. CTE.
  • New Functions The expression "CYCLE" has been added to identify recursive cycles. and JSON_ARRAYAGG JSON_OBJECTAGG
  • for returning an array or JSON object with values from the specified column.
  • Additional system information tables (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS, and THREAD_POOL_WAITS) have been added for the thread pool.
  • The ANALYZE statement has been extended to show the time spent checking the WHERE clause and executing auxiliary operations.
  • The optimizer for range processing now takes into account "IS NOT NULL" conditions.
  • In The size of temporary files used for sorting with VARCHAR, CHAR, and BLOB types has been significantly reduced., used for organizing replication, new metadata fields have been added, including Primary Key, Column Name, Character Set, and Geometry Type. The mariadb-binlog utility and the commands "SHOW BINLOG EVENTS" and "SHOW RELAYLOG EVENTS" now provide display of replication flags.
  • Design DROP TABLE now securely removes tables remaining in the storage engine, even in the absence of ".frm" or ".par" files.
  • A hardware-accelerated version of the crc32() function has been implemented for AMD64, ARMv8, and POWER 8 CPUs.
  • Some default settings have been changed. The innodb_encryption_threads parameter has been increased to 255, and the max_sort_length value has been increased from 4 to 8.
  • Numerous performance optimizations have been introduced for the InnoDB engine.
  • Full support for synchronous multi-master replication has been added to the Galera mechanism GTID (Global Transaction ID), unique transaction identifiers for all nodes in the cluster.
  • Transition to a new branch of the library has been made. PCRE2 (Perl Compatible Regular Expressions), instead of the classic PCRE 8.x series.
  • New versions of wrappers for connecting to MariaDB and MySQL databases from programs in Python and C have been proposed: MariaDB Connector/Python 1.0.0 and MariaDB Connector/C 3.1.9. The Python wrapper conforms to the Python DB API 2.0, is written in C, and uses the Connector/C library for connecting to the server.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster