Wednesday, 17 December 2008

Meet MySQL's everyday heroes

Lenz GrimmerDuleepa Lenz Grimmer and Duleepa Wijayawardhana have made a series of interviews with the everyday heroes of MySQL. Some are oldtimers, others are new. Some previously worked for MySQL AB, others joined our team through Sun. But all are part of the fabric of today's MySQL.

Lenz and Dups asked a number of interesting questions from these guys:

Lars HeillAlexander Adam DonnisonMasood MortazaviStewart SmithIgnacio Galarza

  • What are the key principles of open development?

  • Whose philosophy is "My job is not to get excited. My job is to worry about our customers."

  • What are the "hidden ingredients" to make scale?

  • What are the challenges for the Release engineering team preparing for the post-5.1 GA world?

  • What will enable the Drizzle team to show the user how much memory each query consumed at various points of execution?

  • Who has run MySQL 5.1 in production for 18 months?

  • Why is the Win32 API a challenge?

  • Who is a generalist with a preference for the Windows platform?

  • Who has a perspective on the MySQL Support Team dating all the way back to 2002?

  • Who is looking forward to the MySQL Cluster 6.4 release?

  • What is the SunInventory web service?

  • Who was born in Northern Norway? Who has family in Iran, Turkey and Germany?

  • Whose Ph.D. dissertation was titled "Vortex-Vortex Interactions and Probability Density Function Methods"? Who has written COBOL for a living?

  • Who thinks "Photography feeds my soul"?

  • What is the meaning of the acronym "WTF"?

  • Whose office is "a semi-grown-up nerd's playroom"?

  • Who worked as root@local.internet.provider and didn't find Oracle for Linux and hence started with MySQL 3.22?

  • Who works daily on C, C++, Pascal, JavaScript, CMake, WiX, Lua, Perl on Windows, Linux and Mac?

  • Who isn't even 30 years old yet, but claims to look older?

  • Who wants to make MySQL development processes contributor friendly?

  • Whose beard froze in the -25 to -30 degree winters in China's northeastern provinceof Heilongjiang?

  • Who works in Menlo Park? Trondheim? Melbourne? Orlando? Sofia? Rural Victoria?

  • Will the next Bourne film be called "Database supremacy"?

For the answers (or hints at answers) to these and other questions, go read the interviews!

Thank you, Lars, Masood, Stewart, Salle, Adam and Iggy -- both for your daily heroics, and for telling us about it!

Tuesday, 16 December 2008

Recipe for celebrating MySQL 5.1 GA

Here is my personal recipe for celebrating MySQL 5.1 GA (called "Five shot one"):


Served in:

  • Five Iittala shot glasses from Finland

  • One HB 0,5 litre Weißbier glass from Hofbräuhaus, Munich

Thank you, MySQL Engineering Team!

Monday, 8 December 2008

MySQL 5.1 is GA -- including a behind-the-scenes report

I suspect that few of the readers of my blog have missed it, but MySQL 5.1 is GA. And I suspect it was no surprise to my readers, nor those of Giuseppe, the Community Team Lead. Nor those who read Sheeri's blog, with the picture of Dups unmistakably setting GA date expectations at the OpenSQL Camp a number of weeks ago.

OpenSQLCamp - breaking news

In addition to our communication, there has been some, ehmm, complementary communication on MySQL 5.1 GA, its history, its quality, and its timing. Some of that may have been a tad one-sided, painting the world in a bit darker colours than absolutely needed.

As an outside observer, it may be hard to read properly between the lines, and interpret what's really going on behind the scenes. Now, Giuseppe has made all that quite a bit easier with his fresh posting.

Saturday, 6 December 2008

Back from Ukraine and Russia

Now being back from last week's trip to Ukraine and this week's trip to Russia, it's time for an overview.

MySQL was prominently present at both Sun events, the one in Kiev on 26.11.2008 and the one in Moscow last Tuesday 2.12.2008. It was good to discuss with local Sun guys, and to meet MySQL community people and colleagues in both places.

The two first pictures in this post are from the community event at a university of economy in Moscow.

Like elsewhere, I started in the local language (which, perhaps surprisingly, frequently seems to be Russian also in Ukraine), followed by a "MySQL in the Web Economy" presentation in English.

Russia and Ukraine are interesting places, so I blogged quite a bit about the event. But I don't want to spam Planet MySQL with travel tips and reports of Russian saunas, Russian taxis and Russian food. So here's a short overview of the other blogs I wrote.

In Swedish:

In German:

In English:

In Russian:

Let me conclude by sharing some of the pictures found in the detail blog postings, in miniature format:

Thursday, 4 December 2008

Freedom to work anywhere

You remember our slogan "Freedom to work anywhere", meaning that MySQL doesn't require you to relocate to Uppsala, Cupertino, München or anywhere, to join the company? And that you sometimes can work even far away from home? Sun continued this policy, more or less. Now, Dups is taking the policy to extremes.

