Search This Blog

21 January 2015

LinkedIn's MySQL Use Case

As many know, I have been working within the Espresso team at LinkedIn since 2012. Espresso is a schema-ed document store built upon MySQL.

Introducing Espresso - LinkedIn's hot new distributed document store

We eventually hope to open-source a version of Espresso which doesn't use LinkedIn's internal proprietary APIs.

24 September 2013

Oracle's MySQL Connect 2013 conference summary

Although, hosting the event on a weekend, which is an inconvenience to those who have family, and ignoring the fact that it's Oracle's third MySQL Connect event, I would have to say that this year's Oracle MySQL Connect conference was the best one yet.

This past year, I have been mostly heads-down working at +LinkedIn so I haven't been paying close attention to what Oracle has been doing for +MySQL 5.7 so it was a good educational experience for me, looking at what Oracle's MySQL engineers, in partnership with other engineers from Facebook, Google and Booking.com, have cooked up.

Also, I had enjoyed chatting with past colleagues, particularly +Gerardo Narvaja who has inspired me to try out the community open-source TokuDB for use with OQGraph v3. A few hiccups with building it on my MacOS 10.7 Lion laptop but I was otherwise eventually successful using Apple's toolchain.

I think that the best takeaway of the conference is that, with the exclusion of a Oracle-to-MySQL migration tool, the Oracle MySQL engineering team is busy and actively improving MySQL faster than at any other time during the past 5 years since SUN's acquisition of MySQL. Has Oracle been a better steward for MySQL than SUN? Indeed, without doubt: It is.

That all said, I do have my own personal wish-list for the future, many of them equally apply to the open-source fork, MariaDB.


  • I would like an easy email address, a mailing list with a publicly visible archive, where I can fling my open-source patches for inclusion into future MySQL, perhaps both for the current stable (for small patches) and for the next DMR.
  • Connector/MXJ, I can compromise - at least reinstate its pages and docs as a 'deprecated' or 'unmaintained' project... or maybe 'maintained by community'.
  • InnoDB file-per-schema will be nice. I hear that user-defined table-spaces will be a MySQL 5.7 feature which would satisfy my want.
  • InnoDB per-table heuristic for buffer-pool page eviction - some table-spaces may be stored on a faster medium, such as flash or flash-cached disk and so these pages should be eligible for eviction before evicting pages for traditional disk storage.
  • Continue to work with Percona to ensure that xtrabackup continues to work.
  • Work with community for plugable parsers, stored routines and abstract data types.
  • Work with community so that third-party storage engines and plugins are available for official releases as add-on downloads. (Oracle provides no warranty for third-party code, blah, blah, blah).
In summary, it was a good conference with a few minor observations:
  • Would be nicer if it wasn't on a weekend due to family.
  • 8:30am start on a Sunday? Really?
  • Tea/coffee/water at breaks would be appreciated.
  • Non-claustrophobic presentation rooms would be nice.
  • Better availability of power outlets in presentation rooms would be very nice.
  • 4 concurrent tracks would be better.
  • Schedule handout did not indicate presenter.
  • Schedule handout maps were initially confusing.
  • SSH on wifi didn't work on Saturday.

"Making bank" at MySQL (AB/INC)

Just because this topic came up more than once at MySQL Connect...

Apparently, some alumni have been awarded bonuses for certain pieces of work during their time at MySQL and I guess that there was an expectation from some that the same applied to the work I did. Now, I don't want anyone to get the impression that I am experiencing "sour grapes" over the past - I actually enjoyed much of my time at MySQL. I also made many good friends of which I am happy to have stayed in contact with many of them to this day. I must say, it is the people that I miss the most when I move from one job to the next. What made working for MySQL a bit different is how we interacted with each other, which was mostly through IRC and email; we only met in person perhaps once or twice a year in our developer or company meetings at some exotic location.

 So I want to clear the air by revealing all about my bonuses at MySQL.

I have never received any bonus or award for any work or project at MySQL. This includes the plugins framework, the audit plugin interface, stored procedures, storage engines or anything else I may have touched while I worked for MySQL. I was never promised any award or bonus for any work related to plugins, parsers or stored procedures.

There was some hand-wavy hints for several storage engine side projects: There was some wishy-washy verbal hints about something for Project Amira passing the SAP VERI test but that project was cancelled soon after that condition was met for reasons several levels above my pay grade. As everyone knows, verbal promises are only worth as much as the paper its written on.

I was never offered and nor have I ever received any gift for publicly rejecting SUN's original P.I.A.

I was not a particularly well paid MySQL contractor/employee. I actually took a very significant pay cut from leaving my previous workplace by going to MySQL. From what I was kinda indirectly told by SUN's on-boarding team, I was among the lowest annual salary MySQL employee at the time of their acquisition of MySQL and the lowest of the engineers working within the USA.

I did not "make bank" at MySQL.

I did it for the joy.