Many people have asked me what do I think was the best thing about Percona Live UK. I always answered: that it happened in the first place! This was the first time we had such a large and high-quality MySQL conference in Europe, and many well known bloggers and speakers that can't always travel to Santa Clara were present.
More importantly, many MySQL users who don't travel to Santa Clara could now see them speak and meet with them. I met at least 4 hard core MySQL DBA's from Helsinki that I've never met before. We had to travel to London to meet each other! (But if you are in Helsinki, we have our first MySQL user group tomorrow, this should fix things!)
When I walked into the conference venue, I introduced myself to a person that stood there talking to Baron Schwartz. He introduced himself as Schlomi Noach. Then we started laughing: we know each other quite well, Schlomi and I run the annual MySQL awards as co-secretaries. I never realized we had not met in person before!
The content of the program was very high quality. In the past few years I've come to value informal one-to-one discussions as my primary source of new information instead of the official lectures, but at this conference I actually chose to attend as many talks as possible and learned new information from many of them.
Conference program itself, new insights
I attended 1 tutorial on the first day, "Expert Troubleshooting: Resolving MySQL Problems Quickly" by Baron Schwartz. Baron focused on the importance of measurements as part of troubleshooting performance issues. He also strongly advocated the importance of observing the actual production server and de-emphasized the practice of trying to reproduce issues in a testing environment. Tools like pt-stalk, pt-collect in the Percona Toolkit are designed with this process in mind.
The keynote by Percona CEO Peter Zaitsev gave a good overview of the MySQL ecosystem and the variants/forks MySQL, Percona Server, MariaDB and Drizzle. 1 A simple distinguishing feature between Percona Server and MariaDB is that the former more closely tracks MySQL releases, while the latter has diverged more and even uses their own release numbering. MariaDB is yet to announce even an alpha release based on MySQL 5.5, 10 months after the first GA 5.5 release. (My comment: Even then, Percona seems to move faster in supporting some truly game changing community features like HandlerSocket.) In hallway discussions we speculated that as MariaDB continues to diverge from Oracle MySQL, the 5.5 version might be the last one that they are able to merge with. Drizzle distinguishes itself as a vibrant community project, and sometimes breaking compatibility in order to provide a clean start (the topic of my talk, will post slides separately).
Alexandr Kuzminsky gave a talk on Data Recovery for MySQL, covering the internal format of InnoDB table space. A key takeaway of this talk was the advice on what should be done as immediate first steps before calling Percona's data recovery experts - and this varies from case to case. As an example, if data was deleted due to an accidental DROP TABLE, one should immediately kill -9 the mysqld process to stop the background cleanup process that actually deletes the data pages. On the other hand, if you've deleted the tablespace file from the filesystem (rm), then you should make sure to keep mysqld running since it is most likely still holding an open file handle to the deleted file and it will be possible to restore the file by creating a new hard link to the inode. I recommended Percona should list these steps on their website right next to the emergency phone number.
As I see ngingx and varnish getting adoption as building blocks of scalable web architectures, I attended "Building High Performance Sites with nginx, mysql, varnish and php" by Tamas Kozak. It was a good but quite high level talk. This time-slot was very competitive, making me wonder if I should have chosen some other of the 4 excellent talks given at the same time.
I was really interested in "MySQL Partitioning: The Spider Solution" by Frédéric Descamps. The Spider engine provides transparent sharding over InnoDB and MyISAM tables. Basically it combines MySQL paritioning with remote connections like you'd use with the Federated engine: Each partition actually resides on a remote server and Spider connects to it. This is very promising architecture-wise. In fact Spider can even do parallel scans into each partition, something MySQL's standard partitioning doesn't do (yet?). Anyway, "Le Fred" made sure to position Spider still firmly in the Beta-quality category, as he had encountered many bugs in his evaluation. On the other hand Kentoku Shiba, the main Spider developer had been responsive and fixed those bugs. This means that if you're interested in Spider, you should definitively test it, but if you can help it, you probably shouldn't put it in production just yet (without a lot of testing).
A small criticism in Frederics benchmarks: he compared a single big InnoDB table against 4 Spider partitions. In these comparisons Spider typically wins most non-trivial queries. It would have been interesting to also see the same table using normal MySQL partitioning, but only a single server without sharding.
"Various MySQL High Availability Solutions" by Oli Sennhauser was a mirror of my own HA talk. While my talk was more top-down, starting with desired requirements, Oli stepped through existing solutions listing pros-cons of each. All of the solutions have their own proponents, but I seem to very much agree with Oli's overall take on this topic. (On this point, MySQL AB alumni seem to think alike.)
Schlomi Noach summarized the conference content as "High availability and Scale out for MySQL". I think it summarizes the content well.
I will share slides to my own talks in a later post.
New technologies, announcements
Codership announced the stable release of Galera 1.0.I have already blogged a lot about my evaluations of Galera.
Severalnines simultaneously announced ClusterControl for Galera. I've used "Severalnines scripts", as they were originally known, with MySQL Cluster. (A third edition supports MySQL semi-sync replication and asynchronous slaves.) It is the only product I know of that takes the deployment phase to the level where it even makes SSH connections for you, the admin will only need to login to 1 server and start the deployment. It is DevOps in a box.
Percona announced that they now officially support MySQL NDB Cluster. This seems to be linked to their recent hiring of Stewart Smith, a former developer of the MySQL NDB team. I still regard NDB very much an Oracle controlled product, and unlike when using InnoDB, I would strongly consider Oracle as the only alternative for support for NDB. But this is an interesting development to follow. Percona is now the first alternative "real" support provider for NDB, with credibility to fix at least some amount of bugs in this notoriously complex code base. As NDB is a great high-performance database, there are many customers out there that want to use it, but that may be interested in some competition on the support provider front.
The conference followed a pattern I've witnessed for many years now at MySQL conferences, where the primary sponsors are VC funded vendors of MySQL compatible but proprietary storage engines and appliances. There is an interesting symbiosis between these vendors and the wider MySQL community. The community of course generally prefers to gravitate around the available open source solutions that gain more widespread adoption and mindshare. The VC funded vendors typically enter the MySQL market with a big marketing splash, appearing as the major sponsor at these conferences. They pay for the free beer at the evening receptions2 , and in fact they often subcontract work from developers at the more open source focused vendors in the space. (Percona, Monty Program and Codership all have such relationships, while not producing closed source products themselves.) Hence that venture capital indirectly funds a lot of the activity in the open source MySQL community as a whole.
From this market entry the VC startups then evolve in different directions, some, like Infobright, break into their own niche, typically combined with at least some form of open source "community edition" variant of their product. Some, like Kickfire, who once occupied almost half of the showroom floor at MySQL Conference and Expo, end up essentially without any real amount of customers and bankrupt. And yet others linger somewhere in between these two extremes. Anyway, the number of these vendors at any given time seems to be constant or slightly growing. If they are happy, then I'm happy - they contributed to an excellent event, both the lectures, food and after party!
Such "enhanced MySQL" vendors at this conference included Clustrix, Schooner, Scalebase, GenieDB and Tokutek. Fusion-io and Virident were showcasing their flash technology.(Percona has published excellent white papers with both of these vendors.)
Outside of the conference, but on the same day, the MySQL connector team announced that the new MySQL connector for PHP now supports also load balancing over multiple masters such as MySQL Cluster. The JDBC driver has a similar mode since many years ago. Both of these are directly useful to a Galera cluster as well. This solution enables a highly available MySQL architecture using only the official MySQL connector and a MySQL-Galera cluster (or MySQL NDB Cluster), without any additional clustering framework or load balancer proxy necessary.
Given that this will likely become the primary European MySQL event, it is worth noting that Oracle was completely absent. This has been a controversial issue ever since the Oracle acquisition, but this was the first major conference where the split became real. I expect the next MySQL Conference and Expo 2012 in Santa Clara might unfortunately continue the same situation, despite all the people working hard to the contrary.
Also product-wise I'm observing a similar trend of Oracle isolating itself from the mainstream MySQL userbase. As the community has diversified, it is only natural that new state of the art solutions are born outside of the official Oracle/MySQL. Xtrabackup is the first case where the mainstream MySQL world is adopting it as a solution, but Oracle will refuse to support it and only supports its own proprietary backup tool. Similarly this means that attending any Oracle sponsored conference will give you an Oracle-solutions-only biased, and thus limited, view of what the MySQL world really has to offer. This scenario is set to repeat with Galera for HA, PAM and LDAP support for authentication, thread pool, HandlerSocket, etc...
Hence it seems Oracle is headed in a direction where they continue to provide the mainline MySQL releases which are still the most popular ones and are the common denominator behind Percona Server and MariaDB, but at the same time and other than this technical contribution Oracle increasingly is not present at all in the MySQL community any longer.
Former MySQL Community Manager Colin Charles blogged about Oracle's absence under "A tale of two conferences".
It should be emphasized that just like Colin, and just like Peter in his keynote, I'm excited about all the Oracle DBA's and Oracle customers that are now exposed to MySQL via the free training events and high quality conference tracks organized by Oracle (or the IOUG too) all around the world. It just puzzles me that anyone would choose a strategy of just walking away from your home base, the MySQL current strongholds and leading minds in the community. I don't think I will ever understand Oracle on this point.
Thanks! And hope to see you again...
Clearly the event was a success and attendance must have exceeded Percona's projections. So I hope we get to see a similar and even larger event next year. I do hope it can grow, and I hope there could be 1+2 days and that talks would be at least 45 minutes in length. Now a lot of in depth talks had to squeeze into 30 minutes. It worked surprisingly well, but with such great speakers I think we could listen to them for a full 45 minutes.
There was talk whether London should stay as the location or whether to take the event to other European cities. My advice is that Percona should stay in an English speaking country, this will attract more local attendees, and there are marketing synergies in social media and such. And London has good and affordable flight connections from anywhere. If the conference grows a lot both in size and number of days, then moving out of London City might be a good move to save costs. A train connection from Heathrow would still be nice!
Other than the cost savings aspect, the location was great with many hotels, restaurants, pubs, the Tower Bridge and London Tower (where they keep the crown jewels) within 5 minute walking distance. All that pub food was felt in football practice later in the week, but yeah, fish and chips is good when in London! Remarkably, even the Virident sponsored catered lunch was excellent! And thanks again to Clustrix for the free beer evening event!
- 1See https://www.percona.com/live/london-2011/schedule-conference/ for links to the other talks. The pages should be updated with slides from the talks as I write this.
- 2 If you're wondering if the pun is intended, you'd really have to ask them, not me!