Background: As a colleague and fellow mountaineer, I had heard of Dups wanting to do some mountaineering in the Andes well before hearing that he would want to join the Community Team. And hence, it was an easy thing for Dups to convince Giuseppe and me that he would retain his mountaineering plans, even though he joined our team. Hey, he can work nearly as well from Quito as he can from home.

Basically, Dups hasn't necessarily done anything more just now than fulfilling those plans. Nonetheless, I feel compelled to share what he's done, since Dups has given a perfect illustration of the extremes to which you can take the Freedom To Work Anywhere, by posting an 8 min 13 sec long video on YouTube.

So if you want 8 min 13 sec of impressive distraction, then I suggest you go take a look at his video.

This is what impresses me (not necessarily in this order):

1. That Dups climbs Rucu Pichincha, 4,784 m
2. That he videotapes it
3. That he speaks coherently [*] for 8 min 13 sec without interruption
4. That he puts it up on YouTube in real time
5. That he dedicates the video to Giuseppe, at about 4:15
6. That he is now back working, at his keyboard

[*] Relatively speaking, given the altitude and strain

I still have quite a bit of catching up to do, Dups. But I have already booked my trip to Kilimanjaro, so I am following your footsteps!


Monday, 1 December 2008

MySQL 5.1 release schedule

With the delivery of MySQL 5.1 GA, our release policy sees a couple of changes in relation to that of MySQL 5.0.

First, initially we will deliver both MySQL Enterprise Server and MySQL Community Server in parallel. The bug fixes to the initial MySQL 5.1 GA releases will thus be delivered also in binary form for both MySQL Community Server and MySQL Enterprise Server.

Second, after a period of time, we will revert to the different release schedule for MySQL Enterprise Server and MySQL Community Server that we have been using. MySQL Enterprise Server will have more frequent binary releases. However, at this point, we do not have an exact date or a release number, when the first Enterprise only release will happen.

Third, we have done away with odd and even numbering. Whenever MySQL Community Server is released, it will carry the same release number as the corresponding MySQL Enterprise Server.

Fourth, MySQL Enterprise Server comes in more flavours than the MySQL Community Server. This will allow us to offer different optional pricing levels for our commercial subscriptions -- where a customer will only have to pay extra for MySQL Enterprise support if he/she plans to use the higher-level features. Hence, MySQL Enterprise Server "Advanced" includes support for partitioning. However, do note that the MySQL Community Server provides the full partitioning functionality.

MySQL 5.1 Use Case Competition: Position 1

MySQL 5.1 is here! It's announced! And it's time for the overall winner, Position 1 in the MySQL 5.1 Use Case Competition.

1. Greg Haase (Lotame Solutions Inc., Elkridge, Maryland, USA): Using Partitioning and Event Scheduler to Prune Archive Tables. See Greg's DevZone article, and his blog.

Thanks and congratulations, Greg! I absolutely hope you are in a position to take advantage of your free MySQL Conference & Expo 2009 Pass, including a dinner with MySQL co-founder Michael “Monty” Widenius.


Saturday, 29 November 2008

MySQL 5.1 Use Case Competition: Position 2

The GA announcement of MySQL 5.1 is coming, and for downloading, it's already available, as I hope you have noticed from Giuseppe's blog. We continue our preparations, this time by announcing Position 2 in the MySQL 5.1 Use Case Competition.

2. Guy Adams (Parallel Ltd., Milton Keynes, United Kingdom): Using Partitioning to Manage Satellite Networks. See Guy's DevZone article.

Thanks and congratulations, Guy! I hope you too are in a position to take advantage of your free MySQL Conference & Expo 2009 Pass, including a dinner with MySQL co-founder Michael “Monty” Widenius.


Friday, 28 November 2008

MySQL 5.1 Use Case Competition: Position 3

The GA announcement of MySQL 5.1 is getting closer by the minute! So it's time for Position 3 in the MySQL 5.1 Use Case Competition.

3. Corrado Pandiani (Football Club Internazionale Milano Spa, Milan, Italy): Using Partitioning and Event Scheduler for online logging & real-time stats. See Corrado's DevZone article, and his blog.

Thanks and congratulations, Corrado! I hope you are in a position to take advantage of your free MySQL Conference & Expo 2009 Pass, including a dinner with MySQL co-founder Michael “Monty” Widenius.


Wednesday, 26 November 2008

MySQL 5.1 Use Case Competition: Position 4

The GA announcement of MySQL 5.1 is close, so close that we're seeding the mirrors (I hope you noted Giuseppe's blog entry)! So it's time for Position 4 in the MySQL 5.1 Use Case Competition.

4. Volker Oboda (TeamDrive Systems GmbH, Hamburg, Germany): Using the Pluggable API for TeamDrive. See Volker's DevZone article, and the Wikipedia article on TeamDrive.

Thanks and congratulations, Volker! Your MySQL Community Contributor T-shirt is underway.


Career trap: Internet

Do you read German? Then I have two recommendations for you.

First, go read this fresh interview with the German social networking guru Klaus Eck. It's about "a life long job application process".

Second, go read the book "Karrierefalle Internet" ("Career trap: Internet") by Klaus Eck. That book is what the interview is all about.

