MySQL User Group Video – Determinism and Databases

The May Boston MySQL User Group featured John Hugg of VoltDB talking about determinism and databases. I have uploaded the hour-long video to Seasoned MySQLers will nod their heads because the problems described are familiar, and those who are not exactly sure what determinism and databases means will learn a lot.


(As always, videos are free on YouTube with no login or attempt to solicit your e-mail address or any other information)

Upgrading databases

A while ago (November 2012 to be exact), we upgraded the databases from Percona 5.1 to MariaDB 5.5 (the next step, happening soon, is upgrading them to Oracle’s MySQL 5.6). One of the engineers and I had a conversation where he mentioned that one of our worst performing views on SUMO is doing waaaayyy better with the upgraded databases, that it seems more stable and that I stopped receiving MySQL went away or disconnected emails which came in once in a while.

Its always nice to see upgrades actually making a difference. In our case we saw a lot less CPU wait, though that might also be partially due to tuning the memory settings on the machines and adding in another read slave to handle queries. As a result, network traffic throughput went from less than 1 Mb/sec to about 18 Mb/sec, because the machines were just handling more queries per second, period.

(I had this e-mail as a draft for a while and decided to clean it up and publish it now!)

Women in Science and Engineering (WISE) Computing Skills Boot Camp

Software Carpentry is running a 2-day software skills boot camp in Boston, June 24-25th 2013,  for women in science, engineering, medicine, and related research areas. Registration is $20.

Boot camps alternate short tutorials with hands-on practical exercises. You are taught tools and concepts you can use immediately to increase your productivity and improve confidence in your results. Topics covered include the Unix shell, version control, basic Python programming, testing, and debugging — the core skills needed to write, test and manage research software.

This boot camp is open to women at all stages of their research careers, from graduate students, post-docs, and faculty to staff scientists at hospitals and in the public, private, and non-profit sectors.

Registration is $20; to sign up, or find out more, please visit the announcement at If you have questions, there is an e-mail link on the announcement page.

For those curious, they are using sqlite, not MySQL or PostgreSQL, and I will be helping out with the SQL parts. There are about 2 months left but the boot camp is about 2/3 full right now, so I wanted to make sure this opportunity was spread to as many people as possible so they do not hear about it too late.

Percona Live Has No Code of Conduct

I am not at Percona Live this week because I opted to stay home after a crazy year of travel (41 talks in 11 different countries on 3 continents in the past year). However, I realized today that Percona Live has no Code of Conduct.

I will not be attending any Percona Live events until there is an acceptable Code of Conduct. MySQL is the worlds most popular open source database; the community deserves a Code of Conduct.

ETA: I have contacted Kortney, the conference organizer for Percona Live, and asked for a Code of Conduct to be put in place ASAP.

ETA: If you want to know why this is an issue, see

ETA: This is my personal statement, and not a statement of what any of my Mozilla colleagues may feel. Other colleagues, including employees under me, may choose to attend or even present at any events they wish. I personally do not feel comfortable at a conference with no Code of Conduct, this is not a reflection on the technical merits of any conference.

BBLISA Lightning Talks

At this month’s Back Bay LISA, Matt Simmons (aka Standalone Sysadmin) set up Lightning Talks. There were 9 presentations, and the videos are up! The playlist is on YouTube but here is a list of all the videos, with the … Continue reading

The 3 Hidden Messages in Tomas Ulin’s Keynote

This morning I watched Tomas Ulins Keynote at Percona Live: MySQL Conference and Expo, delivered yesterday. I missed this live as I am not at Percona Live (I am on a conference hiatus from March through September for personal reasons). As far as the technical content in it, there have been a few posts about the Hadoop Applier and MySQL 5.7, so theres not much of a need to delve in there.

Message #1: Failure
I was impressed that Ulin spoke of failure. Around 7:27 in the video above, Ulin says, We really failed with 5.0, and even 5.1 we werent fully and back on track when we released. He spoke about the new way MySQL 5.5 and 5.6 were engineered, a hybrid agile/milestone development cycle. There are some hidden messages here:

