MariaDB : The MySQL Replacement
MariaDB Enterprise extends MariaDB with certified binaries and continuous value delivery to optimize MariaDB for the most challenging use cases. MariaDB Enterprise includes a comprehensive set of advanced features, management tools and technical support to achieve the highest levels of scalability, security, reliability, and uptime. It reduces the risk, cost, and complexity in developing, deploying, and managing business-critical MariaDB applications – and we support MySQL® too!
A MariaDB Enterprise subscription includes:
- Pre-built, hardened, and integration-tested binaries and installation for MariaDB 10 or MariaDB 5.5.
- LGPL Language connectors tested by MariaDB, and certified by ISVs.
- Access to premium support documentation including Training On-Demand.
- Bundled added-value partner software including:
- MONyog monitoring software from Webyog.
- SQLyog query analyzer from Webyog.
- Zmanda and Percona XtraBackup backup software.
- 24x7x365 support coverage.
- Unlimited incidents.
- 30 minute emergency response time.
- Email, web, and login support access channels.
- All maintenance, patches, and updates to included software during the subscription period.
- Notification service delivering customized update notices and security advisories based on customer configurations.
- Access to optional additional services including training, consulting, Remote DBA, and custom engineering (NRE) services.
In short, everything you need to confidently use MariaDB Enterprise in production.
MySQL® grew out of a need in the early 1990s for a fast, ﬂexible database for use in web-based applications. Today, when people think of an easy-to-use, reliable, open-source database, the ﬁrst one they often think of is MySQL.
MySQL AB, the company that created and maintained MySQL, was acquired in 2008 by Sun Microsystems. Sun was, in turn, acquired by Oracle Corporation in 2009.
MariaDB is an enhanced, drop-in, binary compatible replacement for MySQL created by several of the former core developers of MySQL including the founder – Michael ‘Monty’ Widenius.
MariaDB has new features, performance improvements, better testing, and bug ﬁxes which are not found in MySQL. Some of these were developed “in house” by the core MariaDB developers, and others come from individual contributors and companies such as Facebook, Twitter, Google, and others.
MariaDB has looked for, and found, several ways of making the lives of MariaDB users and developers easier such as providing INDEX and TABLE statistics through a feature called User Statistics. These tables and commands can be used to understand the server activity better and to identify the sources of your database’s load.
Another big improvement are ALTER TABLE and LOAD DATA INFILE commands. Instead of these commands being opaque, and not letting you know how much progress they have made, MariaDB provides a mechanism where clients can receive progress messages from the server. After all, the last thing you want to do is cancel a long-running ALTER TABLE command when it is 99% complete.
With today’s high-performance database servers, having the highest precision of the TIME, DATETIME, and TIMESTAMP datatypes, and their associated temporal functions, be a single second was limiting. So another MariaDB improvement is the addition of microsecond support.
The developers have also introduced some NoSQL-style features to MariaDB such as HandlerSocket. It provides developers with fast, direct access to InnoDB tables by skipping the SQL layer.
Another is Dynamic Columns, which provides users with the ability to have a different set of “virtual” columns for each row in a table.
Lastly, users who are coming to MariaDB or MySQL from other databases may have heard horror stories about the horrible status of subqueries. For all practical purposes, subqueries in MySQL are unusable. They were unusable in MariaDB until the developers decided to tackle this old problem and take care of it once and for all. The result is that in MariaDB, subqueries are actually usable and useful.
Better Performance and Data Replication
MySQL has great performance out-of-the-box, but that does not mean it can’t be improved. One area the developers have focused on is the Optimizer. The Optimizer is the engine that sits at the core of MySQL and MariaDB. Its job is to take the entered SQL commands and turn them into instructions for the database. The improved optimizer in MariaDB performs signiﬁcantly faster than MySQL on complex workloads.
Replication is another area of focus and the MariaDB developers have introduced several enhancements in this area. One is group commit for the binary log, which makes many setups which use replication twice as fast.
Another new feature in MariaDB is Table Elimination. This optimization is especially useful when using views to access highly normalized data. The basic idea is that sometimes it is possible to resolve a query without even accessing some of the tables that the query refers to. And since the query doesn’t need to access as many tables, it completes faster.
The MariaDB developers have made great improvements to the testing infrastructure of MariaDB. These include:
- More tests in the test suite
- Fixes for test suite bugs. The MariaDB developers test the test suite, just like they test other parts of MariaDB
- Testing builds with different conﬁgure options and on multiple operating system and processor combinations, to get better feature testing
- The removal of invalid tests. For example: Don’t test feature “X” if that feature is not in the build you are testing
The cumulative effect of the expanded and enhanced MariaDB test infrastructure is that bugs are found earlier and ﬁxed faster, and new features are thoroughly and extensively tested long before they are released.
Every effort is made to ﬁx as many bugs as possible in every MariaDB release and to not introduce new ones. The enhanced MariaDB testing infrastructure helps with this, but even more important is the deep knowledge and experience of the MariaDB developers. There isn’t a team of developers anywhere who know the MySQL code better than the developers working on MariaDB.
With MariaDB, you not only get everything good from MySQL, you also get extra features, performance improvements, better testing, and fewer bugs.
For a growing number of individuals and companies the choice is clear: MariaDB is the future of MySQL.