Archive for the ‘Databases’ Category

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!

Trip Report: DrupalCon Portland 2013

I have never been to a DrupalCon before so my first was DrupalCon Portland 2013 (with some 3,500+ attendees). My first DrupalCon happened to also be one that I spoke at, and I hope to return to Austin in 2014 (added bonus: I’ve never been to Texas before).

SkySQL had decided to get a booth at DrupalCon since I was speaking and I have to say that the booth was very successful. You may ask why and the simple reasons are:

  1. Everyone at DrupalCon was a user of MySQL. Once they hit scale, they may need professional services or even just switch to MariaDB. This is a captive audience.
  2. Everyone running Drupal at scale with many modules and nodes generally faced issues with database slowdowns. Hello remote DBA, consulting, or 24/7 support.
  3. We never had a bit of spare time to relax at the booth because people came over in droves to find out how MariaDB could help them, how SkySQL might make sense for them, or just poke us with general Q&A about MySQL. This happened even thru lunch, which we consumed at the booth. Let me add that lunch was great: Mexican, BBQ, etc.
  4. My talk was at an odd slot: competing with beer at 5pm. The room was full. There were many interesting questions. People were clearly interested in improving their database for Drupal. Lots of positive/immediate feedback on Twitter.
  5. Affable characters manned the booth. SkySQL sent Rod Allen and Marc Sherwood, and I enjoyed managing the booth with them. Conversation was great. The day I had to give a talk, I spoke all day at the booth then gave my talk!

It was also great to catch up with Dave Stokes, MySQL Community Manager, as he had a booth too. I hope we sent him some traffic! He’s also the writer of the Keeping your Drupal from Drooping series, so read part 1 & part 2. I reckon that I’ll blog more about Drupal & MariaDB soon as well.

I met some old friends., some of whom are working for the Whitehouse now. I also met some new friends who are all very gung ho about MariaDB at scale for Drupal hosting.

Here’s to happy Drupal & MariaDB/MySQL users!

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.

Trip Report: OpenWest Conference

Look at those mountainsI attended the OpenWest Conference in Orem, Utah, and have to say its one of the best community organised conferences. There were over 840+ people at the conference (with more walk-in’s), representing a greater than 100% growth rate compared to last year’s conference.

I gave a talk about MariaDB, and its safe to say that we’ve got many new features that that it’s getting very hard to go in-depth in a span of an hour.

One of the highlights for me was attending talks. I give so many talks, and spend a lot of time talking to people about MariaDB and MySQL, that I very rarely get to see other talks or learn new things. So OpenWest was very welcome from that aspect.

On Thursday, I saw a wonderful presentation by Dave Wellman on Hadoop 101 and the Big Data Hype. That’s an excellent slide deck with lots of animations. Rasmus Lerdorf gave an excellent presentation on PHP in 2013 – very detail oriented, I learned a lot about PHP 5.4. 

The highlights for Friday were the two morning keynotes – both Rasmus Lerdorf and Mark Callaghan gave thoughtful speeches. I gave my talk (thanks for the nice words Mark), received lots of good questions and feedback (thanks to being right before lunch), attended Mark’s MySQL Q&A which was a great conversation for an hour. Many were interactive. I stuck around for Steve Meyers presentation Database Optimization for Web Developers, which was a 2hr tutorial and a good walkthrough. 

Overall, a great time at the conference. Not to forget all the social time chatting with Mark and Steve. I’ve enjoyed my trip to Utah (first time here), and thanks to Steve for having us speak about MariaDB, and the captive audience.

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