The MariaDB Java Client 1.1.0 has been released. You can download it here.

This version focused on fixing all known database metadata bugs and ConnnectorJ incompatibilities. Specific fixes include:

  • Consistent, compatible with ConnectorJ handling of JDBC catalogs vs schemas vs databases
  • Implementation of several missing methods in DatabaseMetaData
  • Better handling of statement timeouts
  • OSGi-specific entries have been added to MANIFEST.MF so it can be used in OSGi environments
  • Added support for dumpQueriesOnException=true in the JDBC URL
  • Added support for IPv6 addresses in the connector
  • Added SSL support
  • and more…

See the Release Notes and Changelog for more information.

See also the About the MariaDB Java Client page in the AskMonty Knowledgebase.

In May of last year I blogged about MariaDB 10.0 for the first time. We received some feedback, digested it, and I further explained MariaDB 10.0. Now, with the first Alpha of MariaDB 10.0 out and a new year just beginning, now is a good time to explain a little bit more, especially about MariaDB 10.0 and MySQL 5.6 as I and others in the MariaDB project get asked a lot about the differences between them.

First, here are some details as to why we didn’t just take MySQL 5.6 as a base and create something that would have been called MariaDB 5.6. These details haven’t been widely shared before:

  1. The file structure of the codebase in MySQL 5.6 has changed. Single code files have been split into several and code has been moved around from one file to another. To merge MariaDB with this new file structure would be a very time consuming job. Why the file structure changed on the MySQL side is something that I don’t know the answer to.
  2. MariaDB 5.5 contains a large amount of code differences from MySQL 5.5 and includes many features that are only now being introduced in MySQL 5.6. In these cases the MySQL and MariaDB versions of the same functionality are compared and both design and QA reviews are done. Obviously, the one that scores better will be in MariaDB. In most cases the decision has been to use the MariaDB version of the feature.
  3. All new code (at least bug fixes) in MySQL does not necessarily have a corresponding test case anymore. When you merge such functionality into other code which differs from the code where the functionality originally resided, test cases are extremely important for evaluating that the functionality works as expected.

Very much in line with the second and third argument above, Stewart Smith from Percona wrote yesterday about the latest security fix in MySQL introducing a regression and how the QA work done in the MariaDB project and the importance of test cases saved him from placing the regression in Percona Server.

MariaDB is not only about being an alternative to MySQL. MariaDB is largely about innovating and improving MySQL technology. MySQL 5.6 was not a suitable base for innovation, so the following happened:

  1. We needed to introduce a new version since we are already in the process of introducing new features like multi-source replication, Cassandra integration, engine independent statistics and many more. Whenever you introduce new features you typically advance to a new major version.
  2. It would have been wrong to call next version “MariaDB 5.6″, because it’s not based on MySQL 5.6. Instead we decided to jump to 10.0.
  3. We know MariaDB needs to implement many of the features introduced in MySQL 5.6 to be a viable alternative to MySQL 5.6 and we have taken a stepped approach in merging or recreating features from MySQL 5.6.

The first major version, MariaDB 10.0 will, for example, include the merged InnoDB, merged Performance Schema, and a new implementation of Global Transaction ID. MariaDB 10.0 is targeted to be GA in the summer.

Our goal with the stepped approach is to eventually have all features of MySQL 5.6 either merged or re-implemented. All re-implemented features will be made compatible with their MySQL versions. In the end, MariaDB 10 should be fully feature compatible with MySQL 5.6 and, of course, on top of that include many extra MariaDB-only features.

The decision to re-implement functionality is very simple. We re-implement if a given implementation in MySQL 5.6 lacks something from our or the users’ point of view. A decision to re-implement is not made in an “I would like to do this”-manner, nor is it influenced by a “not-invented-here” syndrome. Each case is truly evaluated and extensively discussed. You can participate in these discussions and get your voice heard by joining the mailing list maria-developers@lists.launchpad.net at https://launchpad.net/~maria-developers.

Could another route have been chosen? Yes. We could have pulled in the latest version of MySQL 5.6 as a base for a version called MariaDB 5.6 and started patching. It should be kept in mind that MariaDB isn’t a bordered set of patches. Although MariaDB has MySQL as a basis there is a huge amount of engineering on top of it. The MariaDB engineers and QA are working full time on making MySQL technology better inside MariaDB.

