Connectors now available to the MySQL® community as part of the MariaDB open source project

Helsinki – November 29, 2012 – Monty Program, the home of MariaDB, owned by MySQL®-database-creator Monty Widenius and its employees, and SkySQL, the trusted provider of open source database solutions, today announced the immediate availability of their connectors, ‘MariaDB Client Library for C and MariaDB Client Library for Java Applications’, to the wider MySQL® database community in the permissive LGPL licence.

With this announcement, the connectors become part of the wider MariaDB open source project, to which users will be able to contribute via relevant online resources.

Good news for open source developers

This announcement is relevant for users involved with applications built in C or Java language that also make use of a MariaDB and/or MySQL database, as these require a connector to ensure that the applications & the databases can talk to each other.

News Highlights

As part of their ongoing efforts to contribute innovation and technology to the wider MySQL database and open source user communities, Monty Program & SkySQL  today announced the availability of the MariaDB Client Library for C and MariaDB Client Library for Java Applications.

Up until recently, the two companies had been working on the connectors as a joint internal project used for specific customer requirements and they are now making their connectors generally available to the community as part of the MariaDB open source project.

Connectors enable users to connect from a given application to a database, in this case the MySQL & MariaDB databases. Commercial maintenance & support for the servers and connectors will be available via SkySQL’s Enterprise Data Suite.

Download links & additional resources

Supporting quotes:

“These connectors have been an internal SkySQL/Monty Program project long enough and it was time to make them available to the wider MySQL user community,” said Monty Widenius, CEO of Monty Program. “The connectors will add value to the MariaDB project by making our database technology and the MariaDB project itself easier for everyone to use. If anything, we’re opening the MariaDB project even further to the community and demonstrating that innovation happens with MariaDB.”

 “We’ve been seeing a strong demand for connectors from the MySQL database ecosystem. We are looking for means to ensure that the ecosystem prospers and that both users and developers have a rich set of options. We believe that these connectors will help to stimulate innovation in the ecosystem,” added Patrik Sallner, CEO of SkySQL. “Helping organisations out there adopt the MySQL and MariaDB databases more easily for their software projects also reinforces our position as the one-stop shop for all things to do with the MySQL and MariaDB databases.”

About SkySQL

SkySQL is the trusted provider of open source database solutions for MySQL and MariaDB users – in the enterprise and cloud, providing over 300 enterprise customers including Canal+, ClubMed, Constant Contact, Deutsche Telekom, La Poste, Virgin Mobile, Western Digital and XING with database deployment and management solutions.

With 250+ years of original MySQL experience, SkySQL has the leading MySQL talent pool with sponsorship by the original MySQL and MariaDB creators. It has also developed cloud-based database management solutions that bring ease of use, while providing an effective way to increase database productivity both in the enterprise and the cloud.

For more information, please visit www.skysql.com, and follow the company’s conversations on Twitter and Facebook.

About Monty Program

Monty Program Ab was founded by Michael “Monty” Widenius, the founder and creator of MySQL®. Monty Program is a center of engineering excellence for MariaDB, the Aria storage engine, MySQL®, and other associated technologies.

More than half of our staff are full-time developers, including most of the original MySQL engineers, some new personnel, and Monty. We have a better knowledge of the core MySQL® code than any other company! We are well funded and all of our plans and strategies take a long-term view.

For more information, visit: http://montyprogram.com

 

 

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

MariaDB is a registered trademark of Monty Program Ab.

SkySQL and the SkySQL logo are trademarks of SkySQL Inc. or SkySQL Ab. Neither SkySQL nor Monty Program is affiliated with MySQL or Oracle. All other company and product names may be trademarks or service marks of their respective owners.

The MariaDB project is pleased to announce the immediate availability of MariaDB 10.0.0! This is an alpha release.

MariaDB 10.0 is the current development version of MariaDB. It is built on the MariaDB 5.5 series with backported features from MySQL 5.6 and entirely new features not found anywhere else. See “Explanation on MariaDB 10.0″ and “What comes in between MariaDB now and MySQL 5.6?” for more information on why we’re calling this series “MariaDB 10.0″.

This is the first 10.0-based release, and we are releasing it now to get it into the hands of any who might want to test it. Not all features planned for the MariaDB 10.0 series are included in this release. Additional features will be pushed in future releases.

It should go without saying but: Do not use alpha releases on production systems!

See the Release Notes and Changelog for information on this release in particular and What is MariaDB 10.0? for more information MariaDB 10.0 in general.

Thanks, and enjoy MariaDB!

Last Summer I implemented a non-blocking client API in MariaDB, and it was included in the MariaDB 5.5 release. But somehow I never got around to announcing it.

However, that did not prevent Brian White from noticing it, and using it to implement a new mysql binding for node.js called mariasql.

Now, node.js is a single-threaded, event-driven framework for web application sever development. In such frameworks, all I/O is done non-blocking or asynchronously, as are all other actions that may need to wait for external events. There is a single event loop which uses a poll() or similar system call to wait for any pending I/O or other event to complete, and then dispatches the appropriate event handler(s). Such frameworks are often used instead of a multi-threaded model, eg. if threads are not available or to avoid complex inter-thread synchronisations and expensive context switch overhead.

Such frameworks are exactly where the non-blocking client library in MariaDB is useful. The Knowledgebase has all the details, but here is the basic idea:

To run a query, the application does a call like this:

mysql_real_query_start(&status, mysql, “SELECT * FROM t1″);

This will send data on the socket, and the server will start executing the query. But instead of waiting for the results, like in the normal  API, the call then returns immediately. The application can then check the status of the running query; in this case it finds that the query is waiting for data to arrive on such-and-such socket descriptor. The application will then register a callback and include the socket descriptor in the poll() call in its main loop. When data arrives, the callback fires and invokes:

mysql_real_query_cont(&status, mysql, <data_is_ready>)

Then the query processing continues, possibly returning multiple times while waiting for more data to arrive, and finally completing the operation.

The API is carefully designed to be just what is needed for event-driven frameworks like node.js to use it conveniently and efficiently. So I was really pleased to discover the mariasql project apply this theory to practise. I was of course especially pleased to see the benchmarks, where the non-blocking library is significantly faster than other MySQL bindings for node.js when queries (and thus waiting on the network) is involved. Without a proper non-blocking API, frameworks must resort to spawning background threads and defering blocking operations to such background threads; presumably the speedup comes from avoiding the inter-thread synchronisation and context switches. Of course avoiding the maintenance of background threading also simplifies the implementation.

Note by the way that the MariaDB non-blocking client library is fully compatible with all versions of the server, including all MySQL versions. So while mariasql must be linked against the MariaDB client library, it can be used with any MySQL server (the mariasql source tree seems to include the MariaDB client library to make this even easier for users).