This is Giuseppe Maxia's weblog at Sun.
For my historical blog, look at The Data Charmer

« December 2009
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Today

Blog::Navigation

Blog::Editing

Bookmarks::Blogroll

Blog::Referrers

Today's Page Hits: 115

Powered by Roller Weblogger.
« Previous page | Main | Next page »
Tuesday Mar 03, 2009

BoFs welcome at the MySQL Users Conference and Expo 2009

As usual, the MySQL Users Conference and Expo includes Birds of a Feather (BoF) sessions.

For the uninitiated, a BoF is an informal discussion group about a common topic. There is no registration and no fee for a BoF. You can organize one even if you don't plan to attend the main event. If your BoF is accepted and scheduled, you can organize it as you like. You won't get a free pass for a BoF, though.

We provide the rooms. You bring in the ideas. Submit a BoF proposal!

Almost everything is suitable for a BoF. We only ask that it is related to MySQL.

  • Do you have a project that you are developing and it is still in vaporware stage? No chances for the main conference, but perfectly OK for a BoF.
  • A topic that you feel is missing from the main schedule? Make a BoF.
  • Your favorite connector is neglected? A BoF may revamp the community attention.
  • Have you created a killer scheme that solves MySQL replication one-master-many-slaves limitation? Show it in a BoF.
  • Your fork of the Archive engine is the best thing since sliced bread? Boast it in a BoF!

Imagination is the only limit. Get a good idea. Make it known!

Wednesday Feb 18, 2009

Los Angeles MySQL meetup with Facebook DBA, Chris Schneider


South Californians, mark your calendars! On February 24th at 7,30pm the Los Angeles Meetup Group will host Chris Schneider, Facebook DBA, who will talk about "Scaling MySQL".

Now, if I talk about scaling MySQL, I will refer to personal experience in my consulting career, when 10 million people connected all at once to my customer's web site. You may be interested in the story or simply yawn. But when a Facebook DBA talks to you about scaling, 10 million connection is low traffic, and scaling takes a completely different meaning.

In this meetup, Chris will talk about different methodologies used at Facebook to deal with their scaling issues. If you are near Los Angeles on February 24th, you don't want to miss this meetup.

Monday Feb 16, 2009

MySQL Partitions at PHPCon Italia

I will speak at PHPCon Italia 2009, in Rome, on March 19th.

The subject is a very trendy. I will cover efficiency with partitions, a topic that every DBA and MySQL developers should enjoy.

Sunday Feb 08, 2009

FOSDEM 2009 - Boosting performance with MySQL 5.1 partitions

The MySQL Developers Room at FOSDEM was a success. There was a full room (about 80 seats, and many sitting on the floor) throughout the day. We started at 9am with a talk on PBXT, and ended at 17:00. My talk had a large audience and was very well received.

FOSDEM, the Free and Open Source Software Developers' European Meeting

The enthusiasm was quite high also because of a stunt I did during the presentation. It was a creative way of explaining the difference between physical and logical partitioning. I will repeat this stunt at the MySQL Users Conference, during my Tutorial on Partitioning.
Those who were attending today know about it. For the attendees at the Users Conference it will be a surprise.

The high point of the conference was at 1:15pm, with Kaj Q&A session, where we collected quite a lot of feedback.

For the many enthusiasts who followed my presentation, here are the slides.

Thanks to all participants for their stamina. Thanks to Lenz Grimmer for making this possible, and for the FOSDEM organizers for their kind hospitality.

Wednesday Jan 28, 2009

What’s New in MySQL Proxy?

After long wait, MySQL Proxy is back. Its new home on Launchpad is actively updated, and the busy bees Kay and Jan are working to bring us a binary release soon.

But, what exactly is new in MySQL Proxy?

It's easy to find out. On Thursday, January 29, 2009, 10:00 am PST, 1:00 pm EST, 18:00 GMT, there is a free webinar that explains the news in great detail.

If you have questions on what has been implemented and what is still in the making, this is your chance to find out. Participation is free. You only need to register on the webinar page.

Speaking at FOSDEM

I am getting ready to FOSDEM, the biggest European gathering of free and open source software enthusiasts. The event is held in Brussels, Belgium, on February 7-8, 2009.

FOSDEM, the Free and Open Source Software Developers' European Meeting

MySQL has a developers room on Sunday, with a schedule rich of well known names and juicy topics.

I will present a talk about partitions in MySQL 5.1.

Lenz will have a talk in the main conference, on MySQL high availability.

There is a wiki page on MySQL Forge where we will provide last minute information.

See you all in Brussels!

Friday Jan 23, 2009

MySQL Users Conference with embedded MySQLCamp

Well, I announced it a few months ago, and now Sheeri made it happen. The MySQL Users Conference and Expo 2009 will have a MySQL Camp embedded.

What is it? Asked most of the people I know, including many colleagues, some of them worried that I was giving away the company jewels.

For starters, it is not a competitor of the Users Conference. It won't duplicate its contents, nor is a way of sneaking into the main conference without a pass. It is a camp, and if you have attended either one of the previous MySQL Camps or the OpenSQLCamp, you know what I mean.

MySQL Camp is a gathering of MySQL geeks, developers, enthusiasts, code twisters, gurus, who want to exchange views on deeply technical matters. It is not run by Sun. While we have given Sheeri the task of organizing the event inside the event, we have purposely avoided being involved in the task itself. We want the camp to be a community event, and by community we mean you not us.

Let me just remind the rules of the game, as stated in my original post. Sun provides the room for the event and the rest is up to Sheeri, with two main guidelines.

  • Only MySQL related contents. This is the MySQL conference, and thus, if you want to hack a videogame or the latest music player, this is not the place to bring it.
  • No advertising. The Camp is a place for hacking code and exchanging technology. If you want to advertise your company, the main conference provides sponsoring and partner agreements that will allow anyone to promote their products.

Other than that, have fun!

Thanks, Sheeri, for organizing this event with your usual dedication and efficiency!

Monday Jan 19, 2009

Celebrating a year of MySQL and Sun

About one year ago, 400 MySQL employees were in Orlando, FL, for their company meeting. Their main worry was how to improve the business in view of the inevitable IPO that was coming soon. Nobody knew when, but there was expectation for Mårten Mickos keynote, on January 16, 2008, at 8:00. Possibly, everybody thought, he will announce a date for going public.

And public we went, but not the way we thought.

The evening before, I was among a group of about 25 people who were summoned to Mårten's suite, without a specific reason. At about 10pm, Mårten announced the $1B news, and for many of us there are only fuzzy memories after that. We weren't allowed to leave the suite before signing a NDA, to keep the news quiet until the following day at 8am.

Thus, having slept very little, with conflicting thoughts, I met my co-workers, and I couldn't tell anyone what was about to happen. We lined up for the keynote hall to open, and we were all seated and expecting the news of our launch into the Wall Street arena, which didn't come.

When Mårten announced that Sun Microsystems had bought MySQL for a billion dollars, many in the audience thought it was one of his jokes. Then, Jonathan Schwartz appeared on the giant screen, apologizing for wearing a tie because he was getting ready for a press conference and, he said, when you spend a billion dollars, you must dress like someone who knows what he's doing.

In very important moments, it's funny what you remember. I don't remember anything more of Jonathan's speech. The whole Orlando meeting is a series of flashbacks with little coherence.

I started waking up from the dizziness in the following days. Freshly appointed Community Team leader and on my way to a scheduled world trip, I had time to clear my mind while traveling.

I didn't come to terms with Sun until early April, when I started meeting new colleagues and understanding the organization. For MySQL, it is a change in scope that we understand, but we have barely started exploiting. We haven't generated $1B in revenues for Sun (yet). But the business decision sounds right. Inserting MySQL into Sun's portfolio is a good strategic move that will eventually pay off.

Now, enough with the old stories. Let's look at the future. Lenz and Dups have brought to you a gallery of 5 examples of good cooperation between MySQL and the rest of Sun. Starting with MySQL and Dtrace. Stay tuned for more!

Friday Dec 19, 2008

Registration for the MySQL Conference and Expo 2009 now open

Registration for the MySQL Conference and expo 2009 is now open.

Kudos to Colin Charles, who has the not easy task of being the program chair of the conference, for pulling the schedule together.

The schedule is not complete yet. If you haven't got either an approval or a rejection, your proposal is still under review. In the previous years, some of my talks were approved as late as February, but we are trying to finish off the schedule much earlier this time.

This is my last blog post for this year. I am going on vacation this evening. No computers, no internet. Therefore, no comments are enabled for this post (there would be nobody to moderate and approve them).

Happy new year, Community!

Sunday Dec 14, 2008

Talks wanted for FOSDEM 2009

Organization for FOSDEM 2009 is in full swing. MySQL has a devroom, for which we want talk proposals. The call for papers ends on January 15, 2009. There is no registration for the event, but if you want to have a 1 hour speaker slot, please send us a proposal using this form. As usual, we are looking for quality presentations, regardless of the level. We like original talks and we will privilege innovative, creative, and well documented abstracts. You will find some guidelines on how to submit a successful proposal and more info on the event in MySQL Forge wiki.

FOSDEM, the Free and Open Source Software Developers' European Meeting

FOSDEM 2009 is not only a geeky reunion, but also a family opportunity. There will be guided tours for spouses/partners!. If your significant one is not interested in technology or doesn't get a kick out of the intricacies of open source development practice, there are other pleasures to discover in Brussels.

Then, don't wait! Submit a talk and book your travel now!

MySQL 4.0 EOL

4.0 End of life

Extended support for MySQL 4.0 is about to be discontinued.

According to MySQL Lifecycle policy, MySQL 4.0 is now in extended support, meaning that only security and extremely severe bug fixes were applied to this release. The present condition ends on December 31, 2008. Then, MySQL 4.0 will join 3.23 in the list of unsupported versions.

The next version to meet the same fate will be 4.1, exactly one year later.

Wednesday Dec 10, 2008

Planet MySQL in Italian, and a new buzz!

New features for Planet MySQL.

Lenz has opened a new section for Italian blogs (I should say blogs in Italian, since there are blogs that are hard to classify).

Thanks, Lenz. We'll try to fill it with some good contents.

In the meantime, Dups was creating a new feature for the Planet. MySQL Buzz is a window on living contents about MySQL, from forums to blog posts, to news and videos.

The Buzz has a fun part. A cloud of most frequently used words. If you look closely at the forum cloud, you will see a THANKS. Forums are powered by the community. Kindness included!

Monday Dec 08, 2008

What's going on in MySQL land?

Enough of one-sided stories. Let's see a different angle of MySQL 5.1.

First, let me thank my colleague Chris Powers for taking a stand in defense of the management. But saying "everyone does so" is not a good explanation. The truth is much more complex and requires some narrative.

MySQL 5.1 didn't start on the right foot. The effort to produce its features was underestimated, mostly because, at the time when it was designed, the company was still unearthing the architectural bugs that were haunting MySQL 5.0.

MySQL 5.0 was GA in October 2005. One month later, MySQL 5.1 started its alpha stage, while a rain of bugs fell on the freshly released server. When the version was hastily declared beta 6 months later, the implication of the architectural problems weren't even found yet. That's why the beta stage of this version had a long and troubled course.

In September 2007, when 5.1 was declared RC, there were really too many open bugs and instability problems. The decision of going RC had little engineering justification. A fierce internal debate followed, with a prompt decision to review the release criteria, which kept many people busy for several weeks. The desire of shipping 5.1 GA before the Users Conference 2008 was rightfully dwarfed by the discovery of new, more disturbing bugs. Two more RCs were released, while the developers fought to fix a staggering number of bugs.

More than 3500 bugs affected MySQL 5.1, and by June we had fixed 2300 of them. There were still some outstanding critical bugs, and Marketing and Sales were pressing for a release. It was understandable. The economic situation of Sun was not good, the company had just cut 2500 jobs, and we needed the new release to boost sales. However, the outstanding bugs were so bad that the people who were in direct contact with users (Support and Community Team) strongly objected to a GA declaration at that point in time. In a joint effort, we identified 40 critical bugs that needed fixing before going GA. The position of the Support team was clear. They were not going to support row-based replication and partitioning, unless these bugs were fixed. The offending bugs were examined by a committee chaired by Sun Software CTO, and 35 bugs were recommended for immediate fixing.

You can see the result in the changelog. MySQL 5.1.27, which was the intended GA, was not released. Version 5.1.28 fixed 79 bugs, and version 5.1.29 fixed 58 more, and 8 fixes went into 5.1.30. The critical bugs identified by Support as the basis for supporting the new release were all fixed. Of the usability bugs identified by the Community team, only two were deferred to MySQL 5.1.31, and will be available in the next binary release.

The above explanation makes little sense if we don't explain the criteria for triaging bugs. Until MySQL 4.1, the release criteria for GA was "zero known bugs". That rule was artificially ignored in 5.0, with the results that we all know. But in 5.1, there was no way of shipping with such rule. MySQL has become a much more complex product than it was in 4.1, and a flaw doesn't necessarily affect all the users. It is likely the contrary, in fact, that a defect identified in our QA laboratory only affects a small portion of our user base, or none at all, like it happened to a bug in prepared statements, found by a Support engineer, 4 years the feature was released, and so far claimed by no one (The bug was fixed, BTW).

Back to the triage criteria. There were 1000 open bugs when we went RC. The only way of getting rid of them was to prioritize the bugs. Classifying the bugs based on one single parameter, as we did before was not an option. We needed to be more specific. So all the open bugs were reviewed, and classified according to defect class, impact, workaround, risk to fix. Not a perfect system, I grant you, but nonetheless it allowed us to start fixing the most serious bugs with the greatest impact first. If a bug is a crash, but it only happens after a convoluted series of actions that our QA engineers have devised, and has little chance of affecting real users, that bug gets fixed after a similar one that occurs in a common sequence of events. If a bug affects two customers, then its impact is automatically raised, and thus fixed with priority.

The other important point is the risk factor. If a bug fix involves a substantial change of existing feature, it is deferred to the next version. When we went GA, we still had some open bugs, but none that prevented the normal usage of the server. The Community and Support teams are in contact with customers and other users who have been using MySQL 5.1 in production for years, and we made sure that the bugs reported by these brave souls were addressed before the GA release.

You see, there was a lot of work involved in our GA, and the engineering department, together with Support and Community teams, did an outstanding job of bringing this release to the public. Are the processes perfect? No. But they have improved significantly over the ones that led to MySQL 5.0 GA.

And speaking of that, we know that our engineering process leaves a lot of room for improvement.

Despite our claim to be the most popular open source database in the world, our development practices are very much closed source, and our release cycle is definitely in need of a revision. The obstacles towards opening the development model are quite a few, and we have been working hard to meet this goal. The first change was to get rid of the proprietary revision control system that was a real obstacle towards participation. Next, we published the Worklogs. Then we removed the MySQL Contributor License Agreement, which was another serious impediment. Next comes the release cycle and development model. There are many people at work on this issue, but this is work in progress and we don't want to raise your expectations on a quick resolution for these items. The important point is that everyone agrees on the need for change, and we are working toward this goal. It's a team effort, which will eventually bear fruits.

In the meantime, please honor the effort of the developers who created new features like Partitioning, Row-based replication and the Event Scheduler and have squashed thousands of bugs, and give it a try.

Sunday Dec 07, 2008

MySQL 5.1 for impatient Italians

I have just started a blog in Italian. Although Italian is my mother tongue, most of my technical writing is in English. Since my tasks are more widespread than a single country, it was easier and simpler to write in English straight away.

After Sun acquisition, the MySQL presence in Italy is growing, and then it makes sense to employ my birth speaking abilities to spread the word in my country.

Today, thanks to a convoluted introduction, set in motion by Kaj and Google Translate, I started contributing to Giuseppe Guerrasio's blog, pettinix.org, with a post on MySQL 5.1 per l'impaziente.

Thanks to Kaj for the introduction and to Giuseppe for hosting my post in his site!

Monday Dec 01, 2008

Pictures from the OpenSQLCamp

I have finally uploaded the rest of my pictures from the OpenSQLCamp.

They include some of the shots taken with Dups in Washington. For a detailed account of what happened, see On The Road With The Community.

Some of my favorite picks:

OpenSQLCamp - hackfest
The "splendid effort" to create an application from scratch in 6 hours. They did not succeed, but what a show they made!

OpenSQLCamp - hackfest
Sheeri, one of the inner forces that kept the event going!

OpenSQLCamp - hackfest
It was ... Drizzling outside and inside!

Copyright (C) 2008, Giuseppe Maxia