Archive for the 'Announcements' Category

MySQL Enterprise 5.0.74 Released

Sun has released MySQL Enterprise 5.0.74. The source and binaries are now available from the Proven Scaling mirror.

This release is a MRU release and is recommended if you are being affected by bugs which are fixed in this release. A number of server crashes have been addressed. Details for changes in this release can be found in the MySQL Enterprise 5.0.74 release notes.

For more information about the different MySQL release version numbers, see our previous post on version numbers.

MySQL Enterprise 5.0.72 Released

Sun has released MySQL Enterprise 5.0.72. The source and binaries are now available from the Proven Scaling mirror.

This release is a MRU release and is recommended if you are being affected by bugs which are fixed in this release. A number of server crashes have been addressed. Details for changes in this release can be found in the MySQL Enterprise 5.0.72 release notes.

For more information about the different MySQL release version numbers, see our previous post on version numbers.

MySQL Enterprise 5.0.70 released

Sun has released MySQL Enterprise 5.0.70. The source and binaries are now available from the Proven Scaling mirror.

This release is a MRU release and is recommended if you are being affected by bugs which are fixed in this release. A number of server crashes have been addressed. Details for changes in this release can be found in the MySQL Enterprise 5.0.70 release notes.

For more information about the different MySQL release version numbers, see our previous post on version numbers.

Introducing Flipper for managing MySQL master pairs

At Proven Scaling, we’re great fans of using pairs of MySQL servers replicating to each other (commonly known as master-master replication or dual-master replication) as a way of ensuring high availability for MySQL databases.

Deploying servers in this way enables one half of the pair to be taken offline for maintenance work while the other half carries on dealing with queries from clients — meaning that, for instance, lengthy ALTER TABLE operations can be done with no impact on service. This strategy has been in use at many sites for years, and has been very successful at minimizing downtime.

The usual way of implementing this model is to have IP addresses floating between the two MySQL servers. Rather than having the clients use the actual IP addresses or hostnames of the servers themselves, these “floating IPs” (or “virtual IPs”, “VIPs”, “IP aliases”) are used by clients to access MySQL based on a role (typically “writable” and “read-only”). The floating IP addresses can be moved between the servers as required to ensure that each role is always available.

There are some tools already available to manage pairs of MySQL servers, most notably mysql-master-master (MMM) and the High Availability Linux project.

Today, we’re announcing the release of Flipper, a tool for managing access to MySQL servers using master-master replication.

Reinventing the wheel?

Although the existing tools have worked well for some people in some situations, we (and our customers) have been frustrated by the number of situations where they’re not suitable.

Most of the existing tools are specific to Linux, and therefore no good to users of Solaris, FreeBSD and other operating systems. Most are heavy-weight implementations, with monitoring daemons running all the time. Configuration is rarely simple, sometimes because some of the available solutions try to be all things to all men, doing things that would be better handled elsewhere.

A lot of the effort that’s been put into other tools has been aimed at implementing automatic failover. Sometimes this can be very useful (for instance in stateless applications, restartable services, etc.), but very often this is implemented with little consideration for the possible consequences in a stateful, database environment.

Bringing failed servers back into service prematurely (as often happens with hardware load-balancing solutions) can be disastrous, with bad data being returned to clients, or data received from clients and theoretically committed being lost. Likewise, servers may be incorrectly diagnosed as having failed, causing a painful, lengthy, and potentially irreversible failover process to take place for what should have been a barely noticeable event. In some cases, an automatic failover system may change its mind back and forth, causing repeated failover events (known as “flapping”). All in all, we’re not convinced that completely automatic failover is always a good idea1.

Automated, but manually triggered

Flipper’s design comes from a very pragmatic perspective. It’s a standalone tool that doesn’t require constantly running monitoring daemons — it evaluates the current situation at the moment that it’s executed, and does only what it’s told. It doesn’t attempt to do anything fancy right now; it just manages moving IP addresses between MySQL nodes and reconfiguring a typical master-master setup, in a safe, controlled manner. If one of the MySQL masters fails, it will allow you to move services away from the failed master, enabling you to fix the failure.

