MariaDB and MySQL

MariaDB and MySQL a topic for seminar

MariaDB is a binary drop in replacement of the same MYSQL version. It is a community developed branch of the MySQL relational database management system. The incentive behind the development is the community maintenance of its free status under the GNU GPL, as opposed to any uncertainty of MySQL license status under its current ownership by Oracle. The contributors needed to share their copyright with Monty Program AB. Its lead developer is Michael "Monty" Widenius, the founder of MySQL and Monty Program AB. MariaDB has a lot of options:extension, storage engines and bug fixes that are not in MySQL.

There exist some similarities between MariaDB and MySQL. Both data and table definition files are binary compatible.All client API's, protocols and structs are identical. All filenames, binaries, paths, ports, socket should be the same. All MYSQL connectors eg: PHP, Perl, Python, Java, NET, MyODBC, Ruby, MYSQL C connector work unchanged with MariaDB. The mysql client package also works with Maria DB server. The shared client library is binary compatible with MySQL's client library. This means uninstalling MySQL and installing MariaDB, there is no need to convert any data files if same main version is used.

The aim of MariaDB is to ensure a mutual understanding with MySQL. It ensure a drop in replacement capability with library binary equivalency and exact match with MySQL APIs and commands. Storage engines exist for MariaDB. For eg: XtraDB as a replacement for InnoDB and Aria intends to be both transactional and non-transactional and included in future versions of MySQL.

MariaDB version numbers, until 5.5, followed MySQL's numbers. Thus, if one uses MariaDB 5.5 one knows that all features from MySQL 5.5 are is easier to upgrade from MySQL 5.0 to MariaDB 5.1 than from MySQL 5.0 to MySQL 5.1. MariaDB offer a logical choice for database professionals looking for a robust, scalable, and reliable SQL server. In order to fulfill this, Monty program works in hiring the best and brightest developers in the industry, work closely and cooperately with other users and developers in the open source industry and release software that balances predictability with reliability.

MySQL had a 5.0 followed by 5.5,MariaDB had 5.1, 5.2 and 5.3. Holes left by MySQL are used. Those versions introduced some specific features, but not all the functionalities from MySQL 5.5 were available. After 5.5, MariaDB developers start a branch numbered as 10. This depict MariaDB will not import all features from MySQL5.6 because some of them seem not to be stable enough for MariaDB standards. MariaDB implemented by themselves itself. Otherwise they needs to re implement them. To add new specific features, major version number was necessary.

In comparison with MySQL, MariaDB's API and protocol are same. To support native non locking operations and progress reporting some features are introduced. This means that all connectors, libraries and applications which work with MySQL should also work on MariaDB whether or not they support its native features. On this basis, Fedora developers plan to replace MySQL with MariaDB in Fedora 19, out of fears that Oracle is making MySQL a more closed software project.In December 2012, Michael Widenius, David Axmark, and Allan Larsson announced the foundation creation for overseeing the development of MariaDB. The prominent users are wikipedia, fedora, openSUSE, mozilla, chakra linux.

A list of tools are used to work properly with MariaDB. Some are: Clients -DBEdit(a free administration application for MariaDB and other databases), Navicat(a series of proprietary database management applications for Windows, Mac OS X, and Linux), MonYog and SQLYog (a graphical database manager and a monitor & advisor), HeidiSQL(a free and open source client for MySQL on Windows. It's included with the Windows MSI package of MariaDB beginning with the 5.2.7 release) ; APIs - node-mariasql (an API for nodewhich implements MariaDB's non-blocking operations however, it is compatible with MySQL). The applications support MariaDB drupal, kajona, mediawiki, phpmyadmin, plone, saltOS, word press and zend framework.