Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> डेटाबेस

Microsoft SQL सर्वर हाइब्रिड बफर पूल का उपयोग करना

Microsoft® ने SQLServer® 2019 (पूर्वावलोकन) CTP 2.1 में हाइब्रिड बफर पूल नामक एक नई सुविधा पेश की। यह सुविधा आपको लगातार मेमोरी (पीएमईएम) उपकरणों में संग्रहीत डेटाबेस फ़ाइलों में डेटा पृष्ठों तक सीधे पहुंचने में सक्षम बनाती है।

पीएमईएम क्या है?

PMEM एक सॉलिड-स्टेट हाई-परफॉर्मेंस बाइट-एड्रेसेबल मेमोरी डिवाइस है जो मेमोरी बस में रहता है। अन्य संग्रहण उपकरणों की तुलना में इसके कई लाभ हैं।

PMEM के मुख्य लाभों में शामिल हैं:

  • यह फ्लैश सॉलिड स्टेट ड्राइव्स (SSDs) की तुलना में बिना किसी विलंबता के बड़े डेटा सेट के लिए तेज़ और लगभग रीयल-टाइम डेटा एक्सेस प्रदान करता है।
  • यह फ्लैश स्टोरेज से ज्यादा थ्रूपुट बढ़ाता है।
  • यह डायनामिक रैंडम एक्सेस मेमोरी (DRAM) से सस्ता है।
  • यह कैशेबल है। पेरिफेरल कंपोनेंटइंटरकनेक्ट (पीसीआईई) पर यह एक बड़ा फायदा है, जो सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) में कैश करने योग्य नहीं है।
  • यह बिजली बंद होने या बंद होने के बाद डेटा को मेमोरी में रखता है।

आप उन अनुप्रयोगों के लिए विलंबता को कम करने के लिए विभिन्न तरीकों से पीएमईएम का उपयोग कर सकते हैं जहां आपको इंटरनेट ऑफ थिंग्स (आईओटी) अनुप्रयोगों, साइबर खतरे के विश्लेषण और वित्तीय व्यापार जैसे भारी मात्रा में डेटा के साथ तेजी से डेटा एक्सेस की आवश्यकता होती है।

अवधारणाएं

निम्नलिखित शर्तें बफ़र पूल एक्सटेंशन सुविधा पर लागू होती हैं:

  • सॉलिड-स्टेट ड्राइव (SSD) :डेटा को मेमोरी (RAM) में लगातार तरीके से स्टोर करता है।

  • बफर :SQL सर्वर में, बफर स्मृति में एक 8-KB पृष्ठ होता है, जो डेटा या अनुक्रमणिका पृष्ठ के समान आकार का होता है। इस प्रकार, बफर कैश को 8-केबी पृष्ठों में विभाजित किया गया है। पेज बफर कैश में तब तक रहता है जब तक बफर मैनेजर को अधिक डेटा में पढ़ने के लिए बफर क्षेत्र की आवश्यकता नहीं होती है। डेटा को डिस्क पर वापस तभी लिखा जाता है जब उसे संशोधित किया जाता है। इन-मेमोरी संशोधित पृष्ठों को डर्टी पेज के रूप में जाना जाता है। एक पृष्ठ तब साफ होता है जब वह डिस्क पर उसकी डेटाबेस छवि के बराबर होता है। डिस्क पर वापस लिखे जाने से पहले बफर कैश में डेटा को कई बार संशोधित किया जा सकता है।

  • बफर पूल :बफर कैश के रूप में भी जाना जाता है, बफर पूल एक वैश्विक संसाधन है जो सभी डेटाबेस द्वारा उनके कैश्ड डेटा पृष्ठों के लिए साझा किया जाता है। बफर पूल कैश का अधिकतम और न्यूनतम आकार स्टार्टअप के दौरान निर्धारित किया जाता है या जब SQL सर्वर का उदाहरण गतिशील रूप से sp_configure का उपयोग करके पुन:कॉन्फ़िगर किया जाता है। यह आकार चल रहे इंस्टेंस में किसी भी समय बफर पूल में कैश किए जा सकने वाले पृष्ठों की अधिकतम संख्या निर्धारित करता है। बफर पूल एक्सटेंशन द्वारा कमिट की जा सकने वाली अधिकतम मेमोरी को मशीन पर चल रहे अन्य एप्लिकेशन द्वारा सीमित किया जा सकता है, यदि वे महत्वपूर्ण मेमोरी प्रेशर बनाते हैं।

  • चेकपॉइंट :एक चेकपॉइंट एक ज्ञात अच्छा बिंदु बनाता है जिससे डेटाबेस इंजन एक अप्रत्याशित शटडाउन या क्रैश के बाद पुनर्प्राप्ति के दौरान लेनदेन लॉग में निहित परिवर्तनों को लागू करना शुरू कर सकता है। एक चेकपॉइंट मेमोरी से डिस्क पर गंदे पेज और ट्रांजेक्शन लॉग की जानकारी लिखता है और ट्रांजेक्शन लॉग के बारे में जानकारी भी रिकॉर्ड करता है।

  • प्रत्यक्ष पहुंच (DAX) :DAX न्यूनतम विलंबता प्राप्त करने के लिए मेमोरी की तरह काम करता है। ऐप सीधे स्टैक को दरकिनार करते हुए लगातार मेमोरी को संशोधित करता है। इस विकल्प का उपयोग केवल NTFS के साथ ही किया जा सकता है।

निम्न छवि DAX को दर्शाती है:

Microsoft SQL सर्वर हाइब्रिड बफर पूल का उपयोग करना

स्रोत :https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/deploy-pmem

हाइब्रिड बफर पूल क्या है?

एक पारंपरिक प्रणाली में, SQL सर्वर डेटा पृष्ठों को DRAM-आधारित बफ़रपूल में कैश करता है। हाइब्रिड बफर पूल के साथ, SQL सर्वर पेज को बफर पूल के डीआरएएम-आधारित हिस्से में कॉपी करना छोड़ देता है और इसके बजाय सीधे पीएमईएम डिवाइस पर रहने वाली डेटाबेस फाइल पर पेज को संदर्भित करता है। सिस्टम मेमोरी मैप किए गए I/O का उपयोग करके हाइब्रिड बफर पूल के लिए PMEM में डेटा फ़ाइलों तक पहुँचता है, जिसे SQL सर्वर के भीतर डेटा फ़ाइलों के ज्ञान के रूप में भी जाना जाता है।

यह प्रक्रिया पृष्ठ की एक प्रति को DRAM से बचाकर और लगातार भंडारण पर पृष्ठ तक पहुँचने के लिए ऑपरेटिंग सिस्टम के I/O स्टैक की आवश्यकता को समाप्त करके प्रदर्शन लाभ लाती है।

सिस्टम सीधे पीएमईएम डिवाइस पर केवल साफ पेजों तक पहुंच सकता है। जब कोई पृष्ठ गंदा हो जाता है, तो सिस्टम उसे DRAM-आधारित बफर पूल में कॉपी करता है और फिर उसे वापस PMEM डिवाइस पर लिखता है। यह प्रक्रिया नियमित चेकपॉइंट संचालन के दौरान होती है।

हाइब्रिड बफर पूल सुविधा Windows® और Linux® दोनों के लिए उपलब्ध है। ThePMEM डिवाइस को एक फाइल सिस्टम के साथ स्वरूपित किया जाना चाहिए जो DirectAccess (DAX) का समर्थन करता है। DAX निम्नलिखित फाइल सिस्टम का समर्थन करता है:

  • विस्तारित फ़ाइल सिस्टम (XFS)
  • EXT4
  • नई प्रौद्योगिकी फ़ाइल सिस्टम (NTFS)

SQL सर्वर स्वचालित रूप से पता लगाता है कि डेटा फ़ाइलें उचित रूप से स्वरूपित PMEM डिवाइस पर रहती हैं या नहीं और उपयोगकर्ता स्थान में मेमोरी मैपिंग करता है। यह मैपिंग स्टार्टअप पर होती है, जब एक नया डेटाबेस संलग्न, पुनर्स्थापित या बनाया जाता है और जब डेटाबेस के लिए हाइब्रिड बफर पूल सुविधा सक्षम होती है।

हाइब्रिड बफर पूल सक्षम करें

SQL सर्वर 2019 हाइब्रिड बफरपूल को नियंत्रित करने के लिए डायनेमिक डेटा लैंग्वेज (DDL) पेश करता है। निम्न उदाहरण SQLServer की आवृत्ति के लिए हाइब्रिड बफर पूल को सक्षम करता है:

ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED HYBRID_BUFFER_POOL = ON;

डिफ़ॉल्ट रूप से, हाइब्रिड बफर पूल इंस्टेंस स्कोप पर अक्षम करने के लिए सेट है।

