Which type of memory is faster than average for server use?

I am building a server computer which will be used for SQL Server and I am planning to use like 32GB+ of RAM and putting the databases in memory. (I know all about data loss issues when power is gone). I haven't been up to date with the new types of memory sticks out there.

What kind of memory should I get which is faster than average and not very expensive? I am buying a lot of ram so I am looking for memory that's above average but below high end if high end is very expensive.

(I will be using Windows Server 2008 R2 Standard or Windows HPC Server 2008 R2)


Solution 1:

PC3-10600 (DDR3-1333 - peak transfer of 10667 MB/s) is plenty fast, but not the cash burner that PC3-12800 is. (DDR3-1600 - peak transfer of 12800 MB/s).

One step below PC3-10600 is PC3-8500 (DDR3-1066 - peak transfer of 8533 MB/s). That's seen in most off the shelf desktop PCs these days, and is considered an average speed.

Be warned that RAM prices are high nowadays.

Solution 2:

You will probably be looking at three different types of memory for a server today:

  • DDR2 800 MHz
  • DDR3 1333 MHz
  • DDR3 1600 MHz

Don't expect there to be any cheap way out of this. You generally get the memory you pay for. A lot of servers are configured to use use common memory (non-ECC, Unregistered, Unbuffered), and such a server will save you some money at the cost of stability.

What you can possibly do is to get memory with a lower clocking, but you will lose performance then. If you want to get better than average performance you will be paying much more than average.

Solution 3:

pehrs and Wesley 'Nonapeptide" have pretty much nailed the speed\type options but it is also important to pay attention to the correct sizing for your particular server as that can limit speed and total bandwidth significantly. Intel Xeon 5500 & 5600 series systems have three on die memory controllers and memory bandwidth is maximized when they are all utilized so RAM sizes with slightly strange sizes like 6,12, 18 etc are going to have up to 50% more effective bandwidth than sizes of 4,8 etc on those systems. Also relevant is the maximum permitted DIMM speed for the number of DIMMs you populate per memory channel - most (all?) Xeon 5500's limited 1333Mhz speeds to configs with no more than 1 DIMM per channel.

Solution 4:

If by "put databases in RAM" you are referring to your previous question about RAM disks on Windows Server 2008, the answer is again the same: SQL Server has excellent caching, you don't need to mess with RAM disks.