Category Archives: mysql

on seconds_behind_master sleuthing

With large enough infrastructure it gets a bit more and more complicated to detect whether an incident or a problem is real systems problem or a monitoring glitch. This is a story of one such investigation. With a sufficiently large … Continue reading

Posted in mysql | 1 Comment

replication prefetching revisited

Been a while since I wrote about replication work we did. Fake changes based approach was huge success, and now our prefetching has lots of coverage, where standard SELECTs cannot reach. We’re running our systems at replication pressure, where not … Continue reading

Posted in facebook, mysql

MySQL is bazillion times faster than MemSQL

I don’t like stupid benchmarks, as they waste my time. I don’t like stupid marketing, as it wastes my time too. Sometimes I succumb to those things, and now in return I want to waste your time a bit. So, … Continue reading

Posted in mysql | 27 Comments

On binlogs and datacenters

Once MySQL is deployed inside a datacenter environment (i.e. forms a cloud ;-), major feature in it becomes replication. It is used to maintain hot copies, standby copies, read-only copies, invalidate external systems, replicate to external systems, etc. If this … Continue reading

Posted in mysql | Tagged , | 1 Comment

MySQL is doomed?

Percona’s version of MySQL Conference this year was awesome, and there were some great keynotes there, I’ll high-light two of them. One was called “Future Perfect: The Road Ahead for MySQL” and had a vendor panel of “Industry leaders from … Continue reading

Posted in mysql | 14 Comments

On InnoDB compression in production

Our latest changes have been pushed to public mysql@facebook branch, allowing this post to happen \o/ Recently we started rolling out InnoDB compression to our main database tier, and that has been a huge undertaking for multiple teams and a … Continue reading

Posted in facebook, mysql | Tagged , | 1 Comment

on MySQL replication prefetching

For the impatient ones, or ones that prefer code to narrative, go here. This is long overdue anyway, and Yoshinori already beat me, hehe… Our database environment is quite busy – there’re millions of row changes a second, millions of … Continue reading

Posted in facebook, mysql | Tagged , | 4 Comments

Blowing up in memory

MySQL isn’t too concerned about table handler memory usage – it will allocate row size buffer thrice per each table invocation. There’s a few year old bug discussing UNION memory usage – for each mention in an union one can allocate … Continue reading

Posted in mysql | Tagged , , , | 7 Comments

On connections

MySQL is needlessly slow at accepting new connections. People usually work around that by having various sorts of connection pools, but there’s always a scale at which connection pools are not feasible. Sometimes connection avalanches come unexpected, and even if … Continue reading

Posted in facebook, mysql | Tagged , , | 16 Comments

InnoDB subsystems in color

I tried to put every subdirectory of InnoDB codebase into a chart that would explain some of relations between subsystems and modules inside the source. This is what I got (click to enlarge): Update: Check Vadim’s diagram for a more … Continue reading

Posted in mysql | Tagged , , | 5 Comments