Posts Tagged ‘MariaDB’

MariaDB 10.0.3: installing the additional engines

So MariaDB 10.0.3 Alpha is out. Download it and remember to provide feedback.

When you run SHOW ENGINES by default, you don’t get CassandraSE or the CONNECT engine. Make sure you do a yum install MariaDB-cassandra-engine and a yum install MariaDB-connect-engine

You will run into conflicts if you had an older MariaDB-CassandraSE engine (so yum remove MariaDB-CassandraSE).

Once you’ve got the packages installed, you can either install the plugin or just restart mysqld.

Happy testing!

Homebrew (Mac OS X) and MariaDB 10.0 series

Today I performed a brew update. I noticed that MariaDB now exists as stable (5.5.30) and devel (10.0.2). Brew formulas also exist for MySQL (5.6.10) and Percona Server (5.5.30-30.2) now. 10.0.3 is around the corner but I wanted to run 10.0.2 now. This is how I did it:

brew unlink mariadb
brew install --devel mariadb

It’s that simple!

MariaDB in Red Hat Software Collections

Towards the end of last year, I was asked to investigate the Red Hat Software Collections by someone that popped by one of my talks. SkySQL has been working heavily with Red Hat, and with Fedora 19 shipping MariaDB as a default, it seems like MariaDB is getting even more distribution. The Red Hat Software Collections 1.0 Beta is now available for users of Red Hat Enterprise Linux 6.

From a database standpoint, users now get MariaDB 5.5. I encourage all to try it, as it is an in-situ upgrade. It is described as:

MariaDB version 5.5, which introduces an easy-to-adopt alternative for MySQL for Red Hat Enterprise Linux users. Binary compatibility allows MySQL users to drop-in MariaDB without converting data files.

Sweet. But for database users, it also includes MySQL 5.5 (better than 5.1.69), and PostgreSQL 9.2 (better than 8.4.13). After listening to Rasmus Lerdorf talk about PHP 5.4, I’m glad that I can now use it with RHEL6.

I wonder if there will be CentOS Software Collections as well?

Read an article in PCWorld about Software Collections (see a press release too). There’s some developer documentation from Red Hat, and some draft documentation from Fedora too.

Thanks SkySQL, Team MariaDB and Red Hat!

Percona has more MariaDB features now

Lately more people ask me for comparisons between Percona Server & MariaDB. There isn’t a definitive blow-by-blow feature comparison yet, but it’ll come soon.

All that said, its great to see new features from MariaDB make it into Percona Server. The features that I’ve managed to track: group commit for the binary log, threadpool and atomic write support for Fusion-io devices.

It started with the group commit for the binary log feature in Percona Server 5.5.18-23.0 (docs). 19 December 2011 is a long time ago, and before we made MariaDB 5.3 or 5.5 GA as well. 

The next feature that made it into Percona Server was the threadpool (different implementation compared to MySQL Enterprise). We had a threadpool since MariaDB 5.1 (libevent based), but improved it drastically in MariaDB 5.5. It made its debut in Percona Server 5.5.29-30.0 (26 February 2013 – so about 10 months after we included the feature), but was further improved in 5.5.30-30.2 to include priority connection scheduling.

The latest feature to be included? Fusion-io DirectFS atomic write support. It made its debut in Percona Server 5.5.31-30.3 (24 May 2013 – so about a month since we included the feature). I like this because Laurynas Biveinis provided some feedback on the maria-developers list.

Great opensource at work here. I look forward to more features making their way back & forth between the branches.

Immediate thoughts on Business Source Licensing

Sunrise at SanurI just got back from a vacation to see articles about Business Source Licensing. I’ve divided my thoughts into four parts here: Opensource and its merits, Is unpaid opensource usage bad?, MariaDB’s “Problem”, Business Source Licensing. If you haven’t read them yet, here’s some mandatory reading:

  1. Open source: Its true cost and where it’s going awry by Monty Widenius
  2. MySQL Co-Founder Wants You To Pay Up For Open Source

There is much abuzz on Twitter as well. From the likes of Mike Olson (who is right, MariaDB may have issues that are different to other OSS products – no two OSS projects/products are alike), to a lengthy conversation between Jim Jagielski & Matt Asay, as well as another conversation spurred by Matt Asay.

Now for some of my own commentary.

Opensource and its merits

Companies have been heavily using opensource and the reason they like this is because it is open. They don’t pay for licenses like proprietary software. They use opensource because they don’t have to pay for support, services, or anything around it. Countries have pro-opensource policies so that they can empower local citizens and further strengthen their sovereignty. This is what makes opensource popular: the fact that the software comes to you with many freedoms.

Is this bad for companies building businesses around opensource software products? Well, kind of. It means you have to provide real value before someone decides to pay you. And if for some reason you price yourself out of the market, companies choose to hire resources internally. This is the beauty of opensource. Many companies I know have started to use RHEL licenses from Red Hat; once they decide they see less value from the updates or the knowledgebase, they switch to CentOS at their next cycle. No problem there.

