Microsoft Azure, Azure SQL डेटाबेस प्लेटफ़ॉर्म के माध्यम से एक सेवा (Paa) डेटाबेस इंजन के रूप में प्लेटफ़ॉर्म प्रदान करता है, ताकि हम इस डेटाबेस का उपयोग क्लाउड-आधारित अनुप्रयोगों के लिए कर सकें। Azure SQL डेटाबेस का मुख्य लाभ शून्य डाउनटाइम के साथ आसान स्केलिंग को सक्षम करना है और इसके लिए किसी संस्करण के उन्नयन या पैचिंग प्रक्रिया की आवश्यकता नहीं होती है। साथ ही, हमें हार्डवेयर समस्याओं के बारे में चिंता करने की ज़रूरत नहीं है।
हालाँकि, Azure SQL डेटाबेस का महत्वपूर्ण विचार न्यूनतम लागत के विरुद्ध परिनियोजित डेटाबेस की प्रदर्शन आवश्यकता को पूरा करना है। निस्संदेह, कोई भी उन अनावश्यक संसाधनों या सुविधाओं के लिए पैसे का भुगतान नहीं करना चाहता जिनका वे उपयोग नहीं करते हैं या उपयोग करने की योजना नहीं बनाते हैं।
इस बिंदु पर, Microsoft Azure लागत-दक्षता प्रदान करने के लिए दो अलग-अलग क्रय मॉडल प्रदान करता है:
- डेटाबेस ट्रांजेक्शन यूनिट (DTU)-आधारित क्रय मॉडल।
- वर्चुअल कोर (vCore)-आधारित खरीदारी मॉडल
एक क्रय मॉडल निर्णय सीधे डेटाबेस के प्रदर्शन और बिलों की कुल राशि को प्रभावित करता है। मेरे विचार में, यदि तैनात डेटाबेस बहुत अधिक संसाधनों का उपभोग नहीं करेगा, तो डीटीयू-आधारित खरीद मॉडल अधिक उपयुक्त होगा।
अब, हम निम्नलिखित अनुभागों में इन दो क्रय मॉडलों के विवरण पर चर्चा करेंगे।
डेटाबेस ट्रांजेक्शन यूनिट (DTU)-आधारित क्रय मॉडल
DTU- आधारित खरीद मॉडल को अधिक स्पष्ट रूप से समझने के लिए, हमें यह स्पष्ट करने की आवश्यकता है कि Azure SQL डेटाबेस में DTU का क्या अर्थ है। DTU "डेटाबेस ट्रांजेक्शन यूनिट" के लिए एक संक्षिप्त नाम है और यह Azure SQL डेटाबेस के लिए एक प्रदर्शन इकाई मीट्रिक का वर्णन करता है। हम एक कार में डीटीयू को अश्वशक्ति की तरह ही पसंद कर सकते हैं क्योंकि यह सीधे डेटाबेस के प्रदर्शन को प्रभावित करता है। DTU Azure SQL डेटाबेस के लिए एकल प्रदर्शन इकाई के रूप में निम्नलिखित प्रदर्शन मेट्रिक्स के मिश्रण का प्रतिनिधित्व करता है:
- सीपीयू
- स्मृति
- डेटा I/O और लॉग I/O
डीटीयू अवधारणा का मुख्य विचार ग्राहकों को पूर्व-कॉन्फ़िगर संसाधन कॉन्फ़िगरेशन प्रदान करना है ताकि यह एकल मीट्रिक पर प्रदर्शन के स्केलिंग को सरल बना सके। जैसे, यदि हमें अधिक प्रदर्शन की आवश्यकता है, तो हम बार को स्लाइड कर सकते हैं और Azure SQL डेटाबेस में DTU की संख्या बढ़ा सकते हैं।
डीटीयू-आधारित क्रय मॉडल में तीन अलग-अलग सेवा स्तर होते हैं और ये सेवा स्तर अलग-अलग डीटीयू और फीचर विकल्प प्रदान करते हैं। निम्न तालिका उन सेवा स्तरों को दर्शाती है जिन्होंने डीटीयू-आधारित खरीद मॉडल में भाग लिया है।
बुनियादी | मानक | प्रीमियम | |
कार्यभार को लक्षित करें | विकास और उत्पादन | विकास और उत्पादन | विकास और उत्पादन |
अपटाइम SLA | 99.99% | 99.99% | 99.99% |
अधिकतम बैकअप प्रतिधारण | 7 दिन | 35 दिन | 35 दिन |
सीपीयू | कम | निम्न, मध्यम, उच्च | मध्यम, उच्च |
आईओ थ्रूपुट (अनुमानित) | 1-5 आईओपीएस प्रति डीटीयू | 1-5 आईओपीएस प्रति डीटीयू | 25 आईओपीएस प्रति डीटीयू |
IO विलंबता (अनुमानित) | 5 एमएस (पढ़ें), 10 एमएस (लिखें) | 5 एमएस (पढ़ें), 10 एमएस (लिखें) | 2 एमएस (पढ़ें/लिखें) |
कॉलमस्टोर इंडेक्सिंग | लागू नहीं | S3 और ऊपर | समर्थित |
इन-मेमोरी OLTP | लागू नहीं | लागू नहीं | समर्थित |
अधिकतम DTU | 5 | 3000 (एस12) | 4000 (P15) |
अधिकतम संग्रहण आकार | 2 जीबी | 250 जीबी | 1 टीबी |
जैसा कि हम देख सकते हैं, अधिकतम DTU और सुविधाएँ उनके सेवा स्तर के अनुसार भिन्न होती हैं। साथ ही सर्विस टियर के हिसाब से प्राइसिंग मॉडल में बदलाव किया जाएगा। उदाहरण के लिए, DTU-आधारित खरीद मॉडल में एकल डेटाबेस के लिए निम्न कॉन्फ़िगरेशन $584.00 प्रति माह होगा।
लोचदार पूल
संक्षेप में, इलास्टिक पूल हमें उन एकाधिक डेटाबेस को स्वचालित रूप से प्रबंधित और स्केल करने में मदद करता है जिनकी साझा संसाधन पूल पर अप्रत्याशित और अलग-अलग संसाधन मांग होती है। इलास्टिक पूल के माध्यम से, हमें संसाधन मांग में उतार-चढ़ाव के खिलाफ डेटाबेस को लगातार स्केल करने की आवश्यकता नहीं है। डेटाबेस जो पूल में भाग लेते हैं वे इलास्टिक पूल संसाधनों का उपभोग तब करते हैं जब उनकी आवश्यकता होती है लेकिन वे इलास्टिक पूल संसाधन सीमाओं को पार नहीं कर सकते हैं ताकि यह एक लागत प्रभावी समाधान प्रदान करे।
Azure SQL डेटाबेस के लिए DTU का उचित अनुमान
डीटीयू-आधारित खरीद मॉडल का उपयोग करने का निर्णय लेने के बाद, हमें तार्किक कारणों से निम्नलिखित प्रश्न-उत्तर का पता लगाना होगा:
- Azure SQL में माइग्रेट करते समय मेरे कार्यभार के लिए कौन सा सेवा स्तर और कितना DTU आवश्यक है?
जब हम ऑन-प्रिमाइसेस डेटाबेस को Azure SQL डेटाबेस में माइग्रेट कर रहे हैं, तो DTU की आवश्यकता का अनुमान लगाने के लिए DTU कैलकुलेटर मुख्य समाधान होगा। इस टूल का मुख्य विचार मौजूदा SQL सर्वर से विभिन्न मेट्रिक्स उपयोग को कैप्चर करना है जो DTU को प्रभावित करता है और फिर यह एकत्रित प्रदर्शन उपयोगों के आलोक में लगभग DTU और सर्विस टियर का अनुमान लगाने की कोशिश करता है। DTU कैलकुलेटर या तो कमांड-लाइन यूटिलिटी या पॉवरशेल स्क्रिप्ट के माध्यम से निम्नलिखित मीट्रिक एकत्र करता है और इन मीट्रिक को CSV फ़ाइल में सहेजता है।
- प्रोसेसर -% प्रोसेसर समय
- लॉजिकल डिस्क - डिस्क रीड/सेकंड
- लॉजिकल डिस्क - डिस्क राइट/सेकंड
- डेटाबेस - लॉग बाइट्स फ्लश/सेकंड
इस लेख में, हम कमांड-लाइन यूटिलिटी के उपयोग के बारे में जानेंगे क्योंकि यह एक ओपन-सोर्स प्रोजेक्ट और कोड GitHub पर होस्ट किए गए हैं। इस प्रकार, हम जरूरत पड़ने पर आसानी से बदलाव कर सकते हैं। कमांड-लाइन यूटिलिटी को डाउनलोड और अनज़िप करने के बाद, दो फाइलें हमारे सामने आएंगी।
SqlDtuPerfmon.exe.config हमें कमांड-लाइन उपयोगिता के कुछ मापदंडों को निर्धारित करने में मदद करता है:
CsvPath CSV फ़ाइल पथ निर्दिष्ट करता है जहां एकत्रित मीट्रिक संग्रहीत किए जाएंगे।
नमूना अंतराल निर्दिष्ट करता है कि नमूने कितने सेकंड के अंतराल पर एकत्र किए जाएंगे
MaxSamples एकत्र किए जाने वाले नमूनों की अधिकतम संख्या निर्दिष्ट करता है।
इस बिंदु पर, हमें डीटीयू कैलकुलेटर के बारे में कुछ बातों को ध्यान में रखना होगा। डीटीयू कैलकुलेटर कंप्यूटर पर मेट्रिक्स का कुल उपयोग एकत्र करता है। इस कारण से, सीपीयू, मेमोरी और डिस्क खपत को प्रभावित करने वाली अन्य प्रक्रियाओं को रोक दिया जाना चाहिए अन्यथा सटीक डीटीयू अनुमान लगाना मुश्किल होगा। एक और मुद्दा है, जितना संभव हो, हमें उन मेट्रिक्स के उपयोग को इकट्ठा करने की आवश्यकता है जो चरम कार्यभार समय अंतराल को कवर करते हैं। इस तरह, डीटीयू कैलकुलेटर सर्वोत्तम अनुशंसाएं प्रदान करता है और हम अधिक अनुमानित अनुमान के साथ अधिकतम डीटीयू आवश्यकता का पता लगाते हैं। अब, हम SqlDtuPerfmon.exe चलाएंगे और यह सीधे संसाधन उपयोग एकत्र करना और निर्दिष्ट CSV फ़ाइल को सहेजना शुरू कर देगा।
संसाधन उपयोग एकत्र करने के पूरा होने के बाद, हम कोर की संख्या दर्ज करेंगे और CSV फ़ाइल को DTU कैलकुलेटर वेब साइट पर अपलोड करेंगे।
जब हम कैलकुलेट बटन पर क्लिक करते हैं, तो सबसे पहले, सर्विस टियर/परफॉर्मेंस लेवल पाई चार्ट स्क्रीन पर दिखाई देता है और यह विभाजित अनुमानित सर्विस टियर सुझावों को प्रतिशत विवरण के साथ स्लाइस में दिखाता है। DTU कैलक्यूलेटर के अनुसार, मानक - S6 टियर इस कार्यभार के लिए संतोषजनक प्रदर्शन प्रदान करेगा।
इस चार्ट के ठीक नीचे, डीटीयू ओवर टाइम चार्ट दिखाया गया है और यह चार्ट समय अवधि के खिलाफ बदलते डीटीयू का प्रतिनिधित्व करता है। इस चार्ट का मूल्यांकन करने से पहले, हम इसकी अधिक आसानी से व्याख्या करने के लिए कुछ अतिरिक्त जानकारी जोड़ सकते हैं।
जैसा कि आप देख सकते हैं, लाइन चार्ट एक अस्थिर कार्यभार का प्रतिनिधित्व करता है लेकिन जब हमने सूचना नोट जोड़े तो यह अधिक समझ में आया। मेरे विचार से, कार्यभार परिवर्तन और डीटीयू के बीच बातचीत को समझने के लिए यह चार्ट बहुत उपयोगी है। इस प्रकार, हम आवश्यक डीटीयू का अधिक उचित अनुमान लगा सकते हैं। जैसा कि हमने लेख के प्रवेश द्वार पर उल्लेख किया है, हमारा मुख्य लक्ष्य कार्यभार के लिए एक लागत प्रभावी समाधान खोजना होना चाहिए।
हालाँकि, ये सुझाव Azure SQL में DTU की सटीक आवश्यकताओं को व्यक्त नहीं करते हैं। इस कारण से, हमें Azure SQL में डेटाबेस के परिनियोजन के बाद सेवा स्तर या खरीद मॉडल को बदलने की आवश्यकता हो सकती है।
जब हम अधिक विवरण देखें पर क्लिक करते हैं, तो कुछ अतिरिक्त रिपोर्टें दिखाई जाएंगी और ये रिपोर्ट CPU, IOPS और लॉग संसाधन उपयोग के लिए व्यक्तिगत अनुशंसाओं का प्रतिनिधित्व करती हैं। वे विशेष रूप से इन उपयोगों को समझने में बहुत सहायक होंगे।
वर्चुअल कोर (vCore)-आधारित खरीदारी मॉडल
यह अवधारणा पारंपरिक दृष्टिकोण के समान है क्योंकि हम डेटाबेस के प्रत्येक संसाधन को तय करने में सक्षम हैं। हम इस मॉडल में मैन्युअल रूप से VCores और अधिकतम डेटा आकार विकल्पों की व्यवस्था कर सकते हैं। हालाँकि, हम स्मृति संसाधन का निर्धारण नहीं कर सकते हैं। प्रत्येक VCore समर्पित स्मृति के साथ आता है और स्मृति का समर्पित मूल्य VCores की पीढ़ी पर निर्भर करता है।
अंत में, इस मॉडल में हम निम्नलिखित सेवा स्तरों को चुन सकते हैं:
- सामान्य प्रयोजन।
- व्यापार महत्वपूर्ण।
- हाइपरस्केल
निष्कर्ष
इस लेख में, हमने Azure SQL डेटाबेस के क्रय मॉडल की खोज की और ऑन-प्रिमाइसेस डेटाबेस के लिए Azure SQL में आवश्यक DTU का अनुमान लगाने के लिए DTU कैलकुलेटर के उपयोग निर्देशों को उजागर किया।