Hidden Message #1: Oracle is a great steward for MySQL

MySQL 5.0 was GA on October 2005 and MySQL 5.1 was GA on Nov 2008. This was before Oracle was ever in the picture. Ulin said MySQL 5.0 and 5.1 failed, mentioning that the ship cycle was rushed and features were released when they were not ready, causing technical debt. MySQL 5.5 and 5.6 are different, and the hidden message is that Oracle had a part in making this better. And honestly, I believe that. Say what you will about Oracle, but this cannot be argued: they do know how to develop and ship a product.

When Sun bought MySQL, I was pretty hopeful. I knew a bunch of folks within MySQL that were unhappy, and from what I gathered, MySQL did not really need a parent company, they needed a *parent*. It looks like Oracle has been great for getting MySQL releases in shape MySQL 5.5 had a LOT of great features from the community, when previously it could take years before a community patch was accepted, and MySQL 5.6 has a lot of innovative features from strong developers.

Hidden Message #2: Oracle is more reliable for MySQL releases

With 5.5 and 5.6, the 2-year development cycle has been almost exact MySQL 5.5 was GA in Dec 2010, 25 months after 5.1, and MySQL 5.6 was GA in Feb 2013, 26 months after 5.5. I remember the agonizing wait for MySQL 5.0, and it looks like under Oracle we will not have a debacle like that again. Ulin specifically mentioned a 24-month cycle.

Speaking about cycles, have you noticed that Oracle has not stopped providing the MySQL binaries and code, even for the EOLd products? I have a blog post I want to write about the lifecycle policy and how it has evolved, so stay tuned for that.

Message #2: Oracles Investment in MySQL
Ulin mentioned Oracles investment in MySQL a lot. Why? Well, in 2009 Oracle made a written 5-year commitment to MySQL. It is now 2013, and some folks have been wanting Oracle to make another promise. Frankly, I think it is ridiculous to ask a company to make a commitment in writing so far ahead, and nobody demands that of any other company. Oracle has doubled the number of MySQL engineers and tripled the number of MySQL QA staff, and has the largest team of MySQL developers of any company anywhere. Unfortunately we did not get exactly how many people that isit is only a little bit impressive if you tripled the team from 1 person to 3 people, but more impressive if you tripled the team from 10 people to 30 people.

Lets take a number we did get the QA team now has 400 person-years of experience on it. Lets say the QA team was 10 people before, and now it is tripled to 30 people. That means the average QA person has over 13 years experience in QA, which is about a year longer than my entire post-college IT career. If there are more engineers with less experience, thats pretty impressive for the number of people working on finding and fixing bugs, and if there are fewer engineers, they have even more years of experience.

Hidden Message #3: Oracle has an open-ended commitment to MySQL
Oracle has MySQL trainings, events and tech tours on 6 continents (none in Antarctica, but plenty in at least 3 different cities throughout Africa Nairobi, Johannesburg, Pretoria, at lesat that Im aware of because I mention it on the podcast along with SkySQL, Percona, FromDual and Tungsten events). They have doubled the engineering staff and tripled the QA staff and are still hiring. In the past year they sponsored over 40 events, delivered over 70 talks at conferences, and of course they have a huge investment in MySQL Connect just as Percona Live added a day in 2013, MySQL Connect is adding a day as well. With all that time and money invested in people and events, they are not going to stop working on MySQL any time soon.

(BTW if you missed it, MySQL Connect has a super saver registration before May 3rd, save 45%. Hard to believe its almost half price if you register now!)

Note that the hidden messages above are completely my interpretation, and represent nothing other than my opinion.

When I Moved Abroad

I grew up in the States. While growing up, I got interested in the country of Garistan. I was drawn to a country full hard-core passion for living a happy life. I studied the history and geography of Garistan, and got a pretty good feel for it.

