Subscribe to Windows IT Pro
October 22, 2009 12:00 AM

Are You a SAN Fan?

SQL Server Pro
InstantDoc ID #103004
Rating: (9)

Question: What’s worse than spending six or seven figures on an expensive SAN that doesn’t meet your needs or perhaps you didn’t even need in the first place?

Answer: Being the person in your company blamed for making that six or seven figure recommendation.

I’ve been doing database work for 19 years and have been a performance tuning jock for most of that time. I’ve been tuning databases since before RAID was commercially viable, never mind SANs. IO has always been the most common hardware-related bottleneck. In general, people have typically had more memory and CPU than they need in a server and are trying to get by with undersized IO components. This disparity has become even more acute in recent times. Moore’s law applies to silicon, not spinning plates.

If sizing a SAN or DAS system was easy or cheap, then most database servers wouldn’t have undersized IO components. Reading this week’s commentary won’t be the silver bullet to slay your IO monsters. Instead, I want to throw a few ideas out to you for further consideration and research on your part. Considering these ideas will help you more effectively address IO needs within your data ecosystem.

First, you don’t always need more IO bandwidth, even if you think that’s the problem. What if all your IO counters are in the red? Is that bad? Maybe. What if they’re in the red because you’re consistently doing a table scan on a billion-row table because you’re missing an index? What if adding an index turns your scan to a seek and your redlined IO counters drop to green flat lines? Do you need to spend money on more IO? Probably not. Spending more money on IO probably doesn’t solve that problem.

Second, who should you trust to recommend and spec out your SAN? Most people have their SAN’s configured and optimized by their SAN vendor. Newsflash: The people selling you six and seven figure hardware make a lot of money on commission. I’m not saying they sell you things you don’t need, but they make more money selling you more expensive hardware.

Third, who do you have provision your SAN and layout what the disks will look like? Typically, it’s the vendor. I’m on a bit more politically riskier ground here. I don’t want to suggest that typical SAN vendor system engineers don’t know their products and technology. Typically, they’re highly trained and skilled professionals. Alas, they often don’t have a database background. Letting your SAN vendor provision what your SAN looks like will often lead to a layout that isn’t ideal for the database workload you’re running.

Fourth, let’s assume you really do need more IO capacity. Is a SAN always the right answer? Nope. SANs have incredibly useful management features making them super flexible, but all things considered, you can almost always get substantially better IO throughput on a DAS solution and spend a heck of a lot less money.  By the way, I’ve been consulting for 19 years and have learned to avoid the use of “never” and “always.” When I say “almost always” above, what I really mean to say is SANs will never, ever, ever in a gazillion years out perform properly spec’d DAS solutions. But I’m not saying that directly because I almost always like to avoid using the words “never” and “always” when making technical recommendations.

Related Content:

ARTICLE TOOLS

Comments
  • Scott
    3 years ago
    Oct 26, 2009

    I am for all practical purposes a systems architect -- not the programming kind mind you. With assistance from our HW vendor, we've built & designed our SANS based on all current data we could gather from our SQL servers. We run almost all SQL servers as clusters, with RAID 10 FC disks on SAN. While our DB guys could give us rough numbers, I had to go in and start measuring disk I/O, IOPS, response times, etc... the whole gamut of OS specifics to size the number of spindles. I don't just look at space. I look at everything in the entire system & try to get an understanding from the Developers building the application to the DBAs who managed the SQL servers.
    With all that and input from our HW vendor, we've had good reasons to use SANS. ON several DBs, the ability to support high I/O & IOPS that we couldn't do with DASD.

    So far, knocking on wood, any SQL performance problems have all been at the database design level, (table structure, indexes, bad queries, etc...). The physical servers & the SAN have not been a bottlenecks.... much to the dismay of the Director over the developers.

    Excellent article though. Throwing HW at an application 1st should be the LAST thing you do get performance out of a system.

  • Randall
    3 years ago
    Oct 23, 2009

    I work for one of those SAN vendors, but I am not the SAN guy. I'm the DBA engineer helping customers to define their application requirements so the SAN guys can deliver the performance requirements. Here's the catch: Most application guys (and DBAs included) can't verbalize what their performance requirements are today, let alone what they will be in 12 months. The SAN technology that my company produces provides for this in many cool and cutting edge ways. Our technology can actually compensate for the lack of current knowledge and the lack of future crystal ball knowledge. Our technology also provides for a 5x9's ++plus storage platform and a management/replication framework that can move data around within the SAN faster and more efficiently than any database layer technology can perform the same functionality. This provides the business a much more robust and agile storage platform to drive application changes faster for a more competitive advantage. You'll notice that none of this has anything to do with I/O's and Bandwidth, but we do excel in those areas, as well. In most cases we as database engineers like to think about the single instance running the monster database, but SANs are deployed to support dozens or hundeds of instances and hundreds and thousands of databasess, as well as that one monster database. SANs are also used to clone/snap that monster database and to back up that monster database and then to replicate that monster database to the disaster recovery site, all without DBA/user intervention. There is a place for SANs. I would like to suggest that the root of this discussion is really all about communication and cooperation and understanding between all of the smart people required to run the IT infrastructure. Let's face the truth. We're all nerds, and nerds aren't known for being the best at communicating with each other. Brian, Keep up the great work, and Jimmy, I love your work too!

  • Henrik
    3 years ago
    Oct 23, 2009

    Isn't this problem going to be mitigated by SSD technology? Texas Storagesystem have SSD-SAN's that can take 100.000 IOPS. There's happing a lot in this space, a small revolution you might say?

  • Jimmy
    3 years ago
    Oct 22, 2009

    Nicely stated, Brian.

    I just received an email from a customer who, for his application from which high-performance is required, got this from his outsourced SAN vendor:
    "4.5TB RAID 5 split across unknown number of shared spindles...should be more than 8 spindles..."

    The mantra I preach to my customers is:
    X GB capacity
    at Y throughput (MB/s)
    at Z IOPs (transfers/s)
    at <=10ms latency for data files, 0ms-2ms for log files

    A shake my cavernous calvarium in sadness at SAN admins who deal solely in capacity, which is merely the first of several vital stats required for db performance-&-scalability.

    Here’s a message from another customer to whom I recommended SSDs. It was essential to save his project:
    "...As you know, in order to get out of the SAN team’s prison, I now have non clustered servers operating with local storage which is combination of local hard drivers and FusionIO. In order to do that, I have selected servers which offer many local drives 24 Drives (HP DL 580) and SSD drives goes in PCI-E Slots..."

    This is an interesting combination of frank relief & practical advice.

    Jimmy May
    http://blogs.msdn.com/jimmymay

  • Husain
    3 years ago
    Oct 22, 2009

    Excellent vision and guidance

    Thank you
    Husain Taiyebi

You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.