There was also another possibility — to become a true fork, stop merging from MySQL, and break compatibility. But we didn’t want to take that path — we and MariaDB users in general do value much of the functionality introduced in MySQL and want it included in MariaDB.

MariaDB 5.5 has been a key part of MariaDB’s increasing popularity and we’re still riding upwards on that wave. More downloads every week, more distributions adopting MariaDB, and more big use cases.

Inside the MariaDB project we’re carefully handling a balancing act of being as easy an alternative to MySQL as possible while also introducing much-needed innovation, and keeping it all realistic as well. Without innovation MariaDB isn’t a product of its own.


Join the joint MariaDB & SkySQL roadshow to hear the latest about MariaDB and talk to us! Find the roadshow schedule and registration here.

  • Michael ‘Monty’ Widenius, David Axmark, and Allan Larsson announce MariaDB Foundation
  • Leading organizations pledge EUR1M to launch not-for-profit organization
  • Further sponsors sought; Board elections to be held February 2013

Percona Live Conference, London – December 4, 2012 –The founders of the most popular databases on the web, Michael Widenius, David Axmark, and Allan Larsson today announced the formation of the MariaDB Foundation. “MariaDB continues the project started 18 years ago when we founded MySQL, with code maintained by the same dedicated core team. The time is right for an independent organisation to to safeguard the interests of MariaDB users and developers as we head towards MariaDB 10” said David Axmark.

“The MariaDB Foundation has the potential to become a new beacon for the MySQL ecosystem. SkySQL is pleased to support the Foundation,  which can show leadership and continued evolution of the most widely used Open Source database.” said Patrik Sallner, CEO of SkySQL

Peter Zaitsev, co-founder of Percona said “We are delighted to support the MariaDB Foundation. We see the Foundation as a way of guaranteeing the stability and production engineering we need in the core code we share with so many other companies and users.”

Dan Shearer, veteran of the OpenChange and Samba teams added “Not only are databases increasingly embedded in infrastructure, but they are a means of expression. People engaged in genome research, public statistics bodies and open access data projects are concerned that their databases stay accessible for generations to come.Longevity is as much an issue as clustering and high availability.”

In its mission statement, the MariaDB Foundation exists to improve database technology, including standards implementation, interoperability with other databases, and building bridges to other types of database such as transactional and NoSQL. To deliver this the Foundation provides technical work in reviewing, merging, testing, and releasing the MariaDB product suite. The Foundation also provides infrastructure for the MariaDB project and the user and developer communities.

Monty Widenius is looking forward to an autonomous MariaDB Foundation. “Tens of millions of users rely on MariaDB and MySQL and they have more to thank than just all the excellent developers and persons helping to package and distribute MariaDB and MySQL. MariaDB exists thanks to the strength of the GPL and the efforts of the organizations who defend it such as our friends at the Software Freedom Conservancy and the Free Software Foundation Europe. The MariaDB Foundation will provide leadership on technical, legal, and policy matters of interest to all the community.”

About MariaDB
MariaDB is the compatible successor to MySQL, the world’s most popular Open Source database. MariaDB has greatly improved scalability and performance, engines for NoSQL and volume transaction processing, and clustering capability. The MariaDB client libraries are available under the liberal LGPL license, enabling a new generation of commercial applications. In a study by the 451 Group in May 2012, 85% of the companies surveyed were using MariaDB or MySQL data formats.

About the MariaDB Foundation
The MariaDB Foundation is a non-stock corporation that has applied for the US 501(c)(3) status, with so far 8 founders and 2 sponsors having pledged support, and more in discussion. In February 2013 the founders will appoint board members and confirm the bylaws. Until then the interim officers of the Foundation are:

  • Andrew Katz, Chief Operating Officer and Legal Counsel
  • Monty Widenius, Chief Technology Officer
  • Niall McCarthy, Foundation Development

The Foundation welcomes new founders and sponsors. All enquiries to
foundation 'at' mariadb (dot) org.

 

MySQL is a registered trademark of Oracle and/or its affiliates.

MariaDB is currently a registered trademark of Monty Program Ab.

All other company and product names may be trademarks or service marks of their respective owners.