We’re hosting the Silicon Valley MySQL Meetup tonight at the MySQL Conference and Expo venue in Ballroom D in Santa Clara, CA. We start at 7pm and run about 2 hours. Come on down!
On Sun’s acquisition of MySQL AB
If you follow the MySQL world at all, or you just have your eyes open, you have probably noticed that an agreement has been reached for Sun to acquire MySQL AB for about one billion dollars. Quite a few people have asked for my thoughts on the matter, so I will provide them publicly here for all. Overall, I see this as a mostly good thing.
I think that Sun has a very good chance of leading MySQL better than MySQL. At the same time, it’s always disconcerting to see a project managed within a very large company. Having been through the large company picture once already, I know how wrongly things can go when too many people (especially management types) are involved in a project.
At the same time, though, I’ve always liked Sun, and have high hopes for Sun’s management of the MySQL project and the people. There are a number of things I would like to see Sun do with MySQL following the acquisition:
Fix the MySQL Enterprise development model
The MySQL Enterprise (and by proxy MySQL Community) development model has been broken for a long time now. Too long. Take a cue from Sun itself and from RedHat and fix it right. I have a lot of ideas as to how the development model should work, and although our efforts have been time-constrained, we’ve made some effort to actually implement those ideas in DorsalSource.
Fix the product
There are a lot of areas where MySQL has been lacking for a long time, and the power users have been either crying in their beer (most users), or doing the work themselves (us, Google). I have shared some of these ideas with various people over the years, but here are some of the areas/ideas we have:
- Replication works fairly well (usually), but its model is completely broken and deficient to go forward with it with all the new features of MySQL. It lacks any real solution for multiple masters, synchronous or semi-synchronous replication, safety (checksums, binlog index and master info sync problems), and conflict resolution or automatic detection (transaction ids).
- Fix the internal memory allocation model so that it’s possible to constrain the memory usage of MySQL. The current situations sucks.
- Remove some of the outdated cruft littered all over MySQL: MERGE tables
- Clean up the logging (general, slow, [future] custom logs) code to be completely configurable and sane.
- Fix auto_increment. We have suffered with it too long. The storage engine isn’t the place to generate sequences, and InnoDB and the replication model suffer greatly for it.
- Fix the optimizer so that it makes more sane choices and can be more easily extended.
- This is partly a product problem and partly a people problem, but stop creating 100 different experimental storage engines, and pushing them as truth. Yes, archive, federated, blackhole, I’m looking at you.
Get some muzzles on the sales and marketing team
As Proven Scaling well knows, MySQL basically sells itself. It would be great if we didn’t have to hear from any more customers that MySQL’s sales team has or is trying to screw them over. No consulting without support? Stupid rule. Insane point of view on licensing? Get rid of it. Fluff? Don’t do it.
Bonus?
Sun should buy Innobase Oy back from the clutches of Oracle, pull InnoDB into MySQL proper, and relicense the full set of code under LGPL, BSD, or another similar license. Personally, I think the GPL is fine for MySQL, but the MySQL sales team has done so much damage to people’s ideas about the GPL—when they do and do not need licenses for MySQL—that it’s hard to continue under the GPL now.
Conclusion
I’m hopeful. I’m hesitant to shout out in glee. If anyone has any questions or comments regarding the above ideas, comments, or thoughts: let me know! I’d be happy to discuss any of them.
MySQL Meetup Silicon Valley: Tonight at Google
I haven’t written anything in a while about the MySQL Meetup I host in Silicon Valley, but I though the new year would be a good time to invite everyone to attend.
The Silicon Valley MySQL Meetup is hosted at Google’s campus in Mountain View. We regularly have open Q&A sessions, where we collect everyone’s questions, and then go through them one by one discussing, answering, and adding more questions. We stop when we run out of questions, or time. (Usually time runs out first.) Sometimes we’ll have myself or someone else with an official presentation.
Come on out for tonight’s Meetup (open Q&A), I’ll see you there!
Delta Airlines: You win our love
We just got back from our holiday trip to visit family in Tennessee and Pennsylvania for Liam’s first Christmas and New Years. Overall the trip was way too long, but fairly uneventful. I wanted to take a moment to write a positive blog post (which seems rare for me lately, sorry about that) to point out a real winner from our trip: Delta Airlines. We had a total of 7 flight legs in 3 trips, a total of 5569 miles in the air: RNO-ATL-BNA, BNA-CVG-SCE, and SCE-CVG-ATL-RNO, and we were traveling with a 10-month old baby (in lap). We didn’t miss any connections, had no significant delays really, and our luggage was not lost despite a double layover and a short connection time at CVG on our return.
That’s not how Delta won our love though—anyone can do that if they try and they care. Delta won our love due to their gate agents’ pro-activeness and caring. They did two tiny things, each of which couldn’t have taken more than a few minutes, that made us smile and made our return trip less painful:
- Our initial boarding passes for CVG-ATL had us sitting in two middle seats in different parts of the plane. On arrival at CVG, I walked up to the gate agent to find out if they could seat us together anywhere on the plane. To my surprise, he said “that name looks familiar” and grabbed a new set of boarding passes from the counter, that he had already printed before we arrived. They sat us next to each other in an aisle and middle seat. He even apologized for not getting us a window seat.
- Our initial boarding passes for ATL-RNO (a 4 hour and 15 minute flight) had us sitting together in a window and middle seat, which was basically fine by us. A short time after we arrived at the gate, they called me up to the podium, and the gate agent gave us new seat assignments with an aisle and window seat, and an empty middle seat, so we would have extra space for the baby. We didn’t pay for a seat, but since there were extra seats, she pro-actively ensured that it was given to those that could really use it.
So, a big THANKS to Delta Airlines and their gate agents for flight 305 (CVG-ATL) and flight 1511 (ATL-RNO) on January 7th, 2008. You made our return trip a whole lot better, made us smile, and overall demonstrated that you are human (despite many other airlines‘ efforts to prove themselves otherwise). I will certainly choose Delta for our other flights in the future—keep up the good work.
Proven Scaling goes global
A bit of exciting news… Proven Scaling has officially gone global with the addition of a new MySQL Geek, Mike Griffiths of London, England to our team. We are now capable of easily and efficiently (timezone-wise and travel-wise) handling your on-site MySQL consulting needs in the London area, the UK, and Europe at large. (As well as making remote work in the middle of the night for our US customers a fair bit easier.)
Mike comes to us from Yahoo! Europe where he worked for a number of years specializing in MySQL operations, performance and optimization, replication and high availability, and scalability. He has been a personal friend for several years and I have been looking forward to him joining the Proven Scaling team since we started the company.
If you’re looking for MySQL consulting in Europe (or anywhere, for that matter), let us know!