MySQL High Availability Links

November 14th, 2007

I just got back from a 2 day mysql training on High Availablity in Portland. It was a well taught class with a good interactive setup. Getting to spend 4 days in Portland was great too! Here are a few links to stuff mentioned in class:

  • Performance: The class didn’t really cover performance, but there were lots of questions about it. I guess HA is only interesting if you care about performance.
  • Replication: We use a very simple master/slave setup, and don’t really use the slave as much as we could. There are lots of other options for replication, like an arbitrary number of slaves, and even an arbitrary number of masters set up in a circle.
    • mysqlproxy, a nice looking way to do load balancing and distributing reads over multiple read slaves without going config crazy at the application level
    • a replicated table on a slave can have a different storage engine than on the master— even the Black Hole storage engine
    • Google replication patches
  • Cluster: It’s really cool stuff and surprisingly easy to set up, but unfortunately it doesn’t really match what our application does. All the arbitration and split brain stuff reminds me of class though!
    • example config file
    • almost all of the data has to fit in memory, so it’s useful to calculate the size of a mysql cluster with ndb_size.pl
  • Disk Stuff: We do backups with mysqldump. If you’re not familar with this, it turns a database into a text stream of sql statements. As you would expect it is a bit slow.
    • DRBD is a linux kernel module that sits in front of a block device and synchronously writes to a block device on another machine
    • a lot of people do backups via LVM

Sorry, comments are closed for this article.