So I moved there. At first, things seemed to go OK. Sure, there was a bit of a language barrier, but I was committed. I had a phrasebook. Some days were great, I did everything I needed to do and felt on top of the world. Some days I felt clumsy just trying to do normal tasks like food shopping. But I kept on going.

One day, I found a group of ex-patriots from the US. I went to the first meeting, a bit nervous, not quite sure what I was seeking out. What I found was relief. I could speak English without worry about how fast I was talking, or that anyone would assume I was a tourist. I could speak broken Garistanese without worrying about my accent and without worrying that I was being judged. I could talk about American things without having to explain it in detail. It was so calming, and it made those hard, clumsy days just a bit easier, because I would go back to the group and talk about struggling for a word, or my embarrassment.

We would also go out together, and there was strength in our numbers. I noticed that we all spoke better Garistanese when we were out with each other. I guess we just felt more comfortable.

Then Christmas came around. And let me tell you, it was unbelievably difficult. I love Christmas. Decorating the tree, baking cookies, shopping, the way everyone is nice to each other for 6 weeks (except when trying to find a parking space). Best of all, I love singing Christmas carols.

My first Christmas in Garistan made me realize just how different I really was. They put cotton candy on their trees to decorate them? Whats with the buckets in front of the fireplace? Tell me again what the traditional Garistan Christmas cake is? There are different songs.and even the familiar ones are sung in Garistanese.

I was out of my element. It was upsetting and frustrating. I could do what I wanted in my own apartment, but venturing forth into the street just reminded me how different I really was. My group of English-speaking US compatriots were the best gift I had that year. They helped me navigate the Christmas differences, and they even pointed out some similarities I was taking for granted. We did our own American-style traditions, including a cookie swap. It was so comfortable, and made that first Christmas really bearable.

But I cannot deny that I felt I was an outsider. I would have moved back to the States if it werent for my group, encouraging me and just being the same as me. It was not really the Garistan people that had me feeling so uncomfortable, it was the culture in general. It is not what I am used to, and several times I felt as though I was being treated rudely, though now that I have more experience with the Garistan community, I understand that is the way they interact, and culturally it is not thought of as rude. My Garistan friends would ask me to come out with them, but sometimes I did not want to go to a large crowded party full of all those things that made me feel uncomfortable.

SPOILER: Garistan is a made-up country. This story is an analogy about women in tech. Think of Garistan as a random tech community maybe its MySQL, maybe its Python, maybe its sysadmins, devops, whatever. The group of US expatriates? That is a women-only space.

It is not sexist to have a women-only space in a community thats so very male-oriented and has so many men in it. It is (arguably) a necessity if you want more women to be a part of the community. If you want more folks from the US to move to Garistan, wouldnt it make sense to have comfortable spaces for those who speak English?

Christmas in this story could represent a conference or big event. I read an article that complained about women-only hackathons, because a men-only hackathon would be sexist, so of course a women-only hackathon would be sexist. And it is so utterly and completely wrong. Most men do not need a comfortable space to be among other men during a tech conference, because the conference is already mostly men. Just like most folks in Garistan do not need Garistanese-only spaces, because Garistanese is the dominant language there.

Is it the fault of Garistan people, that they have a Garistanese culture? No. And it is not the fault of men that they have a male culture. But if you want to retain those who come from the US, you have to change a little, offer up some more English, maybe acknowledge the Fourth of July in some little way. Same thing with tech culture if you want to retain more women in the community, you have to make the space a little more comfortable for us.

I would also like to point out that not all women feel this uncomfortable. In fact, I actually do not feel this way most of the time. A mostly-male space does not feel that foreign to me. I always hung out with my two brothers, most of my friends growing up were male, and I actually have to put effort into being friends with other women. You can think of this as someone who moved to Garistan after visiting every year for decades. I know how male spaces work and I am comfortable in them.