Flipper has been designed to be as portable as possible. It’s capable of running on almost any UNIX-like operating system, as it’s written in Perl and uses DBD::mysql to communicate with MySQL servers. Flipper itself doesn’t necessarily require any special privileges, user accounts, or daemons; it uses ssh and sudo to run system commands (and you’d typically want to set up SSH keys, and use ssh-agent to avoid typing your passphrase so many times).

We will add additional features in the future, but the system will always remain modular — you’ll be able to use whichever parts of it you want.

Where can I find out more?

We’ve set up a new (and currently rather minimal) micro-site for Flipper at provenscaling.com/software/flipper with documentation and links to various resources.

We will also post on this blog when there’s a new release, or some other important Flipper-related news.

1 Of course, we’d be delighted to hear from anyone who wants to try and convince us that any of the current MySQL automatic failover/HA strategies are error-proof, or anyone who’s got new ideas about how this can be achieved.

MySQL Enterprise 5.0.68 available

Sun has released MySQL Enterprise 5.0.68, and the source and binaries are now available from the Proven Scaling mirror. This release is a MRU release and is only recommended if you’re looking for fixes to specific bugs which are available in this release. For more information about the different MySQL release version numbers, see our previous post on version numbers. Details for changes in this release can be found in the MySQL Enterprise 5.0.68 release notes.

Announcing the official Proven Scaling Blog

Welcome to Proven Scaling’s new official home on the web. We’ve been meaning to set up a company blog for quite a while, but since we already have personal blogs, it kept getting pushed to the back burner. Finally, with much ado, it’s up!

A little about Proven Scaling and our history

Proven Scaling was founded by Jeremy Cole and Eric Bergen in May, 2006 in order to provide our skills in MySQL architecture, performance, reliability, and availability to a larger audience. Currently Proven Scaling consists of:

  • Jeremy Cole — Jeremy left Yahoo! after 1.5 years, a few months ahead of Eric, to kickstart Proven Scaling in July, 2006. Previous to Yahoo!, Jeremy worked for MySQL AB for 4.5 years as tech writer, trainer, consultant, and occasional developer. Jeremy has a personal blog at jcole.us.
  • Eric Bergen — Eric left his 1.5 years at Yahoo! to join Jeremy in September, 2006. Previous to Yahoo!, Eric was responsible for MySQL and related systems at a major domain registrar. Eric has a personal blog at ebergen.net
  • Mike Griffiths — Based in London, UK, Mike joined Proven Scaling in November, 2007. Before joining Proven Scaling, Mike worked at Yahoo! for 7 years, responsible for MySQL in Europe, Asia and beyond. Mike has so far steadfastly refused to join the blogosphere, arguing that no-one’s really interested in his thoughts on sport, DIY, perl hacking, warm English beer and the other things which take up his leisure time.

A lot more than consulting…

At Proven Scaling we spend a lot time working on various software projects. Jeremy and Eric have been publishing their own patches to MySQL and other projects for many years. One of the primary reasons for forming a company together in the structure that we have is to ensure that we maintain the hardware resources, ability, and time available to work on these projects and provide them to the public in as quick and efficient manner as possible. In addition to continuing our previous work, Proven Scaling has been working on several new independent projects to solve problems in the MySQL space.

We needed to place to distribute that software along with other widely and not-so-widely available software packages, so we host a software mirror at mirror.provenscaling.com. This site hosts hard to find copies of various software packages we use every day, in addition to RedHat-friendly (and CentOS friendly) yum repositories for many packages. In fact, one of the reasons we are starting this blog is so that we have an official place to keep you updated as to the contents of our mirror site. As we update the mirror with new releases of existing software and entirely new software, we will post entries describing the updates.

What will we blog about?

You can get some idea of the topics you might see here from Jeremy and Eric’s MySQL posts on their personal blogs: MySQL on jcole.us and MySQL on ebergen.net.

In addition to the updates described above, some of the topics we are especially interested in writing about are:

  • Announcements of new Proven Scaling software and new releases of our software
  • New patches or ideas for patches to MySQL and other software
  • Deep dissections of various parts of MySQL and InnoDB
  • Knowledge gained from working with our customers, such as advice for real-world scenarios or unexpected situations
  • Many more exciting ideas we’re working on, which we will share when they are ready!

Sounds good?

Go ahead and subscribe to our RSS feed, or bookmark this page. Keep an eye on the author names above, so that you know who’s writing.