Rapid SSD vs. RAM in servers

Per GB prices of rapid SSD (like Intel X25-E) come close to prices of high-end RAM. So what extra advantages does SSD give you? What are particular reasons, why you buy SSD, instead of just putting more RAM in your server machine, to have it used as HDD cache or even create RAM-disk?

EDIT: of course I'm aware, that SSD are persistent. But so is the data in disk cache. Reading from RAM has got to be a lot faster, then reading from SSD. Also, SSD have slow write times, so no advantage over HDD there. Especially for sequential writes.

EDIT2: amount of RAM you can put is not so limited. With introduction of DDR3, it's not multiple of 2 anymore, it's multiple of 3. Standard SOHO MoBos have 6 slots, while server boards have 12 or even impressive 18 slots, supporting total of 144GB of RAM. Even if you use more cost effective 4GB memory sticks, you still can have 72GB.


So what extra advantages does SSD give you?

  • Persistence (don't lose data in power outage)
  • Cost is still lower, and will drop very rapidly compared to RAM over time
  • No upper limit to size - you'll see 1TB SSDs before you see a COTS server that accepts 1TB of RAM
  • Common interface - you can move the SSD to any other computer and connect it, or even a USB<-->SATA bridge. Can't do that with RAM without checking the MB specs, removing existing memory if slots are full, etc.
  • Can add multiple SSDs to one computer, whereas RAM is ultimately limited.

Why buy and SSD instead of just putting more RAM in your server machine?

When I need fast persistent storage, I use SSD.

When I need fast volatile storage I use RAM.

IF the UPS fails, or the motherboard fails, or the software crashes the OS, you lose everything in RAM.

There is simply no substitute for persistent storage.

Further, though you state the cost is similar, the cost of high performance SSDs is going to drop like a rock over the net two years.

Right now it might make sense if you have read only data, or indexes that you don't mind rebuilding, stored completely in RAM.

In cases where the cost and risk are low, you might even perform more aggressive disk caching against a slower hard drive.

But at the end of the day, if you want persistent storage AND performance, you either buy BOTH a slow hard drive and fast RAM, or you buy a high performance SSD.

In general the SSD is going to be cheaper than both the hard drive and RAM together.

But at any rate, SSDs are still niche items. You don't use an SSD unless you have specific needs.

-Adam


Predictability and flexibility.

First, lumping more RAM into a existing system helps performance a lot in the lower ranges, but the benefits drop off quickly as you get into a space where the OS doesn't really utilize the extra RAM very efficiently. At some point, the OS really will have difficulty predicting what sectors will be reread off the disc. (it reached randomness for those sectors)

Enter predictability: If you want to make sure every single record in your database is reachable in a high speed fashion, putting the entire database on high speed media definitely accomplishes this.

There are other ways to achieve this (RAM drives, special databases), but doing things this ways opens you to other issues. (power failure, being less standard means less tested generally etc...)

Flexibility of SSD is simple: Most motherboards don't support adding RAM on the fly.