Some women are comfortable in mostly male spaces. That does not indicate that those spaces are welcoming towards women. Maybe they are, maybe they are not. The presence of a few women means that those women are comfortable enough, but that does not mean that many women would feel comfortable there.

The level of comfort that any one woman has can vary, not just on their own experiences, but also depending on the community, and depending on her own situation. Back to the analogy, someone might be completely comfortable with the Garistanese language, having studied it, but still have a hard time with Garistanese culture. Or maybe that person is fine with everything except the different Christmas traditions. Most of the time, that person would fit right in, but Christmas is a trigger point.

If I make a math is hard! joke among my coworkers, they know I am smart and maybe just having an off day. If I make the same joke and someones listening who does not know me, they might get the impression that I really do not know what I am doing.

I will freely admit that I laugh at inappropriate humor on a locked-down IRC channel, because I know the audience, and I know the intention of the person telling the joke. Those same jokes on a public channel or at a party where I did not know anyone or even on Facebook have caused me to speak up and say that is not funny. Context is critical.

To the men reading this you have a male culture. That is perfectly OK, just like Garistan has a Garistanese culture and everyone speaks Garistanese. But if you want more women in a particular space, you have to change the culture in that space. If you do not know everyone who is listening, be more thoughtful about what you say. And try to remember that we women are trying to learn technical stuff (Garistanese) and cultural stuff (Christmas traditions) at the same time.

Videos from Open Database Camp

Open Database Camp was just over a week ago, Mar 16-17th at Harvard University, co-located with Northeast LinuxFest. We had a great lineup of speakers, and we have processed all 11 videos in record time! We got new video cameras at the beginning of the year, so the video quality and resolution is stellar, you can see everything. Here are the videos:

2013 Open Database Camp
and Related Northeast LinuxFest Videos

  • Fractal Tree Indexes by Tim Callaghan of Tokutek
  • Elastic Database Virtualization by Amrith Kumar of ParElasticy
  • Elastic Clustering with Serializable Isolation by Ariel Weisberg of VoltDB
  • MariaDB: An introduction to 10 What Weve Achieved by Colin Charles of Monty Program
  • Introduction to MongoDB by H. Waldo Grunenwald
  • MySQL and MariaDB: Past, Present and Future by Max Mether of SkySQL
  • MySQL 5.6 Replication features and usability by Giuseppe Maxia of Continuent
  • Congratulations! Youre the New Linux Admin and the MySQL DBA by Dave Stokes of Oracle
  • High Availability Solutions for MySQL by Max Mether of SkySQL
  • Creating Multi-master Clusters with Tungsten Replicator by Giuseppe Maxia of Continuent
  • MySQL Backups by Sheeri Cabral of Mozilla


Open Database Camp Schedule Is Up!

I have had a lot of folks wanting to know when talks would be during Open Database Camp, and we had enough space in the schedule that we did not need to vote on talks, so I present the Open Database Camp Boston Schedule, now online. Lots of MySQL talks, but also a Mongo talk thrown in for good measure! (still hoping to sneak a Postgres talk in)

As with any conference schedule, this might change. See you at Harvard University in Cambridge on Saturday and Sunday!

Deprecated, Removed and Ignored Variables in MySQL 5.6

Over at the OurSQL podcast, Gerry and I were inspired by the Percona blog post about MySQL 5.5 and 5.6 default variable values differences. We were going to do a show where we talked about that, but in researching that topic, we found there were lots (around 20 to be exact) of variables and a few features in MySQL 5.6 that are ignored, removed or deprecated.

These are variables that should be removed from your configuration so as not to cause warnings or errors. When I was writing up the show notes I realized that it was a pretty good list of variables, that anyone can just read whether or not you are willing/able to listen to the 28-minute podcast.

So if you want to see the list of variables that are deprecated, removed and ignored, complete with their workarounds/improvements, check out OurSQL Episode 130: Retired Variables.