Features/ReplaceMySQLwithMariaDB

From FedoraProject

< Features
Revision as of 11:04, 4 January 2013 by Hhorak (Talk | contribs)

Jump to: navigation, search

Contents

Replace MySQL with MariaDB

Summary

MariaDB, a community developed fork of MySQL, will be the default implementation of MySQL in Fedora 19.

Owner

Current status

  • Targeted release: Fedora 19
  • Last updated: 2013-01-04
  • Percentage of completion: 40%

Detailed Description

MariaDB is a drop-in replacement for MySQL (fork), that tries to preserve API/ABI compatibility with MySQL and adds some new features. Recent changes in MySQL development made by Oracle indicate moving MySQL project to be more closed (e.g. CVE fixes or new regression tests are not publish any more).

MariaDB has active community with true open-source attitude instead. We would like to replace MySQL with MariaDB in early development cycle for Fedora 19. MySQL will be packaged in parallel at least for one release, but MariaDB will be the default.

Benefit to Fedora

Fedora will have true open-source MySQL implementation and won't depend on what Oracle decides to do with MySQL in the future. Compared to MySQL, MariaDB is faster in some cases, it includes some new engines and features, the existing engines and features are enhanced and still compatible.

Scope

TODO: will we depend on binary compatibility or do we change soname?

Admins shouldn't notice any change.

How To Test

We need to test switch MySQL -> MariaDB on some large production databases. We will have some larger database and MySQL will be running. At this point updating to MariaDB will be done and should process cleanly. After RPM update, database will be checked from database POV and users POV. Dump of the database should be the same and users shouldn't notice any change. We will need to test also connectors and applications using mysql client library.

User Experience

End-users:

  • There are no end-user visible changes, except the database being faster and more relieable.

Admins:

  • Packages structure and their contents are similar to MySQL and the changes are usually just some new files.

Dependencies

  • Dependencies are unchanged from MySQL.

Contingency Plan

  • Since we'll still package MySQL in parallel, we will be able to switch back to MySQL if necessary. Proper setting of Provides/Obsoletes should be enough to do so.

Documentation

Main differences between MariaDB and MySQL are listed in https://kb.askmonty.org/en/mariadb-versus-mysql-features/

Compatibility between MariaDB and MySQL is discussed in https://kb.askmonty.org/en/mariadb-versus-mysql-compatibility/

Package Review is available in https://bugzilla.redhat.com/show_bug.cgi?id=875150

Some related discussions took place on fedora-devel-list: http://lists.fedoraproject.org/pipermail/devel/2012-December/175269.html

Release Notes

We need to note this change in release notes.

Comments and Discussion