MariaDB Latest Version
In the early history of the world wide web, the first real websites were static. Built in scripts such as Hyper Text Markup Language (HTML), they were designed to present static information to visitors upon request.
As the web evolved, more advanced technologies became more commonly available. This led to many websites becoming able to handle dynamic (or adaptive) content. Such content enabled websites to customize themselves on-the-fly depending on needs.
To do this, websites needed to make use of databases, which in turn saw the need for database engines including MariaDB server. Today we’re taking a closer look at one of the most popular in the market – MariaDB.
History and Creation of MariaDB
As far as open source relational databases go, MariaDB can be said to be both old and new. The reason for this is because MariaDB is an offshoot of MySQL built by the original developers of MySQL.The latter was released by MySQL AB in 1995 but changed ownership during an acquisition by Sun Microsystems (today Oracle) in 2009.
Due to concerns over the acquisition, MariaDB was created in October 2009, to be developed separately from MySQL. In a similar manner to Apache Server, MariaDB development is today overseen by the MariaDB foundation.
The MariaDB Foundation is a non-profit, publicly sponsored body which coordinates community development with a global reach to move forward in building MariaDB. Much of the community keeps in touch with the extensive use of mailing list for various projects.
What Exactly is MariaDB?
MariaDB is currently the twelfth most popular Database Engine in the world. Simplistically speaking, it helps users convert data into structured information. This methodology can be employed in multiple use cases which require dynamic content generation.
On a more technical level, MariaDB works on the open source relational model and provides an SQL interface (which can also be used from the command line) to be used to access data. According to its developers, MariaDB server is fast, scalable, and robust.
From beginning to end, it was built following open-source concepts. This led to high popularity, enabling it to gather a strong ecosystem encompassing everything from core development to plugins and other tools.
MariaDB Top Features
MariaDB is licensed under GPL, LGPL, or BSD. The open source software licensing (and it is guaranteed to stay open) means that it can be widely used for free. Users are able to run, share or even modify it to suit their specific needs. This gives MariaDB an incredible amount of flexibility as a database engine.
It is compatible with a wide range of storage engines and other plugins extending functionality greatly. For example, Cassandra helps it work with NoSQL databases and can also assist with migration from legacy systems.
MariaDB runs Structured Query Language (SQL) which is highly popular and hence, widely used. This makes it accessible to a large proportion of those needing the use of a database.
Since it’s open source and was intended for wide use, MariaDB was built to be multi-platform capable. This allows it to be deployed for use on almost any operating system plus support a good range of programming languages and scripts (including PHP).
The Galera cluster technology is supported by MariaDB, giving it a high degree of architectural scalability. This capability isn’t readily found in many other database engines, including the highly popular MySQL.
MariaDB Performance
MariaDB shows strong performance when pit against top database engines like MySQL (Source: Oracle)
Although benchmarks have shown that MySQL comes out ahead in terms of handling capacity, MariaDB is all that far behind. It has been demonstrated to handle over 1.5 million queries per second over sustained periods of time.
Part of this is due to major enhancements it has seen, including a more robust query optimizer and other related improvements we’ll take a look at later on. In some scenarios, MariaDB has even been known to outstrip MySQL performance.
Real-life situations have proven this to be a fact and some organizations installing MariaDB over MySQL have observed slight upticks of 3 – 5% in performance. Of course, the performance improvements are situational.
MariaDB Security
MariaDB identifies distinct security components (Source: MariaDB)
Perhaps one of the most vital elements when it comes to data and the handling of it is security. With that in mind, it is important to know that although it is and will stay open source software, MariaDB was designed for the enterprise-scale platform.
This means that aside from performance and scale, developers knew that it was likely to be used for the handling of multiple process types including transactional and analytical – perhaps even a combination of both.
Because of this, security was and remains a key element of focus. Developers of all software including MariaDB want security, but the MariaDB community also wanted to easy to configure as such. To that end multiple security features were factored in during design with the ability to handle everything from Distributed Denial of Service (DDoS) attacks to mitigating SQL injections.
Encryption
Installing MariaDB doesn’t make it use encryption by default for data transmission, but it does allow itself to be configured for the use of encryption at various levels.
Connection Level – The support of TLS encryption to establish secure connections can be done using plugins. These can help prevent man-in-the-middle attacks which seek to steal data during connections with clients.
Storage Level – Although storage security isn’t technically the domain of the database engine, it is vital to the integrity of the data. Because of this, MariaDB allows the use of AES encryption to secure data existing in tables and log files.
MariaDB MaxScale
DDoS attacks typically make use of request or query floods to overwhelm the database engine. During these periods, the database engine will have difficulty serving genuine queries. SQL injection attacks are also becoming increasingly common.
MariaDB’s solution to security vulnerabilities such as these is MaxScale. This database proxy makes use of firewall-like behavior to filter queries, limit result sets, and mask data to help mitigate malicious attacks.
User Management
It has been said that the most secure system is as vulnerable as the human component is careless. The possibility of human activities causing problems is acknowledged, whether malicious or simply error. For this reason, MariaDB incorporates a number of user controls to help mitigate the potential from user problems.
- Role Based Access Control (RBAC) – To mitigate against the possibility of human-induced error or malicious intent, MariaDB looks towards RBAC. This methodology works on a common-sense assignment of privileges and can be set at multiple levels from global to individual tables.
- Pluggable Authentication Module (PAM) – Supporting varying authentication types, PAM is able to increase the breadth of MariaDB security. Since it is also applicable to situations such as one-time passwords (OTP) and two-factor-authentication (2FA), it can handle both static and interactive authentication.
- User Mapping – Mapping allows MariaDB to link various users and groups to a single MariaDB instance rather than requiring the creation of one for each. This helps simplify management and offer greater centralized control.
- Password Validation – Naturally, MariaDB is capable of validating passwords and does so at various levels. Aside from simple checks it is also able to enforce strict passwords using a plugin which works with the CrackLib library and associated dictionaries.
- Resource Limits – To reduce the possibility of either leaked user credentials or malicious intent on the individual level, administrators can use MariaDB to limit the resources available to each account.
Auditing
Being able to prevent attacks is a norm but also as important is the ability to know what went wrong (if something does). No security system in the world is foolproof and enabling an audit is a good way of ensuring accountability.
MariaDB makes use of audit logs to record database events. Comprehensive information is recorded live but more importantly, there is the ability to monitor logs as an active security measure. Administrators can be notified by alerts set into place. If any red flags are triggered, they will be able to take immediate rectification steps.
MariaDB Latest Version Characteristics and Further Development
The latest version of MariaDB is 10.5.5 Stable which came out in August 2020. It featured many areas of improvement, most notably in speed and better testing characteristics. MariaDB is notable for its fast rate of development, often releasing new features even ahead of industry leaders like MySQL.
Speed Improvements
This update saw a bump up in speed for binary row logging code as well as range optimizer. Part of the improvement was due to optimization such as the removal of double calls and updated costs for using memory tables. Connect speeds were observed to improve by as much as 25%.
Improvements were also made to DBUG to enable faster execution during compile (but not execution).
Modifications were also made to queries that saw the improvement of ANALYZE for statements. Although technically not a performance improvement, this expanded the information available for the statement and allows packed sort keys and values.
Along with these, various other smaller performance improvements were also carried out throughout, making MariaDB version 10.5.5 the most efficient to date. The current MariaDB release (MariaDB version 10.5.X) will be supported until 2025.
Testing Updates
MariaDB now comes with an expanded test suite and a host of bug fixes along with it. Configuration options have also increased and bad (invalid) test options removed. Devs have also managed to fine tune everything as a whole resulting in fewer potential errors during testing.
SkySQL
This very important version of MariaDB was introduced in March 2020. It is significant because it brings MariaDB on to the Cloud and allows the offering of Database as a Service (DBaaS). It is entirely developed and released by MariaDB Corporation.
The DBaaS comes with attractive characteristics in this age and time. For example, automated monitoring and backups, along with availability in a good number of regions that Google Cloud servers are also located in.
Users can look towards enhanced scalability in database instance capacity and the use of MariaDB MaxScale for load balancing across multiple nodes. Deployment across multiple nodes also increases resiliency.
Cloud characteristics come to the fore and persistent disks along with the use of Kubernetes give SkySQL the ability to quickly recover from failed instances. Private Kubernetes also means that enterprise customers can isolate their database infrastructure if they so wish.
Naturally, security is also enhanced with encryption both for data-at-rest and in-transit. This truly makes MariaDB an interesting option to look towards for those on the Cloud.
What’s Next?
The primary objective that MariaDB was built with was for it to be an efficient and practical database engine. The goal of community development was that it would see actually useful and implementable features built in to or along with each new release of MariaDB.
At the moment, developers are looking forward to more speed enhancements and optimizations of MariaDB as a whole while keeping it as simple to use as possible.
Version history
Traditionally, MariaDB latest versions numbers have followed MySQL and that resulted in a sort of mirroring of features up to version 5.5 (which was also a drop in replacement for MySQL 5.5). However, with MariaDB development outstripping that of MySQL, it has been decided to move forward with their own latest versions numbering.
- October 2009 – MariaDB version 5.1 public release.
- April 2012 – MariaDB Galeria Cluster introduced. This virtually synchronous multi-master cluster is available for Linux distributions only and introduces advantages such as no lost transactions and read scalability.
- November 2012 – Versioning split with MySQL sees MariaDB starting new stable releases as version 10.0.
- June 2014 – Creation and inclusion of the Aria storage engine.
- October 2015 – MariaDB version 10.1 becomes more secure with the addition of Data-at-Rest Encryption.
- April 2017 – InnoDB becomes the default storage engine in version 10.2 replacing the XtraDB storage engine.
- May 2019 – MariaDB version 10.4 incorporates multiple security enhancements including authentication, password expiry, and account locking.
- March 2020 – Launch of SkySQL, a Cloud-based managed version of MariaDB intended for the Google Cloud Platform.
Conclusion
When it first came into being, MariaDB had the benefit of being an offshoot of MySQL and guaranteed it a firm foundation. This gave it a very solid foundation to build on. However, that was only the beginning and it has grown from strength to strength.
It has steadily been increasing in popularity and remains one of the most adaptive database engines around. Development is much faster than many other database engines, even notable giants like MySQL.
The focus of developers on performance and security along with ports to upcoming technologies such as the Cloud makes MariaDB a formidable brand now and in the future.
Frequently Asked Questions
What is the latest version of MariaDB?
MariaDB version 10.5.5 is the latest stable release as of the publication of this article. It was made available to the public in August 2020 and offers many performance and feature upgrades over the previous version.
Is Maria DB free?
Since it is open source software, MariaDB is free. The publication of it under the General Public License version 2 means you can download and use it as much as you want and even distribute it with other applications.
Is MariaDB better than MySQL?
There are many similarities between MariaDB and MySQL in terms of both features and performance. Some benchmarks have shown that MySQL performs better under heavy load, but this has been observed to somehow be situationally dependent.
Which database is fastest?
At the moment, the consensus seems to be that MySQL is the fastest relational database in the market. However, there have been claims that MariaDB and PostgreSQL can come close to matching its speed.
Can MariaDB replace MySQL?
Yes. MariaDB was forked off from MySQL in the first place and it has retained many similar characteristics. It is able to act as a complete drop in replacement for MySQL with ease.