
Arrange this list of things in order based on how much they cost:
- SQL Server Standard Ed. licensing for four cores
- SQL Server Enterprise Ed. licensing for one core
- One typical day of employee time
- One week of a team’s time (4 people)
- 64GB of memory
- 256GB of memory
- A mirrored pair of 1TB SSDs
Without searching the web for prices, put those items in order. Do it on a scratch piece of paper – first estimate how much you think each one costs, then put them in order.
How does this impact the way you do performance tuning, and what solutions you try first?
For my answers, search for “The Answers” on this page, and read my comment.
13 Comments. Leave new
I am unsure of the licensing cost…
SQL Server Enterprise Ed. licensing for one core
One week of a team’s time (4 people)
SQL Server Standard Ed. licensing for four cores
256GB of memory
A mirrored pair of 1TB SSDs
One typical day of employee time
64GB of memory
It seems it’s more worthwhile to use a SSD san+ tuning for 2years a solution than passing the RAM from 64GB to 256GB! (sarcastic)
Here goes…
• SQL Server Standard Ed. licensing for four cores
• One week of a team’s time (4 people)
• SQL Server Enterprise Ed. licensing for one core
• A mirrored pair of 1TB SSDs
• One typical day of employee time
• 256GB of memory
• 64GB of memory
I would take a plunge and say:
1- SQL Server Enterprise Ed. licensing for one core
2- SQL Server Standard Ed. licensing for 2 four cores
3- One week of a team’s time (4 people)
4- A mirrored pair of 1TB SSDs
5- One typical day of employee time
6- 256GB of memory
7- 64GB of memory
You think too much like an entrepreneur and less like a propeller-head. I like that. I agree with the gist of your argument (reading your mind b/c you never really say) that price != cost != value. Sometimes the math is subjective.
Example…if you are an ISV and adding 64GB would solve a pageio_latch/lock escalation problem…it still may be wiser to spend a month rewriting and testing a proc if you host the application and the symptoms impact hundreds of customers/servers. Otherwise, just throw hardware at it (this isn’t 1997 anymore).
Example 2…256GB may cost less than 64GB memory if you are multi-tenant and can get more customers on a single EE host.
Example 3…companies account for IT costs differently depending on their industries and fiscal goals. Each of those items you mentioned could be classified as opex or capex depending on many factors, least of which is how aggressive your accountants are. Some companies will do anything to limit, say, capex, even to the point of spending a boatload on a high priced consultant vs buying some RAM at Target.
Here’s the example that I use which, for some reason, is very controversial. Which is better…paying part of a 24/7 computer operator’s wages to monitor and manually “fail over” a SE instance, or pay for clustered EE licensing when your java app doesn’t recognize that your db failed over and WebSphere needs to be manually failed over anyway? (Obviously this is bad coding/design…point is, for some reason everyone thinks they need EE).
My guesses:
One typical day of employee time 1000
A mirrored pair of 1TB SSDs 2000
SQL Server Standard Ed. licensing for four cores 8000
64GB of memory 10000
One week of a team’s time (4 people) 20000
SQL Server Enterprise Ed. licensing for one core 28000
256GB of memory 40000
Now I want to delete the guesses! I think I miscalculated on RAM big time. I know I just paid 150 for 16 GB so I was basing it on that.
The SSDs and RAM prices must include downtime and install expenses which can be serious costs depending on the system. And the SQL licenses lead to similar questions…
Also I agree with Dave Wentzel re: the value of improving code over throwing hardware at the problem, especially if the problem may get exponentially worse as load increases on the system.
It’s a good exercise, but there are soft and future costs to be considered as well.
Without giving second thoughts I just think on raw numbers, how much an SSD costs, how much the Enterprise license, etc, etc. Then you could ofc throw in also the cost of people doing maintenance to installa the RAM or the mirrored SSD, plus the time taken to get things running with those mirrored SSD, if it was not already done. And you can continue adding. I guess Brent is trying to point out the usual “why you’re paying several thousands, even more than one hundred thousands, for an Enterprise version, and still using 64GB of RAM, or spinning drives?”. Correct me if I’m wrong.
If you have to ask you can’t afford it.
64GB of memory
256GB of memory
One typical day of employee time
A mirrored pair of 1TB SSDs
SQL Server Enterprise Ed. licensing for one core
One week of a team’s time (4 people)
SQL Server Standard Ed. licensing for four cores
Which makes me think adding hardware capacity and tuning queries is where to start. First step, run sp_AskBrent. See what I did there? LOL
OK. Professor, I graded my own quiz.
One typical day of employee time $307 $80K/Annual salary
64GB of memory $700 @Amazon
A mirrored pair of 1TB SSDs $1400 Samsung 850 Pro @Amazon
256GB of memory $2400 @Amazon
One week of a team’s time (4 people)$6080 $80K Annual salary
SQL Server Enterprise Ed. licensing for one core $6,874
SQL Server Standard Ed. licensing for four cores 4 x $1793 = $7172
http://rcpmag.com/articles/2012/03/23/sql-server-2012-licensing-to-result-in-some-price-hikes.aspx
So, I would still run sp_AskBrent first to get a feel for what is happening on the server. Substitute your favorite DMV queries to check waits here people if you don’t like sp_AskBrent. Then, figure out the next step.
I had a real situation where I did this and the first recommendation was to increase memory. I hear lots of people say memory is cheap and SQL Server loves memory. Second, I/O seems to always be an issue at my workplace so the SSDs look like the next best thing. Of course, I wouldn’t blindly throw hardware at a problem. I’d gather info and make a case to justify the purchase. Thanks for a fun and enlightening exercise.
Obviously there will be some variations based on salary and regional pricing etc., but I’d go with this from top to bottom:
SQL Enterprise Edition 1 core
SQL Standard Edition 4 cores
One week of a team’s time
A mirrored pair of 1TB SSDs
256GB of memory
One typical day of employee time
64GB of memory.
Based on prices I’m used to I would say that’s fairly accurate; 1 core of SQL EE is roughly the same as 4 cores of SE, but I put EE on top anyway. It also makes sense that the cheapest thing is 64 GB of RAM, as Brent regularly makes the point that memory is dirt cheap and can make up for a lot of other sins.
The Answers:
Interesting to see how folks answered, and yep, you got the right takeaway – hardware is cheaper than you think.
When you think about staff time, though, check with your HR team or your project management team about the ballpark numbers they use for staff time. It’s not unusual to hear $100 USD/hour or $150 USD/hour for fully loaded employee time – meaning, including benefits, insurance, training, computer gear, etc. With those numbers in mind:
Group 1:
* 64GB RAM – $700-$800 for server-grade memory
* One typical day of employee time – $800-$1200 (most companies use $100-$150/hour for fully loaded time, meaning including insurance, benefits, etc)
* A mirrored pair of 1TB SSDs – $850 (using Tom’s Hardware top recommended 1TB ones, which are commodity Samsung drives, and you could argue this cost should be higher if your company mandates a specific brand of drives)
Group 2:
* 256GB RAM – $2800-$3200
* SQL Server Standard Ed. licensing for four cores – $6,378
* SQL Server Enterprise Ed. licensing for one core – $6,874
Group 3:
* One week of a team’s time (4 people) – $16,000-$24,000 (again using $100-$150/hour)
Whenever you’re spending time, think about the hardware you could get for an equivalent amount of time. And if you’re reading this after September 2014, keep in mind that hardware prices have gone down – but people prices probably haven’t.
(Updated 9/12 – thanks to Adam Machanic for catching a glaring match bug, hahaha.)