Posted December 23, 2010 by Spyros in DBMS / Databases

PHP and MySQL vs PHP and MariaDB


What is MariaDB?

With a General Public License, MariaDB is the community-developed replacement for the MySQL database management system due to Oracle’s ownership of MySQL. Under Oracle, MySQL will be free for use by software developers indefinitely, since it is unclear whether its license status will completely change in the future.

MariaDB is based upon the principals of the MySQL Database Server. For all intensive purposes, MariaDB works the same as MySQL. The commands, libraries, interfaces and APIs are essentially the same. It also contains all of the open source storage engines of MySQL database and some more as listed below:

* Aria

* Falcon

* XtraDB (drop-in replacement for InnoDB)


* FederatedX (drop-in replacement for Federated)

* OQGRAPH — new in 5.2

* SphinxSE — new in 5.2

There are some new features such as a new storage functionality called “Got Married” and a coding interface that goes beyond the simple command line structure of MySQL but overall, the interface is just faster and more reliable.

MariaDB has all the same functionality as MySQL, and is completely backwards compatible. This is because Michael “Monty” Widenius, the founder of MySQL, is the lead developer in the MariaDB project, and he is determined to keep the free database management system up to date with any new issues of MySQL released by Oracle in his absence. A fun fact to note would be that the MariaDB project was named after his youngest daughter.

Efficiency and Performance of MySQL vs MariaDB PHP Pairings

Both MySQL and MariaDB use PHP to structure their databases. PHP is free to use for anyone. Therefore, its combination with MySQL or with MariaDB will incur no initial investment or operational costs. Since PHP is primarily a scripting language used for a hosting server, the language is commonly used to create dynamic web pages. Developers use the language to create interactive web applications and web sites as PHP is user friendly and easy to learn, no programming languages are required to code. The syntax is simple, and the language is stable. Most developers simply embed HTML directly into the webpage without additional coding. The language and interface possesses a problem solving capability that assists developers if there is an error.

Lately however, MySQL is often compared with MariaDB in PHP website development. Again, MariaDB has the same functionality as MySQL, except MariaDB is a little bit faster and more robust than its predecessor. With the introduction of MariaDB and OPA of Oracle’s Sun system, MySQL will become less popular. The new MariaDB includes a new storage functionality called, “Got Married.” This new storage feature is purported better than, “MyISAM.” Furthermore, checksum proves to give a more accurate speedy result as MariaDB doesn’t ignore NULL’s unless it’s set to MySQL’s ‘old style’ checksum for backward compatibility.

Since MariaDB is truly a “drop and play” application, developers will have no problems with compatibility. Users may simply uproot MySQL and replace it with MariaDB. After doing so, developers will just notice the application is faster than their previous version. Developers using MariaDB in conjunction with PHP will enjoy more flexibility and ease of use than with MySQL.

Hence it’s no surprise that most analysts believe that it’ll only be a matter of time before developers switch from using MySQL to using MariaDB, so until then, MariaDB coding will be completely compatible with MySQL applications, and vice versa. Many robust applications use MySQL. Users that develop websites with MySQL do not necessarily need to transfer to MariaDB. However, most developers will not complain about functionality improvements.

MariaDB in the LAMP Stack

LAMP is an acronym for the best website host configuration which represents Linux, Apache, MySQL and PHP. Tech analysts believe that the M will soon be replaced by MariaDB as developers see how easy the new database management system is to port and use. Any software that uses the MySQL system can simply switch over to MariaDB and with little to no changes in coding and structure, enjoy faster speeds and improved functionality.

MySQL is a standard component of the LAMP web application software stack. The traditional LAMP structure in order to optimize MySQL employed the use of Memcache for speed as an option. As developers advance the offerings of MariaDB, users may expect that MariaDB will become the option of the traditional LAMP structure. Because MySQL and MariaDB are backwards compatible, this transition will be accomplished more easily in the future. Developers will be able to substitute MariaDB in place of MySQL and have even more functionality. MariaDB has also gained similar stability and possesses a more user-friendly interface even by itself.

So for the scripting component of the LAMP stack, support by MariaDB as opposed to MySQL will allow the users of the web browser to execute more programs on the server. Content may be both dynamic as well as static content and instead of PHP, Perl or Python as often substituted for their ability to handle multiple text streams from multiple sources simultaneously can do so with ease.

Experts expect that developers that built applications such as WordPress, Drupaland, and phpBB based on the LAMP software stack will consider MariaDB for future applications. Perhaps in time, Google, Wikipedia and Facebook will also consider MariaDB as well.

( This was a guest post by Gwen Davis. Thank you ! )