After a year of development and six preliminary releases the first stable release of the new branch of the DBMS , which is developed as a fork of MySQL, maintaining backward compatibility and by integrating additional storage engines and extended capabilities. Support for this branch will be provided for 5 years, until June 2024.
The development of MariaDB is overseen by the independent organization MariaDB Foundation in accordance with a completely open and transparent development process, independent of individual vendors. MariaDB is offered instead of MySQL in many Linux distributions (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) and is implemented in major projects such as , and .
Key :
- It includes the synchronous multi-master replication technology , allowing for an active-active multi-master topology, permitting read and write operations from any node. With synchronous replication, all nodes always contain up-to-date data, ensuring no lost transactions since a transaction is confirmed only after data is propagated to all nodes. Replication is carried out in parallel mode, at the row level, transmitting only information about changes;
- In Unix-like systems, the authentication plugin , which allows the use of existing system accounts to connect to the DBMS via a local unix socket, is enabled by default;
- Added a user password lifetime setting, after which the password is marked as expired. To set the password expiration in the operations 'CREATE USER' and 'ALTER USER', the expression 'PASSWORD EXPIRE INTERVAL N DAY' has been added;
- Support added DBMS users through the expression 'ACCOUNT LOCK' in the operations 'CREATE USER' and 'ALTER USER';
- The execution of privilege checks has been significantly accelerated in configurations with a large number of users or access rules;
- mysql.user and mysql.host tables has been discontinued. The mysql.global_priv table is now used to store accounts and global privileges;
- In plugins support for the 'SET PASSWORD' expression;
- the ability to use more than one authentication plugin for each account, which can be useful for gradually transitioning users to the When creating a user root@localhost using the mysql_install_db script, two authentication plugins — unix_socket and mysql_native_password — are now enabled by default.
- The InnoDB storage engine has implemented the instant DROP COLUMN operation (ALTER TABLE … DROP COLUMN … ALGORITHM=INSTANT) and the ability to change the order of columns. The redo log size for initial rollback operations has been reduced. Rotation key support has been added for innodb_encrypt_log. A checksum verification algorithm has been implemented.
innodb_checksum_algorithm=full_crc32. Instant expansion of VARCHAR types and text encoding changes for non-indexed columns have been provided. - The optimizer has been improved. The optimizer trace feature has been added and can be enabled via the system variable. . By default, statistics that are independent of storage engines are maintained. Two new modes for use_stat_tables — COMPLEMENTARY_FOR_QUERIES and PREFERABLY_FOR_QUERIES — have been introduced. The optimize_join_buffer_size mode is now enabled. New flags have been added.
rowid_filter and condition_pushdown_from_having; operations - with time ranges; The operations "INSTALL PLUGIN", "UNINSTALL PLUGIN", and "UNINSTALL SONAME" now support the expressions "IF NOT EXISTS" and "IF EXISTS".
- Crash-resistant system tables have been proposed, utilizing the engine
- Aria.
- Transition to the use of C++11 standard has been implemented (atomic operations are utilized). ;
- a plugin for defining custom field types;
- Windowed support for
- UDF functions (User-Defined Functions);
- In the "FLUSH TABLES" operation, the "BACKUP LOCK" mode can be used while backing up database files. New article: Computational Photography
- After a year of development and six release candidates, 🥇Stable release of MariaDB 10.4 | ProHoster
- Support for server commands starting with the name mariadb, alternatives to commands starting with "mysql" (for example, mariadump instead of mysqldump).
Source: opennet.ru
