When using hardware (rather than virtualization), there is a clear benefit in using a 200 GB disk for MySQL and a 200 GB disk for content. But due to the way AWS works, is there actually any potential benefit in using two 200 GB disks on a web server (one root disk and one attached) rather than a single 400 GB disk?
1 Answers
No. Your IO increases with the size of your disk (some info here and here), so you're much better off with one large volume than two small. You get 3 IOPS per GB of storage provisioned, but you can burst higher. You can also go for provisioned IOPS, but of course you pay for it.
Latency and network bandwidth are factors to consider. You probably want an IO optimized instance, one with moderate or high network bandwidth.
Have you consider Amazon RDS? Amazon basically provision your database on their server(s) and manage everything for you. Far easier than doing it yourself, but you'd have to compare costs with a standard instance. I suspect when you take into account management time, upgrades, etc, RDS would win easily.
As per the comments below, advanced MySQL admins may prefer a standalone install, as with RDS you lose access to a number of features that MySQL includes, but anyone who doesn't already know what they are is probably best off with RDS. One large volume is still best.
-
I think benefit would be if you need to have some specific file system or mount options for mysql. – ALex_hha Feb 19 '16 at 22:28
-
You're probably right, there may be some less common cases where it makes sense to host it yourself, but RDS is probably pretty good for most common uses. – Tim Feb 19 '16 at 22:29
-
1If you're an experienced MySQL DBA, RDS does not win quite so easily. There are a number of things that are blocked, such as the federated storage engine and the ability to install udf plugins or flush tables with a global read lock... but yeah, for the less sophisticated application or admin it can be much easier to manage. Still, +1 on your correct assertion related to the iops-per-GB issue. – Michael - sqlbot Feb 20 '16 at 09:21