RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2

MariaDB

Product
The name of the base system (platform): MySQL
Developers: MariaDB (before SkySQL)
Last Release Date: 2015/10/17
Technology: DBMS

Content

MariaDB is the branch DBMS MySQL developed by community and firm SkySQL.

Description

The developer of a product Monty Program Ab company led by Michael Vaydenius.

Need of ensuring the free status DBMS (under the license GPL), as opposed to an indefinite license policy of MySQL Oracle company was an incitement to creation of DBMS. The product extends and used according to the license GNU GPL v.2, GNU LGPL.

A system is written with use: C, C ++, Perl, Bash. The product works running Linux OS and UNIX-LIKE, Windows.

Version 5.5.35 existing for January 30, 2014.

2014: MariaDB Enterprise 1.0

On January 23, 2014 the SkySQL company and community of the MariaDB DBMS developers provided the new open product MariaDB Enterprise 1.0 - DBMS of the high level of readiness.

MariaDB Enterprise supports technology of cluster replication Galera Cluster and helps to simplify and accelerate deployment.

A system provides means for the organization of synchronous replication of data between several nodes (active-active multi-master topology, the allowing read and write is applied to any node), at which all nodes always contain up-to-date data. On different nodes of transaction can be executed in the parallel mode, guaranteeing at the same time the invariance of a status of a cluster in general, irrespective of the transactions executed at present. Replication is executed in the parallel mode, at the level of lines, with transfer only of information on changes.


At the heart of MariaDB Enterprise - MariaDB Manager - the interface for monitoring and management consisting of components:

File:Mariadb-manager-diagram-475px.png
  • Basic layer with implementation of API;
  • Monitor is the engine for data collection installed on a managing node of a cluster, which is carrying out a survey of DBMS on nodes of a cluster and performing accumulation, preserving and the analysis of statistics;
  • WebUI is the web interface of the administrator of a cluster set on a managing node;
  • Agent is a set of scripts set on each node of a cluster and allowing to interact with a node through API;

Source texts of the MariaDB Enterprise components are published under license GPL v2. Ready assemblies (so far) are provided only for CentOS 6.x through the corresponding repository after free registration.

2015: There was a stable release of MariaDB 10.1

On October 17, 2015 MariaDB Foundation released the first stable release of a branch of MariaDB 10.1 DBMS within which the branch from MySQL saving backward compatibility and differing in integration of additional engines of storage and enhanced capabilities[1] develops].

Development of MariaDB is supervised by MariaDB Foundation independent organization according to completely open and transparent development process which is not depending on separate vendors. MariaDB is delivered instead of MySQL in many distribution kits Linux (RHEL 7 SUSE 12 Fedora openSUSE Slackware, OpenMandriva ROSA, Arch Linux Debian 9). A system is implemented in projects: Wikipedia Google Cloud SQL and Nimbuzz.


