I run a fairly busy but normal implementation of MySQL on Amazon EC2 - 1 Master server and 3 read only slaves, with about 50GB of data spread between our portal database, a mediawiki instance, a forums database, a large dataset data for FCC license data, and a large core content database.<p>In initial testing of RDS after their recent updated release (we were excited about it!), we've found that RDS performance is significantly lower than running your own MySQL implementation with your storage being a 4 disk RAID-0 implementation on EBS. I suspect RDS uses a single EBS disk which is probably the root of the performance issues.<p>We didn't run actual benchmarks, but we quickly determined that RDS wasn't going to cut it from a performance perspective. In some cases, queries that take 3 seconds on our own MySQL implementation took well over 20 secs on RDS.<p>I see the value of RDS for many use cases, but in our case the performance of RDS is so significantly lower for a high-traffic use case that it wasn't going to work out for us.<p>Now, we still see performance problems when running MySQL on RAID-0 EBS - so we're considering going to an ephemeral disk implementation on EC2 and letting a single slave run on EBS and then snapshot from there often. If we lose an instance, we could restore from a snapshot quite quickly (within minutes).<p>In any case, regardless of our approach, RDS isn't going to be a part of it for now.
I can't imagine life without RDS. I'm a solo developer responsible for a large web app. Before RDS I hosted MySQL on dedicated hardware from Softlayer. I had a dedicated box for the master, one for the slave, and another for storing backups. The DB was about 100GB which made backing up a total nightmare. Mysqldump was too slow, I ended up having to use xtrabackup from Percona. Anyhow it got to the point were I was spending over 50% of my time maintaining the database instead of doing productive things, like building new features for my app.<p>Then I switched to RDS. I instantly fell in love with snapshots. I love that you can backup your database while it is hot. Sometimes, before doing a scary migration or query I'll take a snapshot just in case. I love that.<p>Even more amazing is the ability to scale up/down while the database is live. When I was with Softlayer and I needed to migrate to new machines there was always downtime and I always had to pay for both the new machine and the old machine for a small duration of time. Thus migrating would cost a couple grand in lost revenue and servers expenses, not to mention my Friday and Saturday night.
Okay, this justifies my HN-browsing once again. I was thinking about hosting MySQL-using application in the cloud literally thirty minutes ago, and then this caught my eye in the HN front page. RDS looks very promising, I think it will prove itself useful to us. Thanks HN!
For anyone considering using RDS -- make sure you set your character encoding properly. Out of the box (at least in mid August), RDS used latin1_swedish.<p>Changing the database parameters is pretty painful, and the ec2 tool documentation is a bit misleading. Here are instructions, including how to verify your setup: <a href="http://matthew.mceachen.us/blog/howto-configure-an-amazon-rds-instance-to-use-utf-8-925.html" rel="nofollow">http://matthew.mceachen.us/blog/howto-configure-an-amazon-rd...</a>
Does anybody how much Multi-AZ synchronous replication affects performance? I searched, but I couldn't find any benchmarks. Amazon's FAQ[1] says "You may observe elevated latencies relative to a standard DB Instance deployment in a single Availability Zone as a result of the synchronous data replication performed on your behalf" but they don't quantify it.<p>[1] <a href="http://aws.amazon.com/rds/faqs/#39" rel="nofollow">http://aws.amazon.com/rds/faqs/#39</a>
Would have loved to have seen some actual perf numbers, especially in terms of how much of a cost the Multi-AZ writes entail. We're doing Postgres on EC2, which means RDS doesn't quite help, but Postgres 9's hot standby/streaming replication at least gets a bit closer (and could be easily extended to a Multi-AZ set-up if one of our hot standbys was in a different AZ).