माइक्रोसॉफ्ट® ने SQL Server® 2019 (प्रीव्यू) CTP 2.1 में एक नई सुविधा पेश की जिसे हाइब्रिड बफर पूल कहा जाता है। यह सुविधा आपको PMEM (पर्सिस्टेंट मेमोरी) डिवाइस में संग्रहीत डेटाबेस फ़ाइलों में डेटा पेजों तक सीधी पहुंच प्रदान करती है।
PMEM क्या है?
PMEM एक सॉलिड-स्टेट, उच्च-प्रदर्शन, बाइट-एड्रेसेबल मेमोरी डिवाइस है जो मेमोरी बस पर स्थित होता है। इसके अन्य स्टोरेज डिवाइस की तुलना में कई लाभ हैं।
PMEM के मुख्य लाभ:
- यह फ्लैश SSD की तुलना में बिना किसी विलंबता के बड़े डेटा सेट के लिए तेज़ और नियर रीयल-टाइम डेटा एक्सेस प्रदान करता है।
- यह फ्लैश स्टोरेज की तुलना में थ्रूपुट बढ़ाता है।
- यह DRAM (डायनामिक रैंडम एक्सेस मेमोरी) से सस्ता है।
- यह कैशेबल है। यह PCIe (पेरिफेरल कंपोनेंट इंटरकनेक्ट) पर एक बड़ा लाभ है, जो CPU में कैशेबल नहीं है।
- यह पावर इंटरप्शन या शटडाउन के बाद भी मेमोरी में डेटा को बनाए रखता है।
आप PMEM का उपयोग विभिन्न तरीकों से कर सकते हैं ताकि उन एप्लिकेशन के लिए विलंबता कम हो सके जहां आपको बड़ी मात्रा में डेटा के साथ तेज़ डेटा एक्सेस की आवश्यकता होती है, जैसे IoT एप्लिकेशन, साइबर खतरा विश्लेषण, और वित्तीय ट्रेडिंग।
मुख्य अवधारणाएं
बफर पूल एक्सटेंशन सुविधा पर लागू होने वाले निम्नलिखित शब्द हैं:
- सॉलिड-स्टेट ड्राइव (SSD): डेटा को मेमोरी (RAM) में लगातार तरीके से संग्रहीत करता है।
- बफर: SQL Server में, एक बफर मेमोरी में 8-KB पेज होता है, जो डेटा या इंडेक्स पेज के समान आकार का होता है। इस प्रकार, बफर कैश 8-KB पेजों में विभाजित होता है। एक पेज बफर कैश में तब तक रहता है जब तक बफर मैनेजर को अधिक डेटा पढ़ने के लिए बफर क्षेत्र की आवश्यकता नहीं होती। डेटा केवल तभी डिस्क पर वापस लिखा जाता है जब यह संशोधित होता है। मेमोरी में संशोधित इन पेजों को डर्टी पेज के रूप में जाना जाता है। एक पेज क्लीन होता है जब यह डिस्क पर अपने डेटाबेस छवि के बराबर होता है। बफर कैश में डेटा को डिस्क पर वापस लिखे जाने से पहले कई बार संशोधित किया जा सकता है।
- बफर पूल: जिसे बफर कैश भी कहा जाता है, बफर पूल उनके कैश्ड डेटा पेजों के लिए सभी डेटाबेस द्वारा साझा किया जाने वाला एक वैश्विक संसाधन है। बफर पूल कैश का अधिकतम और न्यूनतम आकार स्टार्टअप के दौरान निर्धारित किया जाता है या जब SQL Server के इंस्टेंस को sp_configure का उपयोग करके डायनामिक रूप से पुन: कॉन्फ़िगर किया जाता है। यह आकार रनिंग इंस्टेंस में किसी भी समय बफर पूल में कैश किए जा सकने वाले पेजों की अधिकतम संख्या निर्धारित करता है। मशीन पर चल रहे अन्य एप्लिकेशन द्वारा बनाए गए महत्वपूर्ण मेमोरी दबाव के मामले में बफर पूल एक्सटेंशन द्वारा प्रतिबद्ध की जा सकने वाली अधिकतम मेमोरी सीमित हो सकती है।
- चेकपॉइंट: एक चेकपॉइंट एक ज्ञात अच्छा बिंदु बनाता है जहां से डेटाबेस इंजन अप्रत्याशित शटडाउन या क्रैश के बाद रिकवरी के दौरान ट्रांजैक्शन लॉग में निहित परिवर्तनों को लागू करना शुरू कर सकता है। एक चेकपॉइंट डर्टी पेज और ट्रांजैक्शन लॉग जानकारी को मेमोरी से डिस्क पर लिखता है और ट्रांजैक्शन लॉग के बारे में जानकारी भी रिकॉर्ड करता है।
- डायरेक्ट एक्सेस (DAX): DAX सबसे कम विलंबता प्राप्त करने के लिए मेमोरी की तरह काम करता है। ऐप सीधे पर्सिस्टेंट मेमोरी को संशोधित करता है, स्टैक को बायपास करता है। इस विकल्प का उपयोग केवल NTFS के साथ किया जा सकता है।
निम्नलिखित छवि DAX को दर्शाती है:
स्रोत: https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/deploy-pmem
हाइब्रिड बफर पूल क्या है?
पारंपरिक सिस्टम में, SQL Server DRAM-आधारित बफर पूल में डेटा पेजों को कैश करता है। हाइब्रिड बफर पूल के साथ, SQL Server पेज को DRAM-आधारित बफर पूल के हिस्से में कॉपी करने को छोड़ देता है और इसके बजाय PMEM डिवाइस पर रहने वाली डेटाबेस फ़ाइल पर पेज को सीधे संदर्भित करता है। सिस्टम हाइब्रिड बफर पूल के लिए PMEM में डेटा फ़ाइलों तक मेमोरी मैप्ड I/O का उपयोग करके पहुंचता है, जिसे SQL Server के भीतर डेटा फ़ाइलों का एनलाइटनमेंट भी कहा जाता है।
यह प्रक्रिया DRAM में पेज की कॉपी से बचकर और ऑपरेटिंग सिस्टम के I/O स्टैक की आवश्यकता को समाप्त करके प्रदर्शन लाभ लाती है।
सिस्टम PMEM डिवाइस पर केवल क्लीन पेजों तक सीधे पहुंच सकता है। जब एक पेज डर्टी हो जाता है, तो सिस्टम इसे DRAM-आधारित बफर पूल में कॉपी करता है और फिर इसे PMEM डिवाइस पर वापस लिखता है। यह प्रक्रिया नियमित चेकपॉइंट ऑपरेशन के दौरान होती है।
हाइब्रिड बफर पूल सुविधा Windows® और Linux® दोनों के लिए उपलब्ध है। PMEM डिवाइस को DAX का समर्थन करने वाले फाइल सिस्टम के साथ फॉर्मेट किया जाना चाहिए। DAX निम्नलिखित फाइल सिस्टम का समर्थन करता है:
- एक्सटेंडेड फाइल सिस्टम (XFS)
- EXT4
- न्यू टेक्नोलॉजी फाइल सिस्टम (NTFS)
SQL Server स्वचालित रूप से पता लगाता है कि डेटा फ़ाइलें उचित रूप से फॉर्मेट किए गए PMEM डिवाइस पर स्थित हैं या नहीं और यूजर स्पेस में मेमोरी मैपिंग करता है। यह मैपिंग स्टार्टअप पर, जब एक नया डेटाबेस अटैच, रिस्टोर या बनाया जाता है और जब किसी डेटाबेस के लिए हाइब्रिड बफर पूल सुविधा सक्षम की जाती है, तब होती है।
हाइब्रिड बफर पूल सक्षम करें
SQL Server 2019 हाइब्रिड बफर पूल को नियंत्रित करने के लिए डायनामिक डेटा लैंग्वेज (DDL) पेश करता है। निम्नलिखित उदाहरण SQL Server के इंस्टेंस के लिए हाइब्रिड बफर पूल को सक्षम करता है:
ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED HYBRID_BUFFER_POOL = ON;
डिफ़ॉल्ट रूप से, हाइब्रिड बफर पूल इंस्टेंस स्कोप पर अक्षम पर सेट होता है।
नोट: सेटिंग परिवर्तन को प्रभावी होने के लिए, आपको SQL Server इंस्टेंस को रीस्टार्ट करना होगा। रीस्टार्ट सर्वर पर कुल PMEM क्षमता के लिए पर्याप्त हैश पेज के आवंटन की सुविधा प्रदान करता है।
निम्नलिखित उदाहरण किसी विशिष्ट डेटाबेस के लिए हाइब्रिड बफर पूल को सक्षम करता है:
ALTER DATABASE <databaseName> SET MEMORY_OPTIMIZED = ON;
डिफ़ॉल्ट रूप से, हाइब्रिड बफर पूल डेटाबेस स्कोप पर सक्षम पर सेट होता है।
हाइब्रिड बफर पूल अक्षम करें
निम्नलिखित उदाहरण SQL Server के इंस्टेंस के लिए हाइब्रिड बफर पूल को अक्षम करता है:
ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED HYBRID_BUFFER_POOL = OFF;
डिफ़ॉल्ट रूप से, हाइब्रिड बफर पूल इंस्टेंस स्कोप पर अक्षम पर सेट होता है।
नोट: सेटिंग परिवर्तनों को प्रभावी होने के लिए, आपको SQL Server इंस्टेंस को रीस्टार्ट करना होगा। रीस्टार्ट हैश पेज के ओवर-आवंटन को रोकता है क्योंकि सर्वर पर PMEM क्षमता को ध्यान में रखने की आवश्यकता नहीं होती।
निम्नलिखित उदाहरण किसी विशिष्ट डेटाबेस के लिए हाइब्रिड बफर पूल को अक्षम करता है:
ALTER DATABASE <databaseName> SET MEMORY_OPTIMIZED = OFF;
डिफ़ॉल्ट रूप से, हाइब्रिड बफर पूल डेटाबेस स्कोप पर सक्षम पर सेट होता है।
हाइब्रिड बफर पूल कॉन्फ़िगरेशन देखें
निम्नलिखित उदाहरण SQL Server के इंस्टेंस के लिए हाइब्रिड बफर पूल सिस्टम कॉन्फ़िगरेशन की वर्तमान स्थिति लौटाता है:
SELECT * FROM sys.configurations WHERE name = 'hybrid_buffer_pool';
निम्नलिखित उदाहरण दो टेबल लौटाता है:
SELECT * FROM sys.configurations WHERE name = 'hybrid_buffer_pool';
SELECT name, is_memory_optimized_enabled FROM sys.databases;
- पहली टेबल SQL Server के इंस्टेंस के लिए हाइब्रिड बफर पूल सिस्टम कॉन्फ़िगरेशन की वर्तमान स्थिति दिखाती है।
- दूसरी टेबल डेटाबेस और हाइब्रिड बफर पूल के लिए डेटाबेस लेवल सेटिंग को सूचीबद्ध करती है।
हाइब्रिड बफर पूल के लिए सर्वोत्तम अभ्यास
हम अनुशंसा करते हैं कि आप 16 GB से कम RAM वाले इंस्टेंस पर हाइब्रिड बफर पूल को सक्षम न करें।
Windows पर अपने PMEM डिवाइस को फॉर्मेट करते समय, NTFS के लिए उपलब्ध सबसे बड़े एलोकेशन यूनिट आकार (Windows Server® 2019 में 2 MB) का उपयोग करें और सुनिश्चित करें कि डिवाइस DAX के लिए फॉर्मेट किया गया है। फाइल आकार 2 MB का गुणक होना चाहिए (मॉड्यूलो 2 MB शून्य के बराबर होना चाहिए)।
यदि हाइब्रिड बफर पूल के लिए सर्वर-स्कोप्ड सेटिंग अक्षम पर सेट है, तो हाइब्रिड बफर पूल का उपयोग किसी भी यूजर डेटाबेस द्वारा नहीं किया जाएगा।
यदि हाइब्रिड बफर पूल के लिए सर्वर-स्कोप्ड सेटिंग सक्षम है, तो आप उन यूजर डेटाबेस के लिए डेटाबेस-स्कोप्ड लेवल पर हाइब्रिड बफर पूल को अक्षम करके व्यक्तिगत यूजर डेटाबेस के लिए हाइब्रिड बफर पूल उपयोग को अक्षम कर सकते हैं।
निष्कर्ष
हाइब्रिड बफर पूल आपको PMEM डिवाइस में संग्रहीत डेटाबेस डेटा पेजों तक सीधी पहुंच प्रदान करता है। सिस्टम प्रदर्शन में सुधार होता है क्योंकि पेज को DRAM में कॉपी करने की आवश्यकता नहीं होती और ऑपरेटिंग सिस्टम के I/O स्टैक को पर्सिस्टेंट स्टोरेज पर पेज तक पहुंचने की आवश्यकता नहीं होती।
अधिक जानकारी के लिए निम्नलिखित दस्तावेज़ देखें:
माइक्रोसॉफ्ट ने नवीनतम SQL Server 2019 प्रीव्यू और Azure SQL सुधारों हाइब्रिड बफर पूल का वर्णन किया
टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें।
विशेषज्ञ प्रशासन, प्रबंधन और कॉन्फ़िगरेशन के साथ अपने वातावरण को अनुकूलित करें
Rackspace के एप्लिकेशन सर्विसेज (RAS) विशेषज्ञ अनुप्रयोगों के एक विस्तृत पोर्टफोलियो में निम्नलिखित पेशेवर और प्रबंधित सेवाएं प्रदान करते हैं:
- ईकॉमर्स और डिजिटल एक्सपीरियंस प्लेटफॉर्म
- एंटरप्राइज रिसोर्स प्लानिंग (ERP)
- बिजनेस इंटेलिजेंस
- सेल्सफोर्स कस्टमर रिलेशनशिप मैनेजमेंट (CRM)
- डेटाबेस
- ईमेल होस्टिंग और उत्पादकता
हम प्रदान करते हैं:
- निष्पक्ष विशेषज्ञता: हम आपकी आधुनिकीकरण यात्रा को सरल बनाते हैं और मार्गदर्शन करते हैं, उन क्षमताओं पर ध्यान केंद्रित करते हैं जो तत्काल मूल्य प्रदान करती हैं।
- फैनैटिकल एक्सपीरियंस™: हम समर्पित तकनीकी सहायता के साथ प्रोसेस फर्स्ट, टेक्नोलॉजी सेकंड® दृष्टिकोण को जोड़कर व्यापक समाधान प्रदान करते हैं।
- अद्वितीय पोर्टफोलियो: हम आपको सही क्लाउड पर सही तकनीक चुनने और तैनात करने में मदद करने के लिए व्यापक क्लाउड अनुभव लागू करते हैं।
- एजाइल डिलीवरी: हम आपकी यात्रा में जहां आप हैं वहां मिलते हैं और अपनी सफलता को आपके साथ संरेखित करते हैं।
अभी चैट करें शुरू करने के लिए।