When I started with MySQL 3.22 I would start running MySQL from early beta (if not alpha) and update MySQL the same date as release would hit the web. Since that time I matured and so did MySQL ecosystem. MySQL is powering a lot more demanding and business critical applications now than 12 years ago [...]
Dynamic row format for MEMORY tables
The latest Percona Server release has one new feature: now MEMORY tables can have BLOB and TEXT columns, and VARCHAR columns will not waste space due to implicit extension to CHAR.
What’s the recommended MySQL version?
I see this message on our forums, and I think it’s a great question: “Which version of Percona Server is currently recommended?” It’s really the same question as “Which version of MySQL is currently recommended?” I’ll respond here and then post a link in the forum as a reply. In my opinion, it’s important to [...]
Scaling problems still exist in MySQL 5.5 and Percona Server 5.5
MySQL 5.5 and Percona Server 5.5 do not solve all scalability problems even for read only workloads. Workloads which got a lot of attention such as Sysbench and DBT2/TPC-C scale pretty well a they got a lot of attention, there can be other quite typical workloads however which do not scale that well. This is [...]
Multiple purge threads in Percona Server 5.1.56 and MySQL 5.6.2
Part of the InnoDB duties, being an MVCC-implementing storage engine, is to get rid of–purge–the old versions of the records as they become obsolete. In MySQL 5.1 this is done by the master InnoDB thread. Since then, InnoDB has been moving towards the parallelized purge: in MySQL 5.5 there is an option to have a [...]
MySQL at Facebook, present and future
Harrison Fisk, from the Facebook database team, will be in New York City delivering the closing keynote at Percona Live next month. He’ll be talking about the present status and future plans for MySQL inside Facebook’s environment. As you probably know, Facebook is one of the largest users of MySQL, with their own set of [...]
Optimizing slow web pages with mk-query-digest
I don’t use many tools in my consulting practice but for the ones I do, I try to know them as best as I can. I’ve been using mk-query-digest for almost as long as it exists but it continues to surprise me in ways I couldn’t imagine it would. This time I’d like to share [...]
What’s up with HandlerSocket?
I’ve presented at two different venues about HandlerSocket recently and the number one question that always arises is: Why hasn’t HandlerSocket become more popular than it is? Considering how fast and awesome HandlerSocket is, it’s not seeing as rapid adoption as some might expect. I theorize that there are five reasons for this:
How InnoDB handles REDO logging
Xaprb (Baron) recently blogged about how InnoDB performs a checkpoint , I thought it might be useful to explain another important mechanism that affects both response time and throughput – The transaction log.
Estimating Replication Capacity
It is easy for MySQL replication to become bottleneck when Master server is not seriously loaded and the more cores and hard drives the get the larger the difference becomes, as long as replication remains single thread process. At the same time it is a lot easier to optimize your system when your replication runs [...]

