• Feed RSS

Pages

છેલ્લા ૧૦ વર્ષ થી હું એસ કયું એલ સર્વર ના વિવિધ વર્ઝન પર કામ કરું છું અને મોટા ભાગે પેરફોરમન્સ ટ્યુનીંગ નું કામ સૌથી વધુ વખત કરવાનું આવ્યું છે. જયારે પરફોરમન્સ ટ્યુનીંગ કરતી વખતે સૌથી પેહલા ક્વિક ફિક્ષ કરવું પડે જેથી કામ શરુ થઇ જાય અને ત્યારબાદ આપણે અને પર્મેનંટ સોલ્યુશન કરી શકીએ. મોટા ભાગે એવું જોવા મળે છે કે ડેટાબેઝ ની સાઈઝ એમની અપેક્ષા કરતા વધી ગઈ હોય, ક્યારેક ૩૦૦ ગણી. ક્યારેક તકલીફ ખોટા ડેટા ટાઇપ ને કારણે હોય છે તો ક્યારેક ઈન્ડેક્ષ ને કારણે. તેથીજ આપણે જયારે પણ એપ્લિકેશન ડીઝાઇન કરીએ ત્યારે ખુબજ કાળજી રાખવી જેથી ભવિષ્ય માં આપણને તકલીફ ના પડે.

અહી, હું એવા કોમન પોઈન્ટ્સ ની વાત કરું છું કે જે એટલા સામાન્ય છે કે આપણે એના તરફ ધ્યાન નથી આપતા અને આગળ જઈ ને આપણે હેરાન થવું પડે છે.

તો, આપણે સામાન્ય એવી ગણાતી કઈ ભૂલ કરીએ છીએ?

મારા અનુભવ ને આધારે મેં ૧૦ પોઈન્ટ્સ તારવ્યા છે, જે માટે હું આર્ટીકલ ની સીરીઝ લખવાનો છું અને આ એનો પહેલો ભાગ છે.

આશા છે કે આ આર્ટીકલ તમારા ૨ પ્રશ્ન નો ઉત્તર આપી શકશે:
૧. કયા ડેટાટાઈપ યુઝ કરવા ?
૨. વેરકેર અને એનવેરકેર માં શું તફાવત છે?

સૌથી પહેલી વાત જે ધ્યાન પર આવે છે તે એ છે "ડેટાટાઈપ ની લેન્ગ્થ". જયારે આપણે ટેબલ ડીઝાઇન કરીએ છીએ ત્યારે ડેટાટાઈપ ની લેન્ગ્થ સમજી વિચારી ને પસંદ કરવી જોઈએ. જયારે આપણને ખાતરી નાં હોય કે ડેટા ની લેન્ગ્થ શું હશે ત્યારે હંમેશા "વેરીએબલ લેન્ગ્થ" ના ડેટાટાઈપ યુઝ કરવા જોઈએ, જેમકે "એડ્રેસ" માટે  એનવેરકેર યુઝ કરી શકીએ અને, જયારે આપણને ખાતરી હોય કે ડેટા ની લેન્ગ્થ શું હશે ત્યારે "ફિક્ષ લેન્ગ્થ" ના ડેટાટાઈપ યુઝ કરવા જોઇયે,જેમકે "જેન્ડર" માટે વેરકેર.


મેં  એવા ઘણા કેસ જોયા છે કે જ્યાં "યુનિકોડ" ડેટાટાઈપ યુઝ કરવામાં આવ્યો હોય પરંતુ ખરેખર એની જરૂર નથી હોતી. આના કારણે ડેટાબેઝ ની સાઈઝ  અણધારી રીતે અને અપેક્ષા બહાર ની વધી જાય છે; કહેવાની જરૂર નથી કે આ ખોટા ડેટાટાઈપ યુઝ  કરવાથી થઇ હોય શકે. એસ કયું એલ  સર્વર મુરભૂત રીતે બે પ્રકાર ના ડેટાટાઈપ સપોર્ટ કરે છે એક "યુનિકોડ" અને "નોન-યુનિકોડ". યુનિકોડ એટલે યુટીએફ -૧૬ (૧૬ બિટ પર કેરેક્ટર) જયારે નોન-યુનિકોડ એટલે યુટીએફ - ૮ (૮ બિટ પર કેરેક્ટર); હવે સ્વભાવીક છે કે જયારે તમે "યુનિકોડ" (એનવેરકેર કે એનકેર) યુઝ કરો છો ત્યારે તે ડબલ સ્પેસ રોકે છે.  યુનિકોડ ત્યારેજ યુઝ કરવા જોઈએ જયારે તમારી અપ્લીકેશન અથવા વેબસાઈત માં તમે "મલ્ટી લીન્ગ્વ્લ" સપોર્ટ આપવા માંગતા હોવ.

 તો હવે આપણે એક ઉદાહરણ જોઈએ; એક ટેબલ બનાવીશું જેમાં ૨ કોલમ હશે ૧ વેરકેર અને ૧ એનવેરકેર, પછી તેમાં ૨~૩ રેકોર્ડ ઇન્સર્ટ કરો અને len() ફન્કશન નો ઉપયોગ કરી કેરેક્ટર કાઉન્ટ કરો, અને datalength()  ફન્કશન નો ઉપયોગ કરી કેટલી સ્પેસ રોકાઇ છે તે જાણો. તમે સ્ક્રીપ્ટ અહીંથી ડાઉનલોડ કરી શકો છો.

બીજી એક વાત, આપણે જયારે ડેટા ઇન્સર્ટ કરાવીએ ત્યારે તેને ટ્રીમ કરવા જોઈએ જેથી "વ્હાઈટ સ્પેસ" જગ્યા રોકી ના લે, આ આપણે એપ્લીકેશન લેયર અથવા તો ડેટાબેઝ લેયર દ્વારા કરી શકીએ.

અહિયાં, આ દ્વારા હું એવી સલાહ આપી રહ્યો છું કે યુનિકોડ ડેટાટાઈપ ત્યારેજ યુઝ કરવા જોઈએ જયારે તમારી અપ્લીકેશન અથવા વેબસાઈત માં તમે "મલ્ટી લીન્ગ્વ્લ" સપોર્ટ આપવા માંગતા હોવ; અને ત્યારે પણ યુનિકોડ ડેટાટાઈપ ને કાળજી પૂર્વક તે કોલમ પુરતી સીમિત રાખો. એટલા માટેજ આ સૌથી અગત્ય નો અને કાળજી માંગી લેતો વિષય છે.

જેમ મેં શરૂઆત માં કહ્યું તેમ, આતો સીરીઝ નો ૧લો આર્ટીકલ છે.....માટે અહી મુલાકાત લેતા રહો.  


એસક્યુંએલ ક્લસ્ટર સર્વર માટે બેસ્ટ પ્રેક્ટીસ શું છે?


એસક્યુંએલ ક્લસ્ટર સર્વર પર સર્વિસ પેક ઇન્સ્ટોલ કરતી વખતે ક્યાં સ્ટેપ ફોલો કરવા જોઈયે ?

એસક્યુંએલ ક્લસ્ટર સર્વર નું કોન્ફિગરેશન નું રીવ્યુ કરવું હોય તો કઈ રીતે થાય?

એસક્યુંએલ ક્લસ્ટર સર્વર માટે ચેકલીસ્ટ ક્યાંથી મળશે ?

આ બધા પ્રશ્ન મોટે ભાગે દરેક ફોરુમ્સ માં જોવા મળે છે, અહિયાં તમારા રેફરન્સ માટે અમુક લીંક આપું છું જે તમારા ઉપરના પ્રશ્ન ના ઉત્તર આપશે :

http://technet.microsoft.com/en-us/library/cc785714(WS.10).aspx

http://blogs.msdn.com/jorgepc/archive/2009/01/21/how-to-quickly-check-your-sql-server-cluster-configuration-on-windows-server-2003.aspx

http://www.sql-server-performance.com/articles/clustering/clustering_best_practices_p1.aspx


અને આ બે લીંક જ્યાંથી તમે એસક્યુંએલ ક્લસ્ટર સર્વર વીશે દરેક પ્રકાર ની માહિતી મેળવી આપશે,

http://www.sql-server-performance.com/articles/clustering/index.aspx


http://technet.microsoft.com/en-us/library/cc917693.aspx

અંગ્રજી વર્સન અહી ઉપલબ્ધ છે http://www.sql-server-citation.com/2009/11/sql-server-cluster-best-practices.html