The Amazing Shrinking Tarball

MySQL has grown over the years, with much richer functionality and indeed support for whole new usage scenarios. However, all this goodness comes along with another kind of growth, namely a considerable increase in the size of the binary distribution of MySQL Server. We’re now taking some quite significant steps to address this.

In many cases package size is not really a problem: most network connections are snappy, and storage is cheap. Still, for some use cases, for instance in infrastructure setups running perhaps hundreds or even thousands of servers, size matters. The same applies to typically fast moving devops oriented settings, where multiple MySQL versions may be in various stages of evaluation and deployment at the same time.

In such setups, our humble binary tarball for Linux is often the package format of choice. Other formats such as RPM and Deb are excellent for relatively uncomplicated deployments, but if you have more advanced requirements, such as needing to deploy multiple MySQL versions in parallel on one system, the tarball is the way to go.

A popular framework for managing such deployments is Giuseppe Maxia‘s dbdeployer. And Giuseppe has indeed been nagging us for quite some time to put our tarballs on a diet. We took the first step a while ago, by switching compression from gzip to xz. That lopped around 40% off the size of the regular 64 bit tarball. And very recently, with the 8.0.16 release, we introduced a new, “minimal” type of tarball, where we removed the debug binaries and stripped all the regular binaries. This lopped a whopping 90% off the regular tarball size, going from 439.4Mb down to 42.2Mb. Including the compression change, the total reduction is around 93%.

The old, big tarballs still have their uses, and there are also bound to be myriads of scripts out there that rely on certain contents or a certain file naming convention, so we’ll keep producing and distributing those. But for many use cases, the minimal ones should be a perfect choice. You’ll find the entire lineup at the MySQL Community download site

Happy untarring, and as usual, drop us a line in the comments below or submit a bug or change request over on bugs.mysql.com if you come across something that doesn’t look quite the way it should.

Yngve Svendsen

About Yngve Svendsen

Yngve Svendsen has been part of the MySQL organization since 2008. Based in Trondheim, Norway, he is Senior Director of MySQL Engineering Services and responsible for Release Engineering, QA and development lab IT services for the MySQL org at Oracle. Back in the mists of time he majored in mathematics before the dot com wave swept him into the devops field, first at the database startup company Clustra Inc. and then for Sun Microsystems. In 2005 he joined the Dark Side by becoming a manager in Sun's Database Group which was merged into the MySQL org when Sun acquired MySQL in 2008.

One thought on “The Amazing Shrinking Tarball

  1. Very nice. I will note, however, that even large modern MySQL tarballs are still 1/4 the size of an Oracle download 15 years ago 🙂

    Smaller files are definitely appreciated though.

Leave a Reply

Your email address will not be published. Required fields are marked *

Please enter * Time limit is exhausted. Please reload the CAPTCHA.