Main improvements of MariaDB 10.1

  • Support of enciphering of tables and logs of transactions which allows to be protected from date leak in case of theft of the hard drive, but is useless in a situation of receiving control over the working DBMS, for example, as a result of the attack through substitution of the SQL query or cracking of a system. At enciphering inclusion overheads increase by 3-5%. It makes sense to store encryption keys on the separate protected server with inclusion of a system of the rotation of keys meaning periodic reenciphering with a new key after obsolescence of the current key. Support of enciphering is implemented in XtraDB and InnoDB storages. Several schemes are offered: enciphering of the selected tables, enciphering of all tables in a DB and enciphering of all tables except for selected. Thanks to enciphering of a log of transactions protection is also provided in systems with replication;
  • Inclusion in basic delivery of technology of synchronous multi-master (active-active) of replication of Galera which is earlier offered within the separate product MariaDB Galera Cluster. Galera expands possibilities of MariaDB DBMS with means of synchronous replication at which all nodes always contain up-to-date data, i.e. the lack of the lost transactions as transaction is fixed only after dissemination of data on all nodes is guaranteed. At the same time, within transaction of transaction are executed at once, the delay because of waiting of confirmation arises only at accomplishment of the transaction "commit". Replication is executed in the parallel mode, at the level of lines, with transfer only of information on changes. Management of accessory of nodes to a cluster is executed automatically, faulty nodes are excluded from a cluster without participation of the administrator at once, new nodes if necessary can be connected on the fly without additional reconfiguration;
  • The possibility of replication of data with MySQL 5.6 at inclusion on MySQL of support of GTID, i.e. MySQL can be used as the master-server for MariaDB now. The specified opportunity allows to simplify significantly testing in the course of migration with MySQL on MariaDB;
  • Support of compression of data pages for InnoDB and XtraDB storages. The new method differs from earlier available compression engine (row_format=compressed) in a possibility of the choice of different shrinking algorithms (zlib, lz4, lz0, lzma, bzip2 and snappy) and other organization of process of work with the packed data. If in the buffer are in traditional implementation both the compressed, and not packed yet data, then the new scheme means stay in the buffer only of the unpacked data - pages contract before signing up in storage and are unpacked after reading. The new method is most effective when using SSD drives or NVM memory. The best results are observed when using payments of FusionIO;
  • The system of defragmentation of InnoDB storages based on the practices provided by Facebook company is implemented. Earlier, during removal of lines from InnoDB they were only marked with deleted and became available to new records without the actual release of blocks on a disk and without return of disk space to a system. Accomplishment of "OPTIMIZE TABLE" solves the specified problem, but by complete evolution of the table with copying of the available data on the new place, i.e. requires presence of large volume of free disk space. After inclusion in the file of a configuration of support of defragmentation (innodb-defragment=1), execution of the command of "OPTIMIZE TABLE" does not lead to copying in new tables, and is implemented via the mechanism of movement of records;
  • The "optimistic" mode of parallel replication which is considerably simplified in comparison with 10.0 means of parallel replication of slave-servers which appeared in MariaDB is implemented. In particular, the possibility of parallel application to the slave-server of any transactions INSERT/UPDATE/DELETE is provided even if they are not completed on the master-server yet;
  • Verifiability of degree of reliability of the set password by means of plug-ins of simple_password_check and cracklib_password_check;
  • The portion of the optimization of performance which allowed to lower load of CPU and to increase efficiency on multicore systems is entered. Testing showed a gain of number of the processed transactions from 135 to 190% and a possibility of processing more than one million OLTP operations per second;
  • The EXPLAIN FORMAT=JSON and ANALYZE FORMAT=JSON commands at which the output with assessment of characteristics of a request forms in the JSON format are added. The regular output of the ANALYZE command resembles an output of EXPLAIN now, but includes the data obtained as a result of accomplishment of a request (number of the read lines, etc.);
  • Means for a space binding (Spatial Reference) of these geographic information systems. Implementation of new features for work with spatial coordinates: ST_Boundary, ST_ConvexHull, ST_IsRing, ST_PointOnSurface, ST_Relate;
  • Поддержка выражений "IF EXISTS", "IF NOT EXISTS" и "OR REPLACE" в директивах "CREATE DATABASE", CREATE FUNCTION UDF", CREATE ROLE", CREATE SERVER", CREATE USER", CREATE VIEW", DROP ROLE", DROP USER", CREATE EVENT", "DROP EVENT" CREATE INDEX", "DROP INDEX" CREATE TRIGGER" и "DROP TRIGGER";
  • Support of the SHOW and FLUSH commands for plug-ins, for example, "SHOW LOCALES", "SHOW QUERY_RESPONSE_TIME", "FLUSH QUERY_RESPONSE_TIME";
  • Support of the directive "SET DEFAULT ROLE" allowing to define the role by default applied to all new connections;
  • Support of systemd.

Notes

  1. [http://www.opennet.ru/opennews/art.shtml?num=43154 Stable release of MariaDB 10.1 DBMS