Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
1  
You are comparing two different things here. No matter how much RAM you have on your machine, if the hard drive is slow, it will slow down the whole system. SSD provides super fast booting, application loading, less filesystem fragmentation, less heat, longer working life... it is like comparing apples and oranges! :-) –  user1797 May 8 '09 at 11:35
    
@David: I see, that I didn't make it clear, that I talk about servers. So really no big advantage in fast booting, nor application loading. –  vartec May 8 '09 at 11:43
    
You're not comparing two like things. This is like asking "What are the reasons you should buy a faster CPU instead of a bigger hard drive?" –  sh-beta May 8 '09 at 14:15
1  
@sh-beta: you do know what cache is? –  vartec May 8 '09 at 14:17
1  
If your question is particular to caching, then make that clear and include some details on your application and server use patterns. Right now you just suggest two possible uses of RAM as "HDD cache or even create RAM-disk" - but neither of these are reasons to choose RAM over SSD or vice versa. What problem are you trying to solve? –  sh-beta May 8 '09 at 14:20

9 Answers 9

up vote 8 down vote accepted

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

share|improve this answer
    
True about the future, although I still haven't lost the hope that ultimately hybrid drives will come in strong. –  vartec May 8 '09 at 16:00

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.

share|improve this answer
    
That's the best argument so far. –  vartec May 8 '09 at 14:07

Indirectly related - consider Fusion-io's ioDRIVE technology - for certain applications they're a godsend.

Pros - faster than SSD (both read and write), persistence, large(ish) capacity, blade-versions available, cheaper per GB than RAM but nearly as fast. Cons - slower than RAM, dearer per GB than SSD.

If you had an application that needed to write a fair amount, to a large dataset but have VERY quick access, ideally random then I think they really have a place. We're going to use them with Zeus ZXTM L4-7-LBs/web-caches.

share|improve this answer

I have one of the FusionIO SSDs shared up via NFS on 10GbE from a Red Hat system to an ESX cluster. It's wicked fast (>500MBps when copying 100GB files) but what I've found the limitation with it to be is my applications.

Currently I have a build script running in a VM that does about 250GB of IO for every build. It used to take 6-8 hours to run, now it's 3 hours. Now that's a great improvement but it's not the 10 times faster I was hoping I might get. In analyzing the script I found that the bottleneck is the hashing algorithm that analyzes the build files for process tracking purposes. If I swapped the algorithm I might get 3 hour builds on regular hard drives.

The moral of the story? Look at your process first, it might benefit more from code improvements than hardware improvements.

share|improve this answer

SSDs don't lose their data when you power them off - obvious but important.

share|improve this answer
    
Well, you don't loose data that's in the disk read-cache either. It's on the HDD, even though your application is reading that from cache. –  vartec May 8 '09 at 11:44
    
That's great for read-only databases. –  altCognito May 8 '09 at 12:51

Note that you can attach 80GB to any server, but 80GB of RAM is problematic - you'd need rare and expensive 8GB sticks and board with more than 8 slots.

Not to mention you can even install 160GB in a jiff...

share|improve this answer
    
Good argument, but when it comes to fast, SLC SSD, then eg. X25-E is 32GB for 400€. –  vartec May 8 '09 at 14:01
    
BTW. there's quite a choice of Tyan mobos with 16 memory slots. –  vartec May 8 '09 at 14:07

To say the truth SSD vs RAM gives no advantages. Unless you can not upgrade your server to more RAM.

share|improve this answer

Coming up with a 512GB X25-E solution requires 8 SATA connectors and around USD 6.800.

Coming up with a 512GB RAM solution requires at least USD 50.000 and a lot of ingenuity.

Max out your RAM for fast working memory. Go with fast SSD for persistent storage. Optimizing your software to use less RAM still is worth the trouble once you hit the high numbers.

share|improve this answer

Have you done the maths comparing access speeds for RAM, SSDs and disks?

If you compare accessing something in RAM (1033MHz RAM) with fetching it from a disk (8ms seek time), RAM is something like 10 million times faster.

Now replace the disk with a SSD. Anandtech gives a random read latency of 0.22ms for Intel's X25-M. That's 36 times faster than the disk. Let's be generous, and call it 100 times faster (makes my mental arithmetic easier, too). That makes RAM 100000 times faster than SSDs.

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?

If you can cache something in RAM, then that is the way to go. Otherwise using SSDs to cache disk data may give you some benefits. It all depends on the amount of data needing caching vs the amount of RAM and/or SSD available for caching.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.