Klaus Eck's basic statement is "go manage your online reputation before others do it for you". He notes that he's seen plenty of Angst amongst social media newbies about how they're presented online, with the end result that those who are afraid don't do anything in their defense (i.e. they don't establish a web presence of their own), and are thus at the mercy of random comments on their real life turning up in the net. To me, the negative header of the book is rather a reason not to buy the book ("I want to steer clear of Internet, as it is a trap"), but perhaps he's right that fear sells ("I want not to be trapped by the Internet, so I'll buy the book").

At any rate, I bought the book, and I did so after noticing it by coincidence at the physical bookstore Hugendubel at home in Munich. So perhaps he's right that FUD sells.

As for the insights and structure of the book, I can only recommend it. Klaus has good suggestions and a good logic. He has thought of many Web related things I haven't, and I find myself concurring with most of those. I would disagree mainly on his recommendation to use Twitter only in one language. Nope. The web should reflect real life. What this means for your presence on Facebook, or Twitter, or LinkedIn, or anywhere is this: If your real life is multilingual, then so should your web presence be. Sure, in real life, I don't speak Italian to Russians. But on the other hand, I don't see a point in keeping it a secret from the Russians, that I have an Italian blog. Analogously, if you follow my Twitter feed, you'll see tweets in several languages. I pick the language based on who I direct the tweet at, and if you don't read the language in question, then it's likely that the contents are not that interesting for you, either.

Finally, I'd like to thank Klaus Eck for being one of the key sources of inspiration for my series of blogs where I "share my experiences improving my online manners through social networking websites, many of which are powered by MySQL.". So far, I've done Dopplr, Picasa Web and Facebook. More to come, with time.

Monday, 24 November 2008

Google Summer of Code 2008 Update

phpMyAdmin and MySQL Forge, along with the MySQL Build Farm initiative were the main MySQL related benefactors of Google Summer of Code 2008. phpMyAdmin got BLOB Streaming support and a simplified setup script, MySQL Forge got RSS and Atom feeds and the MySQL Build Farm got a test schedule.

Directly mentored by phpMyAdmin originator Marc Delisle, GSoC student Raj Kissu Rajandran completed the BLOB streaming support in phpMyAdmin. This is how he describes his project goals (which are now achieved):
It is often common to come across a website, especially a blog, that is built on a pairing of MySQL and PHP. Seeing as how most of those who run such websites on the Internet do not have access to a Shell account or have experience in managing applications from the command-line, applications like phpMyAdmin were built to allow the administration of MySQL databases through the convenience of a
web-base interface. Not to long ago, third-party support for streaming BLOB data was added to MySQL. This feature greatly simplifies the management of streaming content (audio, video) in and out of the database. Being both an avid programmer and frequent user of MySQL, I have decided to take upon the task of adding support for managing this feature in phpMyAdmin. The purpose of this document is to describe this feature and it's implementation and propose that Google fund its
implementation in phpMyAdmin through the Summer of Code 2008 program.

Raj's code is now integrated into phpMyAdmin, and he has gained phpMyAdmin committer status. More info:

Mentored by Michal ÄŒihaÅ™, GSoC student Piotr Przybylski set out to rewrite the phpMyAdmin setup script. Piotr set out (and achieved) these goals:
Current phpMyAdmin setup script does its job but it isn't easy to use by inexperienced users. Rewriting it would give them a simple setup wizard which would lead them though the entire configuration, showing only the most important options. On top of that, it would offer an automatic creation of control user and required databases, as well as automated update of existing tables in case these already exist. Advanced users would be able to switch to full configuration wizard and would also benefit from automated control user creation and database setup.

Piotr's code is integrated into mainline (but he still has some cleanup of the security checks to do). More info:

Mentored by MySQL Forge's originator Jay Pipes, GSoC student Robert van der Mast developed an RSS and Atom feed for MySQL Forge. His now completed goals were set out as follows:
I will develop a RSS and Atom feeds system for MySQL Forge (, so that MySQL Forge users can easily track new items on Forge by just using their RSS/Atom reader. The feeds will be cached to save unnecessary server load.

Robert's code is integrated into mainline Forge 2.0 code. More info:

Mentored by Adam Porter, GSoC student Charles Song implemented a Test Scheduler for the MySQL Build Farm Initiative. This is part of the Skoll project at the University of Maryland, "A Process and Infrastructure for Distributed Continuous Quality Assurance". His now-achieved goal:
The MySQL Build Farm Initiative seeks to create an automated environment that tests MySQL in multiple configurations over a powerful, virtual computing grid provided by community member's local machines.


Other MySQL related GSoC2008 projects are listed on where this is the list of all eleven projects:

  • A front end to the mysqlslap program

  • Mysql query analyzing tool

  • Adding parallelism to mysqldump

  • MyBS extension for PHP

  • A Test Scheduler for the MySQL Build Farm Initiative

  • Memcached for MySQL Query Cache

  • RBAC system system for MySQL server

  • phpMyAdmin setup script rewrite

  • BLOBStreaming Support for phpMyAdmin

  • MySQL Forge GSoC project code by Robert van der Ma

Other references: