Disk Subsystem

  • I want a recommendation on a disk subsystem for my OLTP system. I will configure it to RAID 5 and maybe a portion of it to RAID 10. My SQL Server will do about 30 million transactions a day. I know this is a really general spec, but I just need some pointers. I would like an affordable system with roughly .5 - 1 TB. Any advice would be much appreciated. Like - should I go with SAS/SATA, SCSI, what kind of storage enclosure, what brands are best etc.

    Thank you

  • No idea on the disk types to choose, go with the fastest throughput you can.

    Do not use R5, except maybe for backups. http://www.baarf.com has good reasons to stick with R1 or R10.

    The daily transaction count doesn't matter, it depends on how it's distributed. 30M in one hour and 0 the rest of the day is different than 30M evenly spread.

    You want to separate things out that have contention. If you have a busy write/update server, then you might want an R1 array for your logs. If you have heavy queries, then you might want separate R1/R10 arrays for certain tables or indexes away from data.

    Memory is probably more important, so be sure that you have a high buffer cache hit ratio no matter what the disk is.

  • Steve Jones is wise you should listen to him.

    RAID 5 is slow, RAID 1 is nice but a drive error results in an outage, RAID 10 is the best if you require 100% uptime.

    Network attached storage devices that have SCSI interfaces are expensive but nice.

  • I would say a SAN or NAS over a DAS, because to model DISK IO is a little hard.

    I would look for a system that will let me expand a raid group or create a raid groups and expose it to the OS with out down time.

    Let say you start with a raid group A 1_0, 20 drives, 15,000 RPM SAS, fiber. 10 disk are available for writes and 20 disk available for reads. You find your self with bad performance. No or limited maintenance windows. Also who want to work till 4 in the morning? A SAN or NAS will let me expand the file group I might add 6 disk to my raid group A 1_0 to increase IO or I might create a new file group and move some tables or indexes over to it. Balance my IO. Flexablity means cost. I would look at NETAPP NAS (cheap) or Go with a IBM DS8000 ( Expensive).

    SAS Drive is design to run for 5 years where SATA is an upgrade to PATA drive and is designed on average for systems that is not running all day.

  • What Steve Jones said, except that I wouldn't entirely rule out RAID5 - it's suitable for a workload heavily biased towards reads with little/no write activity and lower recovery SLAs, maybe a second tier large read-only DB or staged reporting DB with infrequent data loads. EDIT: Actually you said OLTP so forgot this part - RAID5 has no place here.

    @pdross2000:

    I think you are thinking of RAID0. RAID1 can survive a single disk failure just fine with no outage.

    @robert.concepcion:

    I generally wouldn't recommend any NAS solution - having a file-level network redirector between your server and the data files is asking for trouble. Go for SAN or DAS - data files on NAS is a pretty narrowly supported scenario from MS. That said NetApp have a SAN (block-level) solution in most of their products don't they?

    Regards,

    Jacob

  • I am quite frankly astonished that you are asking on this forum for disk advice when you are developing a system that will process over 20K transactions per minute 24/7 on average!! See here for just a few of the things that make this level of processing difficult: http://sqlblog.com/blogs/paul_nielsen/archive/2007/12/12/10-lessons-from-35k-tps.aspx.

    If you truly need that level of performance, you best get yourself a top-level DBA and get him/her involved in this from the ground up!! There are and incredible array of things that can/should be done/configured to achieve optimal performance of a SQL Server system - much more than just the disk system too. 🙂

    Best,
    Kevin G. Boles
    SQL Server Consultant
    SQL MVP 2007-2012
    TheSQLGuru on googles mail service

  • Thank you everybody except the SQLGuru whos comments were entirely unhelpful and implied that I am not a top level DBA.

  • P.S. as I expected your link bared no relevance to my question as it implemented complex business logic and 35k tps instead of my desired 200 to 400 tps. If you don't like a forum question please don't waste people time with unhelpful commentary.

  • I think SQLGuru expressed concern that you're trying to solve a complex problem, meaning a very, very busy system, based on community advice. That type of system is one that very few people have worked on and so the advice you get here might not be relevant.

    The concern there is that you are asking the question becuase you aren't experienced and will rely on this information, which is not what you should do.

    If you are experienced, and are just looking for other opinions, that's fine. However if you are in doubt, then SQLGuru's advice of hiring a consultant experienced in high tps levels makes sense.

    It's not an insult, we have no idea what your experience level is.

  • Thank you Steve, I agree with what you are saying. I am not recommending any purchases be made based on the advice I received on this thread, but rather, I am just placing feelers out there. TheSQLGuru did not address my question, but assumed what he thought my real issue was, and so I suppose that is fair since this is an open ended forum.

    The point I would like to make though, is that I am interested in disk subsystems (Direct attach, NAS, SAN) and I am not interested in what TheSQLGuru "perceives" my problem to be.

    Instead of making assumptions he could ask a question like "hmm will there be peeks during the day or will all transactions be spread evenly?" or "hmm will there be a maintenance window?"

    Instead he posted a link that talked about iterative versus set based approach serving up 35,000 tps???

    I don't take offense, It's free forum so long as we are respectful of one another, I just didn't feel it was at all a productive post and wanted to give him that feedback.

    Thanks

  • Actually after rereading what I originally posted and rereading TheSQLGuru's post I don't know why I took offense at all. My bad TheSQLGuru, it actually does look like you are trying to be helpful. Please dissregard my last two posts, I was being "sensitive".

    As for the NAS,SAN, DAS why not DAS - it can be much cheeper can't it? dell sata 14 bay (I think) starting at just a few thousand.

  • Tobi White (3/25/2008)


    Actually after rereading what I originally posted and rereading TheSQLGuru's post I don't know why I took offense at all. My bad TheSQLGuru, it actually does look like you are trying to be helpful. Please dissregard my last two posts, I was being "sensitive".

    As for the NAS,SAN, DAS why not DAS - it can be much cheeper can't it? dell sata 14 bay (I think) starting at just a few thousand.

    Hey, I am a straight shooter, and occassionally that gets people's panties in a wad - I am used to it. 😀 I am glad that you noticed that I did do the math and 30Mtransperday does equal 20.8Ktransperminavg. And you are certainly correct in that I was indeed trying to give you the best advice I thought possible - especially the one about hiring a pro to guide you.

    Now, a direct response to your question about NAS/SAN/DAS. If you are not in need of clustering, I would get a direct box that can hold 14-16 drives (both dell and HP and prolly others have very good boxes of this ilk). Don't waste money on ones that do support clustering since they usually cost more. 15Krpm drives, SCSI or SAS. Most important thing is get the best controller you can with the max onboard cache. PCIe 4x minimum speed, possibly multiple controllers attached if you really need high throughput. Add in clustering certification requirement if you need it. You may need multiple drive boxes for optimal throughput for the different I/O needs of sql server (data files, log files, tempdb files). Consider using a NAS box with dedicated network connection for backups - slower, cheaper, larger SATAII drives will suffice here. Cheap and effective and you don't waste room or throughput on your drives used for sql data.

    Best,
    Kevin G. Boles
    SQL Server Consultant
    SQL MVP 2007-2012
    TheSQLGuru on googles mail service

  • Read this article from Microsoft.

    "Physical Database Storage Design"

    http://www.microsoft.com/technet/prodtechnol/sql/2005/physdbstor.mspx

    There is nothing wrong with DAS. It is way cheaper.

    SQLMAG.COm Search

    DAS

    or

    Pare Down and Power Up

    and

    google

    Jim gray and microsoft

Viewing 13 posts - 1 through 12 (of 12 total)

You must be logged in to reply to this topic. Login to reply