Twitter has announced that it is open sourcing work it has done to improve MySQL in its production systems. The microblogging and social networking platform is a major user of MySQL – using it for timeline, user data, interest graph and tweet storage – and has been adapting MySQL to its needs.

The changes include making MySQL more monitorable by exporting more InnoDB storage engine information and making MySQL more predictable by allocating buffers at startup on machines with large amounts of memory and improving timeouts and cancellations on queries. Other changes optimise MySQL for SSD-based systems by changing behaviour to reduce the number of writes to the disk which should, in turn, improve the lifespan of the SSD drives.Twitter has also developed a technique for exporting and restoring the InnoDB buffer pool which is used as part of its build tools to provide rolling restarts for systems.

Twitter's modifications have been published on GitHub under a New BSD Licence and documented; the change history is also available. The company will be presenting its plans for its other MySQL work, the sharding and replication framework Gizzard, at the Percona MySQL conference later this week.

(djwm)