MariaDB is a popular fork of MySQL created by the MySQL developers.
The fork appeared due to concerns about the MySQL acquisition by Oracle and its licensing policy.
MariaDB is developed and maintained by MariaDB Corporation Ab and the MariaDB Foundation. Microsoft has sponsored the fund alongside Booking.com, Alibaba Cloud and Tencent Cloud.
MariaDB solves both small data processing tasks and tasks for corporate needs. Replaces and is backward compatible with MySQL completely, offers the same features as MySQL and more.
Key features of MariaDB
- All versions of MariaDB are free GPL, LGPL or BSD licenses
- MariaDB includes a wide variety of storage engines, including high performance storage engines, to work with other DBMS data sources
- MariaDB uses a standard and popular query language.
- MariaDB runs on multiple operating systems and supports a wide variety of programming languages
- MariaDB provides PHP support
- MariaDB offers Galera clustering technologies
- MariaDB offers many operations and commands not available in MySQL and removes or replaces features that negatively impact performance
- MariaDB supports XtraDB (an enhanced version of InnoDB) and other storage subsystems
As well as:
Virtual table columns
An interesting feature where columns are capable of performing calculations at the database level. This allows you to transfer typical calculations from applications to the DBMS server. This feature is not available in MySQL.
Parallel Query Execution
One of the latest versions of MariaDB, 10.0, allows multiple queries to be executed in parallel. This parallelism in query execution certainly gives MariaDB an edge over MySQL.
Pool of threads
MariaDB also introduces a new concept called "Thread Pooling". Previously, when multiple database connections were required, a stream was opened for each connection, resulting in a "one stream per connection" architecture. Thread Pooling uses a pool of threads that can be reused. This way, a new thread does not need to be opened for every new connection request, resulting in faster query results. This feature is available in the commercial version of MySQL, but not available in the community version.
Higher performance on SSD
MariaDB provides the MyRocks storage engine that allows you to store data in RocksDB. RocksDB is an embedded database that has been designed to improve the performance of processing data stored on SSDs.
Segmented key cache
In a typical cache, different threads compete for cached write locks. Only one thread can access, while others have to wait before performing the operation. This introduces execution delays on these threads, slowing down the performance of the database. In the case of a sharded key cache, the thread does not need to block the entire page, but it can only block the segment the page belongs to. This helps multiple threads run in parallel, increasing the concurrency in the application, which leads to better database performance.
Thursday, January 1, 1970