Is unpaid opensource usage bad?

I’m going to say that I disagree with Monty and think that he is wrong here:

“The more people are using it and, in these cases, abusing the whole idea of open source by not paying back either with development or money to help projects, it is actually destroying open source.”

I really don’t think opensource is destroyed by having many users and lacking corporate sponsors. This is the way of opensource and has been for a long time. Apple makes use of CUPS to ensure printing works – they did so long before they hired their main developer. We all benefitted from Samba which is how we talk to Windows printers/shares/etc. which had no real commercial company around it (Linuxcare, then IBM, then other providers funded the work). LibreOffice has always existed with lots of work by various distributors of OpenOffice.org (via the ooo-build system), which is why the project took off so fast.

MariaDB’s “problem”

When there is commercial need for opensource, the corporate sponsors will arise. It takes a long time to get to a stage where you are going to get profitable in an opensource services or infrastructure company. Red Hat didn’t get to a billion dollars overnight. Neither did MySQL.

I will not comment on the financials of Monty Program, SkySQL or how tough it has been to bootstrap the MariaDB project because I clearly am privy to information there. I am particularly proud of how we’ve done a relatively great job at getting MariaDB users and distribution, all on a bootstrap marketing/PR budget with no professional help :-) However, I will reminisce another day.

Simply put: if Oracle stopped producing opensource MySQL or decided that they would shut it down, there would be immediate need for MariaDB and the corporate sponsors would come in throngs. The truth is that Oracle continues to produce MySQL as an opensource product. It may not be a full opensource project (internal trees, delayed public pushes, private bugs database, internal mailing lists, etc.) that follows “the architecture of participation”, but it is still an opensource product. This is what has enabled people to take MySQL and extend it further. Look at the Facebook 5.6 tree, or the Twitter 5.5 tree.

There is talk about the dual-licenses that MySQL chose to use. I remember a time when the connectors were LGPL. They were then relicensed as GPL. They still are. But I think we effectively nipped this with the: MariaDB LGPL Java client, MariaDB C Client Library, and the BSD drizzle stuff.

Business Source Licensing

Now for the bits on business source:

“The whole idea with business source is actually very trivial. It is a commercial licence that is time-based and which will become open source after a given time, usually three years. But you can get access to all the source. You can use it in any way but the source has a comment that says you can use it freely except in these circumstances when you have to pay,” Widenius said.

“You’re forcing a small part of your user base to pay for the restrictions, which can be if you’re making money from [the software], if you have more than 100 employees, or you’re a big company or something like that. So you’re forcing one portion of your users to pay. But because it’s time-based, everybody knows that you can still contribute to the project,” he said.

“Because you have the code, you know that if the vendor does something stupid, somebody else can give you the support for it. So you get all the benefits of open source except that a small portion of users has to pay. As long as you continue to develop the project, each version still gets a new timeline of three years.”

Hmm. I see many people commenting that MariaDB might become business source licensed. I am here to tell you that MariaDB is GPLv2 software. It will stay GPLv2 software.

Reading the definition of business source licensing, it is nothing like what Matt Asay portrays it to be:

“Business source is simply proprietary software released under a Microsoft-esque shared source license that magically becomes fully open source after a period of time.”

I’m sorry but the description above is pretty clear. This is nothing like Microsoft shared source. It is code that becomes licensed under an OSI-friendly license after a time-period; however everyone using the software gets the code. How does one enforce payments? I don’t know. What are the conditions requiring you to pay? I don’t know.

At this stage, I am open to thoughts on such a licensing model but I have no firm thoughts on this myself. The best description of how this works is given above by Monty.

Update: Sun 2 Jun 2013 17:33:53 MYT Monty has an update on business source licensing in a comment on Matt Asay’s column.

Testing Fedora 19

Today I downloaded Fedora 19 alpha to give it a spin. Some quick notes.

You can get MySQL by asking for the package community-mysql-server. This is 5.5.31. If you ask for stock “mysql” (i.e. yum install mysql-server), you automatically get MariaDB 5.5.30 (mariadb-server).

Fedora 19 runs systemd, so there is no longer /etc/init.d/mysql to start/stop/restart. So just do systemctl enable mysqld.service. Then perform: systemctl start mysqld.service. Replace start with: stop/status too. You can disable it too if you want.

MariaDB 10.0.2 compiles cleanly on Fedora 19 with gcc-4.8. Just perform: yum install bzr gzip tar gcc gcc-c++ make libtool bison ncurses-devel zlib-devel automake autoconf cmake. Get the source code (I just downloaded it). Do BUILD/compile-pentium64-max. Wait. Run make test. Enjoy. Refer to build environment setup, generic build instructions.

If running in a VM, set aside 15GB to ensure you always have sufficient space (I personally use 20GB as I like to test various upgrade scenarios too.


i