We are currently designing our new database servers, and have come up with a trade off I'm not entirely sure of how to answer.
These are our options: 48GB 1333MHz, or 96GB 1066MHz.
My thinking is that RAM should be plentiful for a Database Server (we have plenty and plenty of data, and some very large queries) rather than as quick as it could be. Apparently we can't get 16GB chips at 1333MHz, hence the choices above.
So, should we get lots of slower RAM, or less faster RAM?
Extra Info:
Number of DIMM Slots Available: 6
Servers: Dell Blades
CPU: 6 core (only single socket due to Oracle licensing).
You will want to go with the large and slow RAM. The difference in RAM performance is negligible compared to the difference between RAM performance and disk performance.
Alright, it's very very very simple :
Does your database fit in 48GB of RAM with OS and all ? if yes, take that. Else, take 96GB
Also, database fitting in xyz GB of RAM means it fits with index's, views and all that.
SSD comments are complete utter nonsense, both the bandwidth and access time are not on the same level and no SSD can justify taking less RAM.
Database only? Depending on the database, I would think the larger RAM would be better. Speed difference has been proven to be miniscule at best, but the additional 48gb will / may make a huge difference.
Definitely large RAM, speed be damned.
Access to random data for RAM technology from XX century '90 is below 100 ns. That's using practically ancient chips that won't even physically fit into anything borderline contemporary.
Access to random data for cutting edge 15k rpm hard drives is in measured in miliseconds. 100 ns is 10 000 times shorter (nano -> micro -> milli) than 1 ms. Current RAM is faster, and HDD needs several milliseconds to access data. I couldn't care less if my RAM was 50 000 faster or only 30 000 times faster than HDD, if I could get more.
You must take your attention in some points:
MEMORY BANDWIDTH =/= SPEED!
Probably the most important piece of missing information information is the memory timings and CPU/FSB type. lower the CPU memory load delay by a few cycles and you will blast ram double the bandwidth in certain calculations. Some databases dont use massive amounts of ram due to operating system and technical reasons, what database server are you using? CPU type? L[123] cache levels? type of queries to be run? size of the database?
Before spending too much money on wrong hardware, I would do some tests and analysis before buying hardware.
You choice should depend on many factors:
faster CPU than more memory? faster network? minor redesign on sofware/sql?
you analysis could also be very much relevant to the developers, database and software architcts, and sql query designers.....
If you are using windows - you could easily run perfmon to see some statics on the current running system and mayby be very lucky to get a clear idea of your your needs.