Database
 sql >> डेटाबेस >  >> RDS >> Database

Azure SQL प्रबंधित इंस्टेंस प्रदर्शन संबंधी विचार

Azure SQL डेटाबेस प्रबंधित इंस्टेंस आम तौर पर 2018 के अंत में उपलब्ध हो गया। तब से, कई संगठनों ने प्रबंधित वातावरण के लाभों के लिए प्रबंधित इंस्टेंस में माइग्रेट करना शुरू कर दिया है। संगठन प्रबंधित बैकअप, बहुत सारी अंतर्निहित सुरक्षा सुविधाएँ, 99.99% का अपटाइम SLA, और हमेशा अप-टू-डेट वातावरण होने का लाभ उठा रहे हैं जहाँ वे SQL सर्वर या ऑपरेटिंग सिस्टम को पैच करने के लिए ज़िम्मेदार नहीं हैं।

एक आकार का नहीं हमेशा सभी के लिए उपयुक्त।

प्रबंधित इंस्टेंस प्रदर्शन के लिए दो स्तर प्रदान करता है। सामान्य प्रयोजन टियर को विशिष्ट प्रदर्शन और I/O विलंबता आवश्यकताओं वाले अनुप्रयोगों के लिए डिज़ाइन किया गया है और अंतर्निहित HA प्रदान करता है। व्यावसायिक महत्वपूर्ण टियर उन अनुप्रयोगों के लिए डिज़ाइन किया गया है जिनके लिए कम I/O विलंबता और उच्च HA आवश्यकताओं की आवश्यकता होती है। बिजनेस क्रिटिकल दो गैर-पठनीय माध्यमिक और एक पठनीय माध्यमिक भी प्रदान करता है। पठनीय माध्यमिक प्राथमिक के कार्यभार को वितरित करने का एक शानदार तरीका है, जो प्राथमिक के लिए आवश्यक सेवा स्तर को कम कर सकता है - उदाहरण के लिए समग्र खर्च को कम करना।

जब प्रबंधित इंस्टेंस पहली बार जारी किया गया था, तो आप Gen4 और Gen5 प्रोसेसर के बीच चयन कर सकते थे। Gen4 अभी भी प्रलेखन में वर्णित है, लेकिन यह विकल्प अब ज्यादातर अनुपलब्ध है। इस लेख के लिए, मैं केवल Gen5 प्रोसेसर का उपयोग करके कॉन्फ़िगरेशन को कवर करूंगा।

प्रत्येक सर्विस टियर 4 से 80 लॉजिकल सीपीयू को सपोर्ट करता है - जिसे वर्चुअल कोर या vCores के रूप में भी जाना जाता है। मेमोरी लगभग 5.1 GB प्रति vCore पर आवंटित की जाती है। सामान्य प्रयोजन 8 टीबी तक का उच्च-प्रदर्शन एज़्योर ब्लॉब स्टोरेज प्रदान करता है, जबकि बिजनेस क्रिटिकल 4 टीबी तक का सुपर-फास्ट स्थानीय एसएसडी स्टोरेज प्रदान करता है।

स्मृति

प्रति vCore में केवल 5.1 GB मेमोरी होने के साथ, कम vCores वाला उदाहरण संघर्ष कर सकता है। vCore कॉन्फ़िगरेशन के विकल्प 4, 8, 16, 24, 32, 40, 64 और 80 vCores हैं। यदि आप प्रत्येक vCore विकल्पों पर गणित करते हैं ((number of vCores) × (5.1 GB) ), आपको निम्नलिखित कोर/मेमोरी संयोजन मिलेंगे:

  4 vCores  =   20.4 GB
  8 vCores  =   40.8 GB
 16 vCores  =   81.6 GB
 24 vCores  =  122.4 GB
 32 vCores  =  163.2 GB
 40 vCores  =  204.0 GB
 64 vCores  =  326.4 GB
 80 vCores  =  408.0 GB

कई संगठनों के लिए मैंने ऑन-प्रिमाइसेस से प्रबंधित इंस्टेंस में संक्रमण में मदद की है, मैंने स्मृति में उल्लेखनीय कमी देखी है। विशिष्ट कॉन्फ़िगरेशन ऑन-प्रिमाइसेस 4 vCores और 32 GB मेमोरी, या 8 vCores और 64 GB होंगे। स्मृति में 30% से अधिक की कमी के लिए दोनों खाते हैं। यदि उदाहरण पहले से ही स्मृति दबाव में था, तो यह समस्याएँ पैदा कर सकता है। ज्यादातर मामलों में, हम प्रबंधित इंस्टेंस पर जाने से पहले मेमोरी प्रेशर को कम करने में मदद करने के लिए ऑन-प्रिमाइसेस इंस्टेंस को ऑप्टिमाइज़ करने में सक्षम हैं, लेकिन कुछ मामलों में, ग्राहक को मेमोरी प्रेशर को कम करने के लिए उच्च vCore इंस्टेंस के साथ जाना पड़ा। .

भंडारण

कई कारकों पर विचार करने के कारण, भंडारण की योजना बनाना और विचार करना थोड़ा अधिक कठिन है। भंडारण के लिए आपको भंडारण आकार और I/O दोनों जरूरतों के लिए समग्र भंडारण आवश्यकता को ध्यान में रखना होगा। SQL सर्वर इंस्टेंस के लिए कितने GB या TB की आवश्यकता है और संग्रहण को कितनी तेज़ करने की आवश्यकता है? ऑन-प्रिमाइसेस इंस्टेंस कितने IOPS और कितने थ्रूपुट का उपयोग कर रहा है? उसके लिए, आपको औसत और अधिकतम एमबी/एस कैप्चर करने और/या sys.dm_io_virtual_file_stats का स्नैपशॉट लेने के लिए थ्रूपुट उपयोग को कैप्चर करने के लिए परफ़ॉर्म का उपयोग करके अपने वर्तमान कार्यभार को आधार बनाना होगा। इससे आपको अंदाजा हो जाएगा कि नए परिवेश में आपको किस प्रकार के I/O और थ्रूपुट की आवश्यकता है। जिन ग्राहकों के साथ मैंने काम किया है, वे माइग्रेशन योजना के इस महत्वपूर्ण हिस्से से चूक गए हैं और एक उदाहरण स्तर का चयन करने के कारण प्रदर्शन समस्याओं का सामना करना पड़ा है जो उनके कार्यभार का समर्थन नहीं करता है।

यह बेसलाइन के लिए महत्वपूर्ण है क्योंकि ऑन-प्रिमाइसेस सर्वर के साथ, उच्च थ्रूपुट क्षमताओं वाले सुपर-फास्ट सैन से छोटे आकार की वर्चुअल मशीनों के लिए स्टोरेज उपलब्ध कराना आम बात है। Azure में, आपकी IOPS और थ्रूपुट सीमाएँ कंप्यूट नोड के आकार से निर्धारित होती हैं, और प्रबंधन इंस्टेंस के मामले में, यह आवंटित vCores की संख्या से निर्धारित होती है। सामान्य प्रयोजन के लिए फ़ाइल आकार के आधार पर प्रति फ़ाइल 30-40k IOPS या 500 से 12,500 IOPS प्रति फ़ाइल की सीमा है। प्रति फ़ाइल थ्रूपुट भी 128 जीबी फ़ाइलों के लिए 100 एमआईबी/एस से शुरू होने वाले आकार पर आधारित है, और 4 टीबी और बड़ी फाइलों के लिए 480 एमआईबी/एस तक है। बिज़नेस क्रिटिकल में, IOPS की रेंज 5.5K - 110K प्रति इंस्टेंस या 1,375 IOPS प्रति vCore तक होती है।

उदाहरण के लिए उपभोक्ताओं को लॉग राइट थ्रूपुट का भी हिसाब रखना चाहिए। उदाहरण के लिए सामान्य प्रयोजन 3 एमबी/एस प्रति वीकोर है और उदाहरण के लिए अधिकतम 22 एमबी/एस है और बिजनेस क्रिटिकल 4 एमबी/एस प्रति वीकोर है और पूरे उदाहरण के लिए अधिकतम 48 एमबी/एस है। ग्राहकों के साथ काम करने के मेरे अनुभव में, कई लोगों ने राइट थ्रूपुट के लिए इन सीमाओं को पार कर लिया है। कुछ के लिए यह शोस्टॉपर रहा है, और दूसरों के लिए, वे लोड को कम करने के लिए अपने सिस्टम को अनुकूलित और संशोधित करने में सक्षम हैं।

समग्र थ्रूपुट और I/O आवश्यकताओं को जानने की आवश्यकता के अलावा, भंडारण का आकार भी चुने गए vCores की संख्या से जुड़ा होता है। सामान्य प्रयोजन के लिए:

        4 vCores  =  2 TB max
   8 - 80 vCores  =  8 TB max

व्यवसाय के लिए महत्वपूर्ण:

    4 – 16 vCores  =  1 TB
        24 vCores  =  2 TB
   32 - 80 vCores  =  4 TB

सामान्य प्रयोजन के लिए, एक बार जब आप 8 vCores प्राप्त कर लेते हैं, तो आप उपलब्ध संग्रहण को अधिकतम कर सकते हैं, जो उन लोगों के लिए अच्छा काम करता है जिन्हें केवल सामान्य प्रयोजन की आवश्यकता होती है। लेकिन जब आपको बिजनेस क्रिटिकल की जरूरत होती है, तो चीजें ज्यादा चुनौतीपूर्ण हो सकती हैं। मैंने ऐसे कई ग्राहकों के साथ काम किया है जिनके पास VMs को 4, 8, 16 और 24 लॉजिकल प्रोसेसर के साथ कई टीबी आवंटित हैं। इनमें से किसी भी ग्राहक के लिए, उन्हें अपनी भंडारण आवश्यकता को पूरा करने के लिए कम से कम 32 vCores ऊपर जाना होगा, जो एक महंगा विकल्प है। Azure SQL डेटाबेस में अधिकतम डेटाबेस आकार के साथ एक समान समस्या है, और Microsoft एक हाइपरस्केल विकल्प के साथ आया। हम उम्मीद करते हैं कि यह एक समान तरीके से भंडारण सीमा को संबोधित करने के लिए किसी बिंदु पर प्रबंधित उदाहरण के लिए एक विकल्प बन जाएगा।

Tempdb का आकार भी vCores की संख्या से संबंधित है। सामान्य प्रयोजन के स्तर में, आपको डेटा फ़ाइलों के लिए 24 जीबी प्रति वीकोर (1,920 जीबी तक) मिलता है, 120 जीबी की अस्थायी लॉग फ़ाइल आकार सीमा के साथ। बिजनेस क्रिटिकल टियर के लिए, tempdb वर्तमान में उपलब्ध इंस्टेंस स्टोरेज आकार तक बढ़ सकता है।

इन-मेमोरी OLTP

उन लोगों के लिए जो वर्तमान में इन-मेमोरी ओएलटीपी (या योजना) का लाभ उठा रहे हैं, ध्यान दें कि यह केवल बिजनेस क्रिटिकल सर्विस टियर में समर्थित है। इन-मेमोरी टेबल के लिए उपलब्ध स्थान की मात्रा भी vCores द्वारा सीमित है:

    4 vCores  =    3.14 GB
    8 vCores  =    6.28 GB
   16 vCores  =   15.77 GB
   24 vCores  =   25.25 GB
   32 vCores  =   37.94 GB
   40 vCores  =   52.23 GB
   64 vCores  =   99.90 GB
   80 vCores  =  131.86 GB

निष्कर्ष

Azure SQL प्रबंधित इंस्टेंस में माइग्रेशन की योजना बनाते समय, माइग्रेट करने का निर्णय लेने से पहले कई बातों पर ध्यान देना चाहिए। सबसे पहले आपको अपनी मेमोरी, सीपीयू और स्टोरेज आवश्यकताओं को पूरी तरह से समझने की जरूरत है, क्योंकि यह इंस्टेंस के आकार को निर्धारित करेगा। उतना ही महत्वपूर्ण यह जानना है कि आपके संग्रहण I/O आवश्यकताएं क्या हैं। सामान्य प्रयोजन के लिए IOPS और थ्रूपुट सीधे vCores और डेटाबेस फ़ाइलों के आकार से जुड़े होते हैं। बिजनेस क्रिटिकल के लिए यह vCores की संख्या से जुड़ा है। यदि आपके पास बहुत अधिक I/O गहन कार्यभार है, तो Business Critical अधिक आकर्षक सेवा स्तर है क्योंकि यह उच्च IOPS और थ्रूपुट संख्या प्रदान करता है। Business Critical के साथ चुनौती कम भंडारण क्षमता है और केवल 16 vCores तक पूरे उदाहरण के लिए 1TB का समर्थन करना है।

उचित योजना के साथ, और छोटे प्रबंधित उदाहरणों के लिए बड़े उदाहरणों के संभावित विघटन के साथ, यह पेशकश कई संगठनों के लिए एक बहुत ही व्यवहार्य प्रवास विकल्प हो सकती है। अपील में प्रबंधित बैकअप, 99.99% के SLA के साथ बिल्ट-इन HA, अतिरिक्त सुरक्षा सुविधाएँ और विकल्प, और OS या SQL सर्वर इंस्टेंस को पैच करने के बारे में चिंता न करने के लाभ हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस क्या हैं?

  2. मौजूदा तालिका को प्राथमिक फ़ाइलसमूह से भिन्न फ़ाइलसमूह में ले जाना

  3. एसक्यूएल जॉइन के प्रकार

  4. सामान्य तालिका अभिव्यक्तियाँ:उनका उपयोग कब और कैसे करें

  5. SQL क्वेरी के लिए कोडिंग मानकों के बारे में आपको जो कुछ भी जानना चाहिए