Day 1 is the first official day of the Percona Live MySQL Conference. It began with two mini keynotes by Peter Zaitev and Baron Schwarz of Percona talking about the history of MySQL and his beginnings in the open source movement, respectively. It was very nostalgic, and I’m sure it brought a tear to a few people’s eyes.
Following the dynamic duo was full keynotes by Mårten Mickos (Eucalyptus Systems) on “Making LAMP a Cloud” and Brian Aker (HP) on “The New MySQL Cloud Ecosystem”. To be honest, I found the full keynotes to be quite disappointing. For me, the keynotes speeches should be about a topic that is visionary or notable in some way. What I got from the keynotes were: MySQL is good, MySQL is growing, let me show you my product around MySQL, and buy/use my product. They felt far more like glorified sales pitches.
I remember that at the last conference I attended, SXSW Interactive, the keynotes by Ray Kurzweil and Jennifer Pahlka were about their vision of the future and the innovative work they had done, respectively. Kurzweil spoke of how technology will enable us to expand our intelligence without limits and achieve digital immortality. Pahlka’s work on the non-profit Code For America, similar to the Peace Corps or Teach for America, brings technology innovators employing opens source, crowd source, and other technologies to promote openness, participation, and efficiency in municipal governments.
The most interesting session of the day was “The Etsy Shard Architecture: Starts with S and Ends With Hard” by John Goulah of Etsy. The most interesting fact for me was the way the shading was done. Having worked on similar environments and being an online multi-merchant, I had thought that range or hash partition would’ve been the easy way to go. However, Estsy chose to explicitly shard its users using manual assignments and have a set of servers to do lookup tables. This gave them a few benefits that wouldn’t be possible using the other methods. They include the ability to arbitrarily move users across shards easily (relatively speaking) and do non-linear consolidations when the server is upgraded. When I inquired about the reason for choosing the lookup sharding, the answer was that they wanted flexibility.
The last session of the day for me was “The Right Read Optimization is Actually Write Optimization” by Leif Walsh of Tokutek. If anything, this talk deserves the award for the most academic session of the conference for bringing in heavy amounts of Big-O analysis (for those who remember Introduction To Algorithms) and amortized cost analysis. Tokutek attempted to solve the problem of updating a large number of secondary indexes, which are often used for faster selects, requiring random I/O to bring the B-tree blocks into memory by using a new data structure called Fractal Trees. The amortized Big-O analysis is quite interesting and does indeed show an asymptotic performance improvement, but one wonders how big is the constant in the analysis. Another interesting fact is that the performance improvement is lost, in that it is no better then a standard B-tree, if the index is a unique index. A quick count of the indexes by type for one of our environments shows that only 17% are unique indexes (which also include primary keys), so the loss is not huge but not insignificant either.