Continuing on from my previous posts, MySQL code size over releases and MariaDB code size I’ve decided to also look into some other code branches. I’ve used the same methodology as my previous few posts: sloccount for C and C++ code only.
There are also other branches around in pretty widespread use (if only within a single company). I grabbed the Google, Facebook and Twitter patches and examined them too, along with Percona Server 5.1 and 5.5.Codebase LoC (C, C++) +/- from MySQL Google v4 patch 5.0.37 970,110 +26,378 (from MySQL 5.0.37) MySQL@Facebook 1,087,715 +15,768 [Read more...]
Continuing on from my previous post, MySQL code size over releases.
I wanted to look at the different branches/patch sets of MySQL out there and work out how far from upstream they deviated. I’m just going to compare against whatever upstream version the most easily accessible version is based on (be it 5.0.x, 5.1.x or whatever).
For MariaDB versions, I removed innodb_plugin and replaced it with xtradb for stats purposes as the MariaDB innodb_plugin is essentially the same as upstream and I don’t want to artificially inflate the diff size.
The first three major versions of MariaDB were all based on MySQL 5.1. I used sloccount and only counted C and C++ code.
So, let’s look at some of the MySQL patch[Read more...]
After some final testing and polishing, the MariaDB project and Codership are pleased to announce the release of MariaDB Galera Cluster 5.5.29. This is a Stable (GA) release. MariaDB Galera Cluster links:
First, congratulations Oracle on the GA of MySQL 5.6! Well done!
In this post I walkthrough the features of the first two alpha versions of MariaDB 10.0. The first, 10.0.0-alpha, which was made available in November, and 10.0.1-alpha that saw daylight yesterday. I will go through the features by placing them in the following categories:
I’m getting more and more concerned about the current Oracle approach to MySQL security. And the fact that I was solely responsible for the email@example.com for about ten years, doesn’t make it easier, on the contrary, it only emphasizes changes in the attitude.
Starting from the obvious — somewhat slower response to critical bug fixes, which can be expected, Oracle is a big company, right? Very little information about security vulnerabilities is disclosed, CPUs are carefully stripped from anything that might help to understand the problem, it takes hours to map them to code changes. Heck, even test cases are kept private now. This seriously smells[Read more...]
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:
See the Release Notes and[Read more...]
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:
This podcast would not achieve its goal if there were no listeners to learn about MySQL. This week we play a bunch of bloopers as our year-end gift to you. We hope these make you laugh!
Just a quick note to say that the site has been updated to a new theme which is based on the super awesome Twitter Bootstrap UI framework. To make life easier, since this site is also using WordPress at the core, I’ve made use of the WordPress Bootstrap plugin which allows for very simple integration. However, that wasn’t enough because the Bootstrap plugin comes with rather basic and boring generic styles; so I added the plugin for Google Font support and then modified the CSS accordingly.
You will also notice that the site is undergoing some reorganization of categories and content tags. This should help clean up search results as[Read more...]
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[Read more...]
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[Read more...]
This week, we continue our series going through the Operations Report Card as it applies to database administrators. This week in Ear Candy, we talk about a hidden client value for max_allowed_packet (separate from the session variable). In At the Movies, we present Karen Tegan Padir of Enterprise DB presenting The More Things Change, the More They Stay the Same.
Oracle's "Scale with MySQL" seminars:
Madrid, Tuesday 27 November
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[Read more...]
This week we continue part 3 of the Operations Report Card and how it relates to database administration. This week we talk about the section on "Operational Practices", and it covers how operations are run. In Ear Candy we present different tools for finding a machine's external IP address, and in At the Movies we present a video about MySQL Security from when Sheeri was touring Latin America in July.[Read more...]
This week, we go through the "Modern Team Practices" part of the Operations Report Card, and how it applies to DBAs.
Oracle's "Scale with MySQL" seminars:
Scale with MySQL Seminar, London, Tuesday 30 October
Bucharest Romania, Tuesday 13 November
Madrid, Tuesday 27 November
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[Read more...]
Bug reporting stays open! JIRA is open to anyone. The bug reports are publicly available, even without logging in and as a bonus it will be easier to follow what is going on in the project since you don’t have to jump between several tools to get the complete picture.
All bugs that existed in Launchpad have been migrated to JIRA. To find a bug that was originally reported on Launchpad use the following approaches:
We’re pleased to announce the first preview version of the Cassandra Storage Engine!
The Cassandra Storage Engine (SE) allows access to Cassandra databases from MariaDB/MySQL, and to provide data integration between the SQL and NoSQL worlds.
Have you ever needed to
With Cassandra SE, this is easily possible. Cassandra SE makes Cassandra’s column families appear as MariaDB/MySQL tables that you can insert to, update, and select from. You can perform joins on Cassandra data, or againist data in Cassandra and data in MariaDB.
Today we’re releasing a source tarball, as[Read more...]
Infor announced this week, that they will provide open source database alternatives to some of their products. MariaDB has been chosen, tested, and certified by Infor to be the open source database of choice (together with MySQL) for the Infor LN and ION products. Infor LN is Infor’s flagship ERP and is sometimes better known by its former name, Baan. It has 25 years of manufacturing know-how built into it and is used by more than 5,000 companies worldwide in a wide range of industries. These include automotive, industrial equipment and machinery, high tech and electronics, and aerospace and defense. This is a big stamp of approval that even the most critical systems can be run on MariaDB.
In other news, there are currently several really interesting paths coming together into some important[Read more...]
For some of you who situated near New York City I am happy to announce that you could attend two events related to leading Full-Text search engines in open source – Sphinx Search.
First meeting organized by NYPHP meetup on Tuesday, September 25th at IBM, 590 Madison Avenue, New York. I’ll be speaking about search services in cloud environment and distributed search tips and tricks. Event is free, please RSVP.
One week later on October 1st, I’ll be doing tutorial about MySQL and Sphinx “[Read more...]
A few months ago we announced the EXPLAIN Analyzer, a simple tool to help you understand how MariaDB / MySQL was running queries. For users of HeidiSQL this is now even easier. As discussed in their news post you can now send a query to the EXPLAIN analyzer with a single click.
We hope this helps both new and experienced users better understand the queries they run.
More information about the EXPLAIN Analyzer and the simple API client authors can use to add support to their apps is available in the AskMonty Knowledgebase:[Read more...]
About a week ago I was looking at MySQL 5.5.27, and noticed a curious thing. Despite the fact that the new MySQL release contained its usual share of bug fixes, not a single one of them was accompanied with a test case.
Now, let me tell you something about tests. For many years MySQL was using its own testing framework, called mysql-test. The first version was written as early as 1999. Over the years it has accumulated a lot of tests. Tests for new features and regression tests — those that guarantee that a bug, once fixed, will never ever show up again. We had pretty strict policies about it in MySQL AB (and, later, Sun Microsystems) — every new bug fix always had to come with a test case for the bug. And because these tests were always run on many platforms for every push (by the continuous integration tool called Pushbuild — developed in-house by[Read more...]
In end of May I told about the numbering plans for the next version of MariaDB in the blog post What comes in between MariaDB now and MySQL 5.6?. We received quite a lot of feedback and criticism on the idea of calling the next version MariaDB 10.0. Here is a little more information about why it makes sense to call the next version 10.0.
This is not news for most of you. MariaDB is not just a set of patches applied on top of MySQL. MariaDB includes features which are similar to the corresponding features in MySQL, but the implementations differ, like for example the thread pool, microsecond support and query[Read more...]
So I have noticed that people don't like it when I talk about all the cool stuff Jackrabbit can do. Many people are still scared of running Java stuff in production which I guess is to be expected since PHP shops tend to .. guess what .. PHP. So in this post I just want to talk about all the cool features we have ready to use in the pure PHP Doctrine DBAL based implementation of PHPCR. Just to say it again: PHP, no Java. So first up the implementation with all its features works with MySQL, PostgreSQL and SQLite. Given that we started with MySQL we ended up relying on few specific MySQL behaviors. These are all gone now, so adding another RDBMS is likely just a half days work, maybe a day if you look at the code base for the first time, then again the relevant code to edit are just a few places in two classes ([Read more...]