नोट :सेटिंग परिवर्तन को प्रभावी करने के लिए, आपको SQL Serverinstance को पुनरारंभ करना होगा। पुनरारंभ करने से सर्वर पर कुल PMEM क्षमता को ध्यान में रखते हुए पर्याप्त हैश पृष्ठों के आवंटन की सुविधा मिलती है।

निम्न उदाहरण एक विशिष्ट डेटाबेस के लिए हाइब्रिड बफर पूल को सक्षम करता है:

ALTER DATABASE <databaseName> SET MEMORY_OPTIMIZED = ON;

डिफ़ॉल्ट रूप से, हाइब्रिड बफ़र पूल डेटाबेस स्कोप पर सक्षम करने के लिए सेट है।

हाइब्रिड बफर पूल अक्षम करें

निम्न उदाहरण SQL सर्वर की आवृत्ति के लिए हाइब्रिड बफ़र पूल को अक्षम करता है:

ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED HYBRID_BUFFER_POOL = OFF;

डिफ़ॉल्ट रूप से, हाइब्रिड बफर पूल इंस्टेंस स्कोप पर अक्षम करने के लिए सेट है।

नोट :सेटिंग परिवर्तन प्रभावी होने के लिए, आपको SQL Serverinstance को पुनरारंभ करना होगा। पुनरारंभ हैश पृष्ठों के अति-आवंटन को रोकता है क्योंकि सर्वर पर PMEM क्षमता का हिसाब लगाने की आवश्यकता नहीं है।

निम्न उदाहरण विशिष्ट डेटाबेस के लिए हाइब्रिड बफर पूल को अक्षम करता है:

ALTER DATABASE <databaseName> SET MEMORY_OPTIMIZED = OFF;

डिफ़ॉल्ट रूप से, हाइब्रिड बफ़र पूल डेटाबेस स्कोप पर सक्षम करने के लिए सेट है।

हाइब्रिड बफर पूल कॉन्फ़िगरेशन देखें

निम्न उदाहरण SQL सर्वर की आवृत्ति के लिए हाइब्रिड बफर पूल सिस्टम कॉन्फ़िगरेशन की वर्तमान स्थिति देता है:

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 सर्वर की आवृत्ति के लिए हाइब्रिड बफर पूल सिस्टम कॉन्फ़िगरेशन की वर्तमान स्थिति दिखाती है।
  • दूसरी तालिका हाइब्रिड बफर पूल के लिए डेटाबेस और डेटाबेस स्तर सेटिंग को सूचीबद्ध करती है।

हाइब्रिड बफर पूल के लिए सर्वोत्तम अभ्यास

हम अनुशंसा करते हैं कि आप 16 जीबी से कम रैम वाले उदाहरणों पर हाइब्रिड बफर पूल को सक्षम न करें।

विंडोज़ पर अपने पीएमईएम डिवाइस को स्वरूपित करते समय, एनटीएफएस (विंडोज सर्वर 2019 में 2 एमबी) के लिए उपलब्ध सबसे बड़े आवंटन इकाई का उपयोग करें और सुनिश्चित करें कि डिवाइस को डीएक्स के लिए प्रारूपित किया गया है। फ़ाइलों का आकार 2 एमबी का गुणक होना चाहिए (मॉड्यूल 2 एमबी शून्य के बराबर होना चाहिए)।

यदि हाइब्रिड बफ़र पूल के लिए सर्वर-स्कोप्ड सेटिंग को अक्षम पर सेट किया गया है, तो किसी भी उपयोगकर्ता डेटाबेस द्वारा हाइब्रिडबफ़र पूल का उपयोग नहीं किया जाएगा।

यदि हाइब्रिड बफर पूल के लिए सर्वर-स्कोप्ड सेटिंग सक्षम है, तो आप उन उपयोगकर्ता डेटाबेस के लिए डेटाबेस-स्कोप्ड स्तर पर हाइब्रिड बफरपूल को अक्षम करके अलग-अलग उपयोगकर्ता डेटाबेस के लिए हाइब्रिड बफर पूल उपयोग को अक्षम कर सकते हैं।

निष्कर्ष

हाइब्रिड बफर पूल आपको पीएमईएम उपकरणों में संग्रहीत डेटाबेस डेटा पृष्ठों तक सीधे पहुंचने में सक्षम बनाता है। सिस्टम के प्रदर्शन में सुधार हुआ है क्योंकि पेज को DRAM में कॉपी करने की जरूरत नहीं है और ऑपरेटिंग सिस्टम के I/O स्टैक को लगातार स्टोरेज पर पेज को एक्सेस करने की जरूरत नहीं है।

अधिक जानकारी के लिए निम्नलिखित दस्तावेज़ देखें:

Microsoft नवीनतम SQL सर्वर 2019 पूर्वावलोकन और Azure SQL सुधार का वर्णन करता हैहाइब्रिड बफर पूल

कोई टिप्पणी करने या प्रश्न पूछने के लिए फ़ीडबैक टैब का उपयोग करें।

विशेषज्ञ प्रशासन, प्रबंधन और कॉन्फ़िगरेशन के साथ अपने परिवेश को अनुकूलित करें

रैकस्पेस की एप्लिकेशन सेवाएं(RAS) विशेषज्ञ अनुप्रयोगों के व्यापक पोर्टफोलियो में निम्नलिखित पेशेवर और प्रबंधित सेवाएं प्रदान करते हैं:

  • ईकामर्स और डिजिटल अनुभव प्लेटफॉर्म
  • एंटरप्राइज रिसोर्स प्लानिंग (ईआरपी)
  • बिजनेस इंटेलिजेंस
  • बिक्री बल ग्राहक संबंध प्रबंधन (सीआरएम)
  • डेटाबेस
  • ईमेल होस्टिंग और उत्पादकता

हम वितरित करते हैं:

  • निष्पक्ष विशेषज्ञता :हम तत्काल मूल्य प्रदान करने वाली क्षमताओं पर ध्यान केंद्रित करते हुए आपकी आधुनिकीकरण यात्रा को सरल और मार्गदर्शन करते हैं।
  • कट्टर अनुभव ™:हम पहले एक प्रक्रिया को जोड़ते हैं। प्रौद्योगिकी दूसरा। व्यापक समाधान प्रदान करने के लिए समर्पित तकनीकी सहायता के साथ दृष्टिकोण।
  • बेजोड़ पोर्टफोलियो :हम व्यापक क्लाउड अनुभव लागू करते हैं ताकि आपको सही क्लाउड पर सही तकनीक को चुनने और परिनियोजित करने में मदद मिल सके।
  • फुर्तीली डिलीवरी :हम आपसे मिलते हैं जहां आप अपनी यात्रा में हैं और सफलता को अपने साथ संरेखित करते हैं।

आरंभ करने के लिए अभी चैट करें।


  1. एकीकृत डेटा प्लेटफ़ॉर्म:SQL सर्वर 2019

    2006 में, ब्रिटिश गणितज्ञ क्लाइव रॉबर्ट हम्बी ने शब्दों को चिह्नित किया:डेटा नया तेल है। तब से, आईटी नेताओं ने इसे बार-बार सुना है, विचार के साथ प्रतिध्वनित किया है, और हर कदम पर संवर्धित किया है। क्लाइव ने आगे कहा, डेटा मूल्यवान है, लेकिन अगर अपरिष्कृत है, तो इसका वास्तव में उपयोग नहीं किया जा सकत

  1. SQL सर्वर में मेमोरी-ऑप्टिमाइज़्ड टेबल से मेमोरी प्रेशर अलर्ट को हैंडल करें

    मेमोरी प्रबंधन के मामले में Microsoft SQL सर्वर बहुत स्मार्ट है, लेकिन कभी-कभी मेमोरी प्रेशर अलर्ट और डेटाबेस इंजन अधिक मेमोरी की मांग करते हैं, जिससे त्रुटियां होती हैं। परिचय यह पोस्ट चर्चा करती है कि SQL Server® 2019 (एंटरप्राइज़ संस्करण) पर मेमोरी-ऑप्टिमाइज़्ड टेबल्स (इन-मेमोरी ऑनलाइन ट्रांजेक्

  1. MS Access से डेटा को SQL सर्वर डेटाबेस में माइग्रेट करें

    हाल ही में, मुझे एक्सेस डेटाबेस से SQL सर्वर 2014 में डेटा माइग्रेट करना पड़ा क्योंकि मेरा डेटाबेस एक्सेस के लिए बहुत बड़ा हो रहा था। हालांकि प्रक्रिया काफी सरल है, मुझे लगा कि मैं चरण-दर-चरण निर्देशों के साथ एक लेख लिखूंगा। सबसे पहले, आपको यह सुनिश्चित करने की आवश्यकता है कि आपके कंप्यूटर पर SQL स