Hardware 101 For DBAs
Hardware 101 For DBAs
Edgewood's experts will spend 5 days with your team in our SQL Server Performance Tuning Workshop. We'll work with you to diagnose your SQL environment, resolve any performan e issues, and train the team for the future. !our team determines the urri ulum and then works with Edgewood to a omplish your goals.
www.edgewoodsolutions.com
Problem I am a SQL Ser er !B" and I am ery #om$orta%le wit& t&e design and de elo'ment side o$ SQL Ser er( I &a e %een #om'limented %y my own team on many o$ my data%ase designs as well as on mu#& o$ t&e %e&ind t&e s#enes de elo'ment t&at I &a e done in SQL Ser er( )n$ortunately* t&e tides &a e turned a little %it at wor+ and we now &a e a stronger $o#us on t&e in$rastru#ture #om'onents wit& some new 'eo'le on t&e team( I +now t&e %asi#s a%out &ardware* %ut I get lost on some o$ t&e newer terms t&at some o$ t&e new $ol+s %ring u'( ,an you &el' de$ine some o$ t&e +ey &ardware related items and t&e signi$i#an#e in SQL Ser erSolution Let.s try to %rea+ down some o$ t&e re#ent &ardware trends t&at mig&t %e %roug&t u' related to SQL Ser er and outline some o$ t&e im'a#ts to t&e SQL Ser er en ironment( We &a e only a &and$ul o$ to'i#s in t&is ti' and wit& t&e &ardware mar+ets #&anging so ra'idly* do not %e sur'rised t&at w&at is new today is old tomorrow( /ust t&e $a#t o$ li$e wit& 'ro#essing 'ower dou%ling e ery 1 to 2 years* t&e &ardware te#&nology #&anges ra'idly and get rolled into en ironments at a ra'id 'a#e( Platform Technologies
32 Bit vs. 64 Bit - 0&e %iggest o er ar#&ing 'lat$orm as'e#t is t&e 12 %it te#&nology( 0&e 'rede#essor was t&e 32 %it 'lat$orm t&at was a%le to s#ale %ut &ad some in&erent limitations* w&ereas wit& t&e 12 %it ar#&ite#ture t&e nati ely addressed resour#es well e4#eed t&e 'ra#ti#al limit o$ most a''li#ations de'ending on t&e &ardware 'lat$orm and Windows ersion sele#ted( I$ you &a e an a''li#ation t&at needs to s#ale* start wit& t&e 12 %it 'lat$orm( 5our a''li#ation and most nota%ly your users will &a e met t&eir mat#&( o &tt'://www(mi#roso$t(#om/ser ers/12%it/o er iew(ms'4 Blade Servers - " low 'ro$ile or t&in ser er t&at resides in a %lade en#losure wit& 1 or more ,6)s* 1 or more 7B o$ memory* #ontroller #ards* 8I,s and eit&er &as 1 or 2 lo#al dis+s or is #onne#ted to a S"8 or 8"S de i#e to store t&e SQL Ser er data%ases(
H per !"readed #P$s - 0wo simultaneous istodo%ni& t&reads on t&e ,6) w&i#& Windows logi#ally re#ogni9es as 2 ,6)s( 0&e ad antage in using &y'er t&reading is t&at multi'le t&reads run simultaneously w&i#& im'ro e 'o%ol:;a a t&e ,6) res'onse time and minimi9e idle ne9a'osleno time w&i#& will your $inely tuned <ueries( So%&et - 0&e de i#e t&at #onne#ts t&e '&ysi#al ,6) to t&e mot&er %oard( 0&e reason t&e so#+et &as %e#ome im'ortant is 'rimarily related to li#ensing $or 'arti#ular 'rodu#ts in#luding SQL Ser er( 8ot too long ago all li#ensing was %ased on a 'er ,6) 'aradigm( 8ow t&at a ,6) #an &a e multi'le t&reads =see >y'er 0&readed ,6)s? or #ores* t&e logi#al ,6)s #om'ared to t&e '&ysi#al ,6)s #an %e#ome #on$using( "s su#&* wit& some endors t&e ,6) so#+ets are used to determine li#ensing as #om'ared to t&e #ores( W&en it #omes down to li#ensing* ma+e sure you +now t&e num%er o$ so#+ets and #ores 'er ,6) as well as i$ t&e ,6)s are &y'er t&readed* to ma+e sure you &a e a''ro'riate li#ensing( Dual #ore #P$s - @n a single so#+et* two inde'endent mi#ro'ro#essors e4ist w&i#& gi es t&e ma#&ine t&e 'ower o$ 2 ,6)s on a single so#+et( 0&is is also anot&er e4am'le o$ w&ere SQL Ser er s&ows two logi#al ,6)s in t&e ma#&ine as #om'ared to one '&ysi#al so#+et( 'ulti #ore #P$s - "s an e4am'le* Intel re#ently released a 2 #ore ,6) w&i#& means t&at a single so#+ets &as 2 mi#ro'ro#essors as t&e ne4t ste' u' $rom t&e !ual ,ore ,6)s(
&tt'://www(intel(#om/'rodu#ts/'ro#essor/#ore2<uad/inde4(&tm-iidA&ome'ageB<#
Disk Drives
()ternal #"assis - "n e4ternal de i#e wit& one or more #ages t&at stores dis+ dri es w&i#& #an %e a##ess %y one or more ma#&ines dire#tly as lo#al dis+ dri es( Stora*e Area +etwor& ,SA+? - ,entrali9ed storage =dis+ dri es? t&at #an %e erti#ally or &ori9ontally 'artitioned and 'resented to a $inite +onaCan num%er o$ ma#&ines =i(e( SQL Ser ers?( Some o$ t&e S"8 te#&nologies &a e $ront end 'redn:i #a#&e on t&e S"8 to im'ro e t&e data a##ess %y retrie ing a #a#&ed alue =memory? o$ t&e data as o''osed to retrie ing t&e data $rom t&e '&ysi#al &ard dri es( !is+ dri es #an also %e added to t&e S"8 and t&en 'resented to t&e SQL Ser ers w&i#& streamlines t&e 'ro#ess to add storage $or s'e#i$i# ma#&ines a#ross t&e enter'rise( In many #ir#umstan#es* t&e 8"S =8etwor+ "tta#&ed Storage? de i#es are %lurring a#ross endors* %ut &istori#ally t&e 8"S de i#es were intended $or $ile le el a##ess similar to a $ile ser er( -edundant Arra of .ne)pensive Dis&s ,-A.D/ - "lt&oug& t&is te#&nology and some o$ t&e ot&ers in t&is ti' &a e %een around $or a w&ile* 'eo'le still seem to want to +now t&e di$$eren#es among t&e D"I! sets( In general t&e D"I! set 'ro ides redundan#y so t&at 8 num%er o$ dis+s #an $ail* %ut t&e D"I! set remains $un#tional and #an 'ro#ess user re<uests wit& or wit&out degradation de'ending on t&e &ardware or so$tware solution( "lt&oug&* I &a e seen most D"I! #on$igurations managed %y a &ardware de i#e* so$tware ersions are a aila%le as well* %ut are ty'i#ally #onsidered less o'timal as #om'ared to t&e #orres'onding &ardware ersion( So let.s ta+e a loo+ at ea#& D"I! de$inition and some additional +ey 'oints: o -A.D 0 7eneral - !is+ stri'ing wit&out 'arity Einimum num%er o$ dis+s - 0 Ea4imum num%er o$ dis+s - Eany* %ut t&e limitation is ultimately %ased on t&e endor.s s'e#i$i#ations i(e( #age* ra#+* #loset* S"8* et#( Dedundan#y - 8one - I$ 1 dis+ dri e $ails* t&e entire array $ails 6ur'ose in SQL Ser er - Ba#+u's* %at#& $ile 'ro#essing* et#( o -A.D 1 7eneral - !is+ mirroring Einimum num%er o$ dis+s - 2 Ea4imum num%er o$ dis+s - 2 Dedundan#y - "%ility to lose a single dis+ and #ontinue o'erations* %ut will need to re'la#e t&e $ailed dis+ and re%uild t&e 'arity %etween t&e new set o$ dis+s 6ur'ose in SQL Ser er - Sin#e a D"I! 1 set is t&e most %asi# $orm o$ data 'rote#tion* wit& t&e least amount o$ dis+ dri es* at times all SQL Ser er $un#tions are su''orted( W&en it #omes to 'er$orman#e* D"I! 1 sets are ideal $or transa#tion log 'ro#essing %e#ause t&e 'ro#essing is 'rimarily se<uential( In addition* i$ a SQL Ser er instan#e &as intense 0em'!B 'ro#essing* in some #ir#umstan#es 0em'!B is mo ed to a se'arate D"I! 1 set* %ut t&at is to isolate t&e 'ro#essing* e en t&oug& t&e 0em'!B 'ro#essing is ty'i#ally more random t&en se<uential( o -A.D 10 7eneral - !is+ mirroring in a dis+ stri''ed set !e'ending on t&e endor* D"I! 10 #ould %e im'lemented and named as D"I! 1 B 0 or D"I! 0 B 1* so t&e general 'remise may %e t&e same as D"I! 10* %ut some o$ t&e underlying im'lementation details may %e di$$erent* so #&e#+ wit& t&e &ardware endor $or t&e e4a#t details( Einimum num%er o$ dis+s - 2 or 2 Ea4imum num%er o$ dis+s - Eany* in multi'les o$ 2* %ut ultimately %ased on t&e &ardware endor.s s'e#i$i#ations( I +now most endors #an at least su''ort a D"I! 10 set o$ 2 or F dis+s( Beyond t&at num%er it really %oils down to t&e &ardware de i#e used( Dedundan#y - "s long as 1 dis+ remains $un#tional in ea#& mirrored set* t&e array is o'erational( 6ur'ose in SQL Ser er - 6er$orman#e( I$ a user de$ined data%ase &as intense 'ro#essing demands* in general t&e %est 'er$orman#e would %e $rom t&e D"I! 10 set( o -A.D 0 7eneral - !is+ stri''ing wit& 'arity Einimum num%er o$ dis+s - 3 Ea4imum num%er o$ dis+s - Eany* %ut eit&er in an odd or e en num%er* %ut ultimately %ased on t&e &ardware endor.s s'e#i$i#ations( I +now most endors #an at least su''ort a D"I! G set o$ 10B dis+s( Beyond t&at num%er it really %oils down to t&e &ardware de i#e used( Dedundan#y - "%ility to lose a single dis+ and #ontinue o'erations* %ut 2 dis+s result in an array $ailure( 6ur'ose in SQL Ser er - Ideal $or su''orting user de$ined data%ases t&at are read intensi e a''li#ations* w&i#& most are( o -A.D - "s a note* some &ardware endors also &a e ot&er D"I! #on$igurations* so 'lease #onta#t t&em $or t&e details or s&are t&em wit& us and we will u'date t&e ti'( o "dditional in$ormation a%out D"I!: &tt'://www(a#n#(#om/raid(&tml
&tt'://www(las#on(#o(u+/d00F00G(&tm
Hot Spare - " dis+ dri e in t&e #&assis t&at #an mo e to an online state in #ase o$ a $ailure in any o$ t&e arrays =D"I! sets?( Parit - Eeans o$ 'ro iding $ault toleran#e %etween t&e dis+ dri es to ensure a single dis+ $ailure does not yield an ina##essi%le dri e and/or data( 101 vs. 101 -P' - 0&e dri e s'eed $or t&e dis+ dri es wit& t&e general 'remise t&at t&e $aster t&e %etter* %ut at a &ig&er #ost( iS#S. - ,onsidered slower and mu#& lower #&ea'er t&an Hi%re ,&annel #onne#ti ity* iS,SI =Internet Small ,om'uter System Inter$a#e? is a 'roto#ol used wit& S"8 and 8"S de i#es( 0&is 'roto#ol uses 0,6II6 $or sending and re#ei ing t&e I@ re<uests to t&e dis+ su%system( 2ibre #"annel - ,onsidered t&e &ig& s'eed #onne#ti ity %etween a SQL Ser er ma#&ine and a S"8 storage de i#e( ,onne#ti ity $rom t&e SQL Ser er to t&e S"8 is ia a >B"* #a%ling =$i%er-o'ti# or #o''er? to a swit#& and t&en to t&e S"8( In many #ir#umstan#es* t&ere is redundan#y %etween t&e SQL Ser er and S"8 to ensure no single 'oint o$ $ailure( HBA - >ost Bus "da'ter w&i#& is a de i#e installed in t&e SQL Ser er to #ommuni#ate wit& a S"8 or 8"S de i#e( 0&e >B" a#ts as inter$a#e to manage t&e I@ re<uests $rom t&e SQL Ser er and res'onses $rom t&e S"8 or 8"S de i#e( SA!A - Serial "0" ="d an#ed 0e#&nology "tta#&ment ? w&i#& is a standard to read and write to lo#al dis+s =internal #ages? or dire#t atta#&ed storage de i#es =!"SI!"S!?(
Memory
Hot Swappable 'emor - Hor years* it &as %een 'ossi%le to #&ange a $ailed dis+ dri e eit&er as it is degrading or a$ter $ailure( 8ow t&e same #on#e't is going to %e a''lied to memory and 'ro#essors a##ording to t&is arti#le - Ei#roso$t demos Long&orn .&ot swa'. $eature In addition* Long&orn &as %een o$$i#ially du%%ed .Windows Ser er 200F. in t&e ne4t release o$ Windows( Hor systems w&ere t&e #om%ination o$ u'time and &ig& 'er$orman#e are #riti#al* t&is new &ardware $eature s&ould get more systems #loser to t&e G nines o$ a aila%ility( #a%"e - Eemory $or tem'orary storage o$ data t&at is e4'e#ted to %e used again in t&e near term( Hrom a &ardware 'ers'e#ti e* ,6)s and &ard dri e #ontrollers ty'i#ally &a e #a#&e to im'ro e t&ere o erall 'ro#essing( Hor e4am'le* L2 or L3 #a#&e on ,6)s is %etween 1 to 2G1 EB o$ storage to in#rease t&e s'eed o$ t&e ,6) 'ro#essing(
Virtualization
Host - " single 'ie#e o$ &ardware t&at ty'i#ally &as its own o'erating system and dedi#ated ,6)s* memory* dis+ dri es* et#( t&at is running a num%er o$ irtual ma#&ines( 3' =Jirtual ma#&ine? - @ne &ost ty'i#ally &as multi'le irtual ma#&ines( Ea#& irtual ma#&ine o'erates as a se'arate '&ysi#al entity on t&e networ+ wit& its own 8etBI@S name* I6 address* o'erating system* a''li#ations* et#( Hrom an $un#tional 'ers'e#ti e* t&e irtual ma#&ine is no di$$erent t&an a '&ysi#al ma#&ine* t&ey &a e all o$ t&e same $un#tional #om'onents* %ut do not ne#essarily &a e t&e same $un#tional underlying &ardware #om'onents(
+e)t Steps
0&is ti' is %y no means a #om're&ensi e list o$ &ardware im'a#ting a !B"s :o% on a daily %asis( 0&is is only s#rat#&ing t&e sur$a#e( I$ t&ere are ot&er &ardware related te#&nologies t&at you wor+ wit& on a regular %asis t&at %ene$it your SQL Ser er en ironment li+e ta'e li%raries* &ardware en#ry'tion* et#* t&en s&oot us an email =ti'sKmss<lti's(#om? wit& your in'ut t&at we will s&are wit& t&e rest o$ t&e #ommunity( I$ you are unsure a%out &ow a s'e#i$i# &ardware endor im'lements one o$ t&ese te#&nologies* #onsider re iewing t&ere we% site or #onta#t salesIsu''ort to o%tain t&e #orre#t understanding $or t&at endor.s im'lementation o$ t&e te#&nology( !e'ending on t&e si9e o$ your organi9ation and your 'ersonal desires* &ardware ad an#ements #an %e ery e4#iting or :ust a %o4 t&at you +now e4ists and not mu#& else( Degardless* +nowing t&e %asi# %uilding %lo#+s and t&ere im'a#t to SQL Ser er is a alua%le set o$ %aseline +nowledge(