Monday, April 29, 2013

Reflections on the Percona Live Conference

I think I had more fun at Percona Live this year than last year. In part, I mostly knew what to expect, but even more I was able to meet up with many folks From both last year and previous jobs. MySQL definitely hasn't gone away for them (although one company still has the database detractors who believe PostgreSQL is the best thing since Y Combinator, and I honestly do hope they make heavy use of it for at least a few apps and let me know what their ultimate conclusion is after living with it for a year or so).

I definitely enjoyed the tutorials this year and spent the day doing the Percona XtraDB Cluster training with Jay Janssen from Percona. This was the right kind of format for me and a good pace. I did forget to bring my laptop to that one and ended up building out a three node cluster using a single, remote virtual server from my iPad. Overall, harder, to be sure, but the thrill of setting it up from scratch and keeping up was fun.

Just a few more notable thoughts from the rest of the time...

The Oracle hosted MySQL Community Reception (aka, the 5.6 very post launch party) was a bit lacking in structure, bumpin tunes, free-verse database poetry, or even social interaction. However, the ice-dolphin was a pretty nice touch.

Tuesday morning saw a great keynote by Thomas Ulin of Oracle who did an excellent job of showing why Oracle is bringing a maturity and stability to MySQL which it had not previously seen. I definitely applaud what they are doing there (yes, we all have bugs we wish they'd get around to fixing, but I think that is a different story, personally). To follow-up on that he led an important Birds of a Feather session that evening on 5.6 upgrade experiences and heard many pain points, gripes, and questions. I was quite impressed that he brought a number of key engineers with him and easily took control of the situation, fielding hard questions and then turning to his guys and asking what was being done to address the particular issue, when they expected to have fixes, what the difficulties really were, and what we could all expect. While I'm sure it was less fun to be one of those engineers for that hour this was a major win for transparency and demonstrated a serious commitment to improvement. My hat really goes off to Oracle for trying hard with us as a community (yes, we beggars who use free software are also very choosy). It is also clear that they are basically just nerds like the rest of us. :) This all stood in stark contrast to the session on MariaDB 10.0 with Monty which went into some additional detail, although discovering much it as they went, about their methodology and goals. It is clear that the two camps are diverging at greater rates in most conceivable ways.

Wednesday I attended a talk by Paul Vallee entitled "Mission Critical, not Mission Impossible". This may have been one of the more inspiring talks at the conference on just how much room for improvement there is in the execution portion of IT these days. Eye opener and, hopefully, life changer. I would really like to hear that one again.

Thursday saw some great moment from the Facebook guys on how they manage to run efficiently at scale and also from Jermy Cole and Davi Arnaut on InnoDB file strucutres. A lot of hard work went into that one and it is evident that the Facebook team has done an amazing job at architecting a solid setup that most of us will only really dream about.

At any rate, these are my favorites, the items that really stuck out. Add to that the open-sourcing of the TokuDB engine and the demonstration of how easy things can / should be from Robert Hodges of Continuent and this really was a great place to spend the week.

However... As a nerd who likes his food I really have to take a quick jab at the Hyatt catering team. I do not understand what you folks were doing or thinking with those menus and the dishes served. Sometimes they were ok, mostly they elicited a desire to stoop to eating Taco Bell and if there had been one near I definitely would have done so. There is normal food there as well, I saw it for the other conferences being held in other parts of the center, just not for us. Oh well. Perhaps, I will just brown-bag it next year.


Tuesday, April 23, 2013

Linux Filesystems and MySQL

Percona Live 2013 is underway in Santa Clara, CA.  I presented tonight on Linux Filesystems and MySQL.

I think, overall, it went well, though I may have underestimated the technical nature of my audience a little judging by their questions.  Admittedly, it was geared toward the somewhat newer DBA / System Administrator who has been pressed into MySQL responsibilities.  As a result, I chose to cover a lot of theory that I think made the presentation a bit "boring" for the first half for those folks who already have down the basics of SAS vs SATA, IO Scheduler differences, and filesystem differences.  This is, of course, a tribute to the rather bright nature of most attendees at this conference.  The caliber is, on average, a good bit higher than other technical conferences I've been to in the past.

As part of it, I decided to lighten the mood a bit with some bad poetry sprinkled throughout.  In a few days Percona will upload the slides and I'll update this with the link.

I will do a more detailed review of the conference at the end but so far everything is good except the food the hotel is serving.

[Update] Slides for the talk can be found here .

Wednesday, April 10, 2013

Percona Live 2013 is coming soon

I will be speaking at Percona Live 2013 later this month in Santa Clara, CA.  It is day 1 of the sessions in the evening and the title is "Linux Filesystems and MySQL".  It has been all kinds of fun doing the research for this and I've learned more about benchmarking than I had guessed I would as I attempted to generate the numbers for it.

I hope to see a lot of people there, some of them from last year and I hope to meet quite a few more.

Ammon

Tuesday, April 9, 2013

MySQL Duplicate Table Aliases

So it turns out that MySQL will, in certain circumstances, allow for duplicate table aliases to be used, eg:

SELECT
  t1.a,
  t2.b
FROM
  test1.t1 AS tbl
  JOIN test2.t2 AS tbl
WHERE
  t1.a = 5
  AND t2.b = 'foo';

If you look at what the parser sees this as (using a 'show warnings;' immediately after an 'explain extended') then you will see that it actually replaces those aliases, so it kind of works.  However, this is still ugly and makes me cringe a little.  I would never have thought it would be allowed until I came across it in a live query yesterday.

Ultimately, it may be documented in some dark corner as a feature but I filed a bug report on it anyway.

So the rules appear to be these:
1 - The two tables must be in different databases.
2 - There may not be any duplicate column names referenced in any part of the query.


Ammon

Saturday, April 6, 2013

Shamallû

For those who have not had the privilege of pouring through ancient Babylonian texts I need to explain the title of this blog for a moment.  Shumallû is the Akkadian (Babylonian and Assyrian) word for "Student" or "Pupil", typically with regards to a scribe in training.  While the word is Akkadian the written form most often goes to the older Sumerian version, being LÚ.SHAB.TUR.

I choose this as my title because I am still learning MySQL.  While I have been using it for years and was certified in it several years back I find that with every new setup and every new challenge I have much more to learn and there are those who are far more knowledgeable than I am.  I hope this blog to be a place where I can share some of the random knowledge I have collected for weird problems, observations, or testing especially for the things I could not easily find on Google.  Perhaps, others who know more can continue to instruct or correct me in comments or feedback as I go and I will continue to learn from the wealth of experience among my peers.

Also, sometimes I like to have fun with MySQL, languages, and food.  There may appear some mixing of those subjects for which I make no apologies.

Ammon