MS SQL Server एक क्लाइंट-सर्वर आर्किटेक्चर है। MS SQL सर्वर प्रक्रिया क्लाइंट एप्लिकेशन से अनुरोध भेजने के साथ शुरू होती है। SQL सर्वर संसाधित डेटा के साथ अनुरोध को स्वीकार और संसाधित करता है। आइए नीचे दिखाए गए पूरे आर्किटेक्चर पर विस्तार से चर्चा करें:
नीचे आरेख के रूप में SQL सर्वर आर्किटेक्चर में तीन प्रमुख घटक हैं:
- प्रोटोकॉल लेयर
- संबंधपरक इंजन
- भंडारण इंजन

आइए उपरोक्त तीनों प्रमुख मॉड्यूलों के बारे में विस्तार से चर्चा करें। इस ट्यूटोरियल में, आप सीखेंगे।
- प्रोटोकॉल लेयर - एसएनआई
- शारेड मेमोरी
- टीसीपी / आईपी
- नामित पाइप्स
- टीडीएस क्या है?
- संबंधपरक इंजन
- CMD पार्सर
- अनुकूलक
- क्वेरी एक्ज़ीक्यूटर
- भंडारण इंजन
- फ़ाइल प्रकारों
- पहुंच विधि
- बफर मैनेजर
- कैश की योजना बनाएं
- डेटा पार्सिंग: बफर कैश और डेटा स्टोरेज
- लेन-देन प्रबंधक
प्रोटोकॉल लेयर - एसएनआई
MS SQL SERVER PROTOCOL LAYER 3 प्रकार के क्लाइंट सर्वर आर्किटेक्चर का समर्थन करता है। हम " तीन प्रकार के क्लाइंट सर्वर आर्किटेक्चर" से शुरू करेंगे जो एमएस एसक्यूएल सर्वर का समर्थन करता है।
शारेड मेमोरी
आइए एक सुबह के वार्तालाप परिदृश्य पर पुनर्विचार करें।
MOM और TOM - यहाँ टॉम और उसकी माँ, एक ही तार्किक स्थान पर, अर्थात् उनके घर पर थे। टॉम कॉफी के लिए पूछने में सक्षम था और माँ इसे गर्म सेवा करने में सक्षम थी।
MS SQL SERVER - यहाँ MS SQL सर्वर SHARED MEMORY PROTOCOL प्रदान करता है । यहाँ CLIENT और MS SQL सर्वर एक ही मशीन पर चलते हैं। दोनों साझा मेमोरी प्रोटोकॉल के माध्यम से संवाद कर सकते हैं।
उपमा: उपर्युक्त दो परिदृश्यों में मानचित्र संस्थाओं को देता है हम टॉम टू क्लाइंट, मॉम टू एसक्यूएल सर्वर, होम टू मशीन, और वर्बल कम्युनिकेशन को साझा मेमोरी प्रोटोकॉल में आसानी से मैप कर सकते हैं।
कॉन्फ़िगरेशन और स्थापना के डेस्क से:
स्थानीय DB के कनेक्शन के लिए - SQL प्रबंधन स्टूडियो में, "सर्वर नाम" विकल्प हो सकता है
""
"लोकलहोस्ट"
"127.0.0.1"
"मशीन \"
टीसीपी / आईपी
अब शाम पर विचार करें, टॉम पार्टी के मूड में है। वह एक प्रसिद्ध कॉफी शॉप से ऑर्डर की गई कॉफी चाहता है। कॉफी शॉप उनके घर से 10 किमी दूर स्थित है।
यहां टॉम और स्टारबक अलग-अलग भौतिक स्थान पर हैं। घर पर टॉम और व्यस्त बाजार में स्टारबक्स। वे सेलुलर नेटवर्क के माध्यम से संचार कर रहे हैं। इसी तरह, MS SQL SERVER TCP / IP प्रोटोकॉल के माध्यम से बातचीत करने की क्षमता प्रदान करता है, जहाँ CLIENT और MS SQL सर्वर एक दूसरे के लिए दूरस्थ होते हैं और एक अलग मशीन पर स्थापित होते हैं।
उपमा: उपर्युक्त दो परिदृश्यों में मानचित्र संस्थाओं को देता है हम टॉम टू क्लाइंट, स्टारबक्स टू एसक्यूएल सर्वर, होम / मार्केट प्लेस टू रिमोट लोकेशन और आखिरकार सेल्युलर नेटवर्क से टीसीपी / आईपी प्रोटोकॉल के लिए मैप कर सकते हैं।
कॉन्फ़िगरेशन / स्थापना के डेस्क से नोट्स:
- SQL प्रबंधन स्टूडियो में - टीसीपी \ आईपी के माध्यम से कनेक्शन के लिए, "सर्वर नाम" विकल्प को "मशीन का इंस्टेंस" होना चाहिए।
- SQL सर्वर TCP / IP में पोर्ट 1433 का उपयोग करता है।
नामित पाइप्स
अब अंत में रात में, टॉम एक हल्का ग्रीन टी लेना चाहता था, जिसे उसके पड़ोसी सिएरा ने बहुत अच्छी तरह से तैयार किया।
यहाँ टॉम और उसका पड़ोसी , सिएरा, एक दूसरे के पड़ोसी होने के नाते एक ही भौतिक स्थान पर हैं। वे इंट्रा नेटवर्क के माध्यम से संचार कर रहे हैं । इसी तरह, MS SQL SERVER नामांकित पाइप प्रोटोकॉल के माध्यम से बातचीत करने की क्षमता प्रदान करता है। यहाँ CLIENT और MS SQL SERVER LAN के माध्यम से कनेक्शन में हैं ।
उपमा: उपर्युक्त दो परिदृश्यों में मानचित्र संस्थाओं को देता है हम टॉम टू क्लाइंट, सिएरा टू एसक्यूएल सर्वर, नेबर टू लैन और आखिर में इंट्रा नेटवर्क को नामांकित पाइप प्रोटोकॉल में मैप कर सकते हैं।
कॉन्फ़िगरेशन / स्थापना के डेस्क से नोट्स:
- नामांकित पाइप के माध्यम से कनेक्शन के लिए। यह विकल्प डिफ़ॉल्ट रूप से अक्षम है और SQL कॉन्फ़िगरेशन प्रबंधक द्वारा सक्षम करने की आवश्यकता है।
टीडीएस क्या है?
अब जब हम जानते हैं कि तीन प्रकार के क्लाइंट-सर्वर आर्किटेक्चर हैं, तो हम टीडीएस पर एक नज़र डालते हैं:
- TDS का मतलब Tabular Data Stream है।
- सभी 3 प्रोटोकॉल टीडीएस पैकेट का उपयोग करते हैं। टीडीएस नेटवर्क पैकेट में एनकैप्सुलेटेड है। यह क्लाइंट मशीन से सर्वर मशीन में डेटा ट्रांसफर को सक्षम बनाता है।
- TDS को पहले Sybase द्वारा विकसित किया गया था और अब इसे Microsoft द्वारा स्वामित्व दिया गया है
संबंधपरक इंजन
रिलेशनल इंजन को क्वेरी प्रोसेसर के रूप में भी जाना जाता है। इसमें SQL सर्वर घटक होते हैं जो यह निर्धारित करते हैं कि वास्तव में क्या करना है और यह कैसे सबसे अच्छा किया जा सकता है। यह स्टोरेज इंजन से डेटा का अनुरोध करके और लौटाए गए परिणामों को संसाधित करके उपयोगकर्ता प्रश्नों के निष्पादन के लिए जिम्मेदार है।
जैसा कि आर्किटेक्चरल आरेख में दर्शाया गया है कि रिलेशनल इंजन के 3 प्रमुख घटक हैं। आइए घटकों का विस्तार से अध्ययन करें:
CMD पार्सर
एक बार प्रोटोकॉल लेयर से प्राप्त डेटा को फिर रिलेशनल इंजन में भेज दिया जाता है। क्वेरी डेटा प्राप्त करने के लिए "सीएमडी पार्सर" रिलेशनल इंजन का पहला घटक है। सीएमडी पार्सर का मुख्य काम सिंथेटिक और सिमेंटिक त्रुटि के लिए क्वेरी की जांच करना है । अंत में, यह एक क्वेरी ट्री उत्पन्न करता है । आइए विस्तार से चर्चा करते हैं।
सिंथेटिक जांच:
- हर दूसरे प्रोग्रामिंग लैंग्वेज की तरह, MS SQL में भी कीवर्ड्स का पूर्वनिर्धारित सेट होता है। इसके अलावा, SQL सर्वर का अपना व्याकरण होता है जिसे SQL सर्वर समझता है।
- चुनें, INSERT, अद्यतन, और कई अन्य एमएस SQL पूर्वनिर्धारित खोजशब्द सूचियों के हैं।
- CMD Parser सिंटैक्टिक चेक करता है। यदि उपयोगकर्ता का इनपुट इन भाषा वाक्यविन्यास या व्याकरण नियमों का पालन नहीं करता है, तो यह एक त्रुटि देता है।
उदाहरण: मान लीजिए कि एक रूसी एक जापानी रेस्तरां में गया। वह रूसी भाषा में फास्ट फूड ऑर्डर करता है। दुर्भाग्य से, वेटर केवल जापानी समझता है। सबसे स्पष्ट परिणाम क्या होगा?
जवाब है - वेटर आदेश को आगे बढ़ाने में असमर्थ है।
ग्रामर या भाषा में कोई विचलन नहीं होना चाहिए जिसे SQL सर्वर स्वीकार करता है। यदि हैं, तो SQL सर्वर इसे संसाधित नहीं कर सकता है और इसलिए त्रुटि संदेश लौटाएगा।
हम आगामी ट्यूटोरियल में MS SQL क्वेरी के बारे में अधिक जानेंगे। फिर भी, नीचे के रूप में सबसे बुनियादी क्वेरी सिंटैक्स पर विचार करें
SELECT * from;
अब, सिंटैक्टिक क्या करता है, इसकी धारणा प्राप्त करने के लिए, यदि उपयोगकर्ता मूल क्वेरी को नीचे के रूप में चलाता है:
SELECR * from
ध्यान दें कि 'SELECT' के बजाय उपयोगकर्ता ने "SELECR" टाइप किया।
परिणाम: CMD पार्सर इस कथन को पार्स करेगा और त्रुटि संदेश फेंक देगा। जैसा कि "SELECR" पूर्वनिर्धारित कीवर्ड नाम और व्याकरण का पालन नहीं करता है। यहाँ CMD Parser "Select" की उम्मीद कर रहा था।
शब्दार्थ जाँच:
- यह नॉर्मलाइज़र द्वारा किया जाता है ।
- अपने सरलतम रूप में, यह जाँचता है कि क्या स्तम्भ नाम, तालिका नाम को स्कीमा में विद्यमान है। और अगर यह मौजूद है, तो इसे क्वेरी से बाँध लें। इसे बाइंडिंग के नाम से भी जाना जाता है ।
- उपयोगकर्ता के प्रश्नों में VIEW होने पर जटिलता बढ़ जाती है। नॉर्मलाइज़र आंतरिक रूप से संग्रहीत दृश्य परिभाषा और बहुत कुछ के साथ प्रतिस्थापन करता है।
आइए इसे नीचे दिए गए उदाहरण की मदद से समझते हैं -
SELECT * from USER_ID
परिणाम: सीएमडी पार्सर सेमेटिक चेक के लिए इस बयान को पार्स करेगा। पार्सर एक त्रुटि संदेश फेंक देगा क्योंकि नॉर्मलाइज़र अनुरोधित तालिका (USER_ID) नहीं ढूंढेगा क्योंकि यह मौजूद नहीं है।
क्वेरी ट्री बनाएँ:
- यह चरण अलग-अलग निष्पादन ट्री बनाता है जिसमें क्वेरी को चलाया जा सकता है।
- ध्यान दें, सभी अलग-अलग पेड़ों का एक ही वांछित उत्पादन होता है।
अनुकूलक
ऑप्टिमाइज़र का काम उपयोगकर्ता की क्वेरी के लिए एक निष्पादन योजना बनाना है। यह योजना है जो यह निर्धारित करेगी कि उपयोगकर्ता क्वेरी को कैसे निष्पादित किया जाएगा।
ध्यान दें कि सभी प्रश्न अनुकूलित नहीं हैं। DML (डेटा संशोधन भाषा) कमांड जैसे SELECT, INSERT, DELETE और UPDATE के लिए ऑप्टिमाइज़ेशन किया जाता है। इस तरह के प्रश्नों को पहले चिह्नित किया जाता है और फिर अनुकूलक में भेजा जाता है। डीडीएल कमांड जैसे क्रिएट और अलर्ट को ऑप्टिमाइज़ नहीं किया जाता है, बल्कि उन्हें आंतरिक रूप में संकलित किया जाता है। क्वेरी लागत की गणना CPU उपयोग, मेमोरी उपयोग और इनपुट / आउटपुट जरूरतों जैसे कारकों के आधार पर की जाती है।
ऑप्टिमाइज़र की भूमिका सबसे सस्ती, सर्वोत्तम प्रभावी लागत योजना को खोजने के लिए है ।
इससे पहले कि हम ऑप्टिमाइज़र के अधिक तकनीकी विवरण में कूदें, वास्तविक जीवन के उदाहरण पर विचार करें:
उदाहरण:
मान लीजिए, आप एक ऑनलाइन बैंक खाता खोलना चाहते हैं। आप पहले से ही एक बैंक के बारे में जानते हैं जो खाता खोलने में अधिकतम 2 दिन लेता है। लेकिन, आपके पास 20 अन्य बैंकों की एक सूची भी है, जो 2 दिनों से कम समय के लिए हो सकती है या नहीं। आप यह निर्धारित करने के लिए इन बैंकों से जुड़ना शुरू कर सकते हैं कि कौन से बैंक 2 दिन से कम समय लेते हैं। अब, आपको एक बैंक नहीं मिल सकता है जिसमें 2 दिन से कम समय लगता है, और खोज गतिविधि के कारण अतिरिक्त समय नष्ट हो जाता है। बेहतर होगा कि पहले बैंक में ही खाता खोलें।
निष्कर्ष: समझदारी से चयन करना अधिक महत्वपूर्ण है। सटीक होने के लिए, चुनें कि कौन सा विकल्प सबसे अच्छा है, सबसे सस्ता नहीं।
इसी तरह, एमएस एसक्यूएल ऑप्टिमाइज़र इनबिल्ट एग्जॉस्ट / ह्यूरिस्टिक एल्गोरिदम पर काम करता है। लक्ष्य रन समय को कम करना है। सभी ऑप्टिमाइज़र एल्गोरिदम Microsoft के स्वामित्व और एक गुप्त हैं। हालाँकि , नीचे MS SQL अनुकूलक द्वारा किए गए उच्च-स्तरीय चरण हैं। नीचे दिए गए चित्र में दिखाए गए अनुसार अनुकूलन की खोज तीन चरणों में होती है:
चरण 0: तुच्छ योजना की खोज करें:
- इसे पूर्व-अनुकूलन चरण के रूप में भी जाना जाता है ।
- कुछ मामलों के लिए, केवल एक व्यावहारिक, व्यावहारिक योजना हो सकती है, जिसे एक तुच्छ योजना के रूप में जाना जाता है। अनुकूलित योजना बनाने की कोई आवश्यकता नहीं है। कारण यह है कि अधिक खोज करने के परिणामस्वरूप एक ही रन टाइम निष्पादन योजना मिल जाएगी। वह भी अनुकूलित योजना के लिए खोज की अतिरिक्त लागत के साथ जो बिल्कुल भी आवश्यक नहीं थी।
- यदि कोई तुच्छ योजना नहीं मिली, तो 1 सेंट चरण शुरू होता है।
चरण 1: लेनदेन प्रसंस्करण योजनाओं के लिए खोजें
- इसमें सरल और जटिल योजना की खोज शामिल है ।
- सरल योजना खोज: क्वेरी में शामिल कॉलम और इंडेक्स के पिछले डेटा का उपयोग सांख्यिकीय विश्लेषण के लिए किया जाएगा। इसमें आमतौर पर एक इंडेक्स प्रति तालिका शामिल नहीं है।
- फिर भी, यदि सरल योजना नहीं मिलती है, तो अधिक जटिल योजना खोजी जाती है। इसमें प्रति तालिका कई सूचकांक शामिल हैं।
चरण 2: समानांतर प्रसंस्करण और अनुकूलन।
- यदि उपरोक्त में से कोई भी रणनीति काम नहीं करती है, तो ऑप्टिमाइज़र समानांतर प्रसंस्करण संभावनाओं की खोज करता है। यह मशीन की प्रसंस्करण क्षमताओं और कॉन्फ़िगरेशन पर निर्भर करता है।
- यदि वह अभी भी संभव नहीं है, तो अंतिम अनुकूलन चरण शुरू होता है। अब, अंतिम अनुकूलन उद्देश्य क्वेरी को सर्वोत्तम तरीके से निष्पादित करने के लिए अन्य सभी संभावित विकल्प ढूंढ रहा है। अंतिम अनुकूलन चरण एल्गोरिदम Microsoft Propriety हैं।
क्वेरी एक्ज़ीक्यूटर
क्वेरी निष्पादन योग्य कॉल एक्सेस विधि। यह निष्पादन के लिए आवश्यक डेटा लाने वाले तर्क के लिए एक निष्पादन योजना प्रदान करता है। संग्रहण इंजन से डेटा प्राप्त होने के बाद, परिणाम प्रोटोकॉल लेयर पर प्रकाशित हो जाता है। अंत में, डेटा अंतिम उपयोगकर्ता को भेजा जाता है।
भंडारण इंजन
स्टोरेज इंजन का काम डिस्क या सैन जैसे स्टोरेज सिस्टम में डेटा को स्टोर करना और जरूरत पड़ने पर डेटा को पुनः प्राप्त करना है। इससे पहले कि हम भंडारण इंजन में गहरी डुबकी लगाते हैं, आइए एक नजर डालते हैं कि कैसे डेटाबेस में डेटा संग्रहित किया जाता है और उपलब्ध फाइलों का प्रकार।
डेटा फ़ाइल और विस्तार:
डेटा फ़ाइल, भौतिक रूप से डेटा पृष्ठों के रूप में डेटा संग्रहीत करती है, प्रत्येक डेटा पृष्ठ में 8KB का आकार होता है, जो SQL सर्वर में सबसे छोटी स्टोरेज यूनिट बनाता है। इन डेटा पेजों को तार्किक रूप से विस्तार करने के लिए समूहीकृत किया जाता है। कोई ऑब्जेक्ट SQL सर्वर में कोई पृष्ठ असाइन नहीं किया गया है।
वस्तु का रखरखाव विस्तार के माध्यम से किया जाता है। पृष्ठ में 96 बाइट्स के आकार के साथ पृष्ठ हैडर नामक एक अनुभाग है, जो पृष्ठ के प्रकार, पृष्ठ संख्या, उपयोग किए गए स्थान का आकार, खाली स्थान का आकार और अगले पृष्ठ और पिछले पृष्ठ पर सूचक के बारे में मेटाडेटा जानकारी ले जाता है। , आदि।
फ़ाइल प्रकारों
- प्राथमिक फ़ाइल
- हर डेटाबेस में एक प्राथमिक फ़ाइल होती है।
- यह तालिकाओं, विचारों, ट्रिगर आदि से संबंधित सभी महत्वपूर्ण डेटा को संग्रहीत करता है।
- एक्सटेंशन है। mdf आमतौर पर किसी भी एक्सटेंशन का हो सकता है।
- माध्यमिक फ़ाइल
- डेटाबेस में कई माध्यमिक फाइलें हो सकती हैं या नहीं भी हो सकती हैं।
- यह वैकल्पिक है और इसमें उपयोगकर्ता-विशिष्ट डेटा होते हैं।
- एक्सटेंशन है। ndf आमतौर पर किसी भी एक्सटेंशन का हो सकता है।
- बोटा दस्तावेज
- इसे आगे के लॉग के रूप में भी जाना जाता है।
- एक्सटेंशन है। एलडीएफ
- लेन-देन प्रबंधन के लिए उपयोग किया जाता है।
- इसका उपयोग किसी भी अवांछित उदाहरण से उबरने के लिए किया जाता है। बिना किसी लेन-देन के रोलबैक के महत्वपूर्ण कार्य करें।
स्टोरेज इंजन में 3 घटक होते हैं; आइए उनके बारे में विस्तार से देखें।
पहुंच विधि
यह क्वेरी निष्पादक और बफर मैनेजर / लेन-देन लॉग के बीच एक अंतरफलक के रूप में कार्य करता है।
एक्सेस मेथड स्वयं कोई निष्पादन नहीं करता है।
पहली क्रिया यह निर्धारित करने के लिए है कि क्या क्वेरी है:
- स्टेटमेंट (DDL) चुनें
- गैर- चयन विवरण (DDL और DML)
परिणाम के आधार पर, एक्सेस विधि निम्नलिखित कदम उठाती है:
- यदि क्वेरी DDL , SELECT स्टेटमेंट है, तो क्वेरी को आगे की प्रक्रिया के लिए बफर मैनेजर को पास कर दिया जाता है ।
- और अगर DDL, NON-SELECT स्टेटमेंट , तो क्वेरी को ट्रांजेक्शन मैनेजर को पास किया जाता है। इसमें ज्यादातर अद्यतन विवरण शामिल है।
बफर मैनेजर
बफर प्रबंधक नीचे मॉड्यूल के लिए मुख्य कार्य का प्रबंधन करता है:
- कैश की योजना बनाएं
- डेटा पार्सिंग: बफर कैश और डेटा स्टोरेज
- गंदा पेज
हम इस खंड में योजना, बफर और डेटा कैश सीखेंगे। हम लेनदेन अनुभाग में डर्टी पेज को कवर करेंगे।
कैश की योजना बनाएं
- मौजूदा क्वेरी प्लान: बफर प्लान स्टोर किए गए प्लान कैश में निष्पादन योजना की जांच करता है। यदि हां, तो क्वेरी प्लान कैश और उससे संबंधित डेटा कैश का उपयोग किया जाता है।
- पहली बार कैश प्लान: मौजूदा प्लान कैश कहां से आता है?
यदि पहली बार क्वेरी निष्पादन योजना चलाई जा रही है और जटिल है, तो इसे प्लेन कैश में स्टोर करना समझ में आता है। जब अगली बार SQL सर्वर को समान क्वेरी मिलेगी तो यह तेजी से उपलब्धता सुनिश्चित करेगा। तो, यह और कुछ नहीं बल्कि क्वेरी ही है जिसे प्लान एक्जीक्यूशन में स्टोर किया जा रहा है अगर इसे पहली बार चलाया जा रहा है।
डेटा पार्सिंग: बफर कैश और डेटा स्टोरेज
बफ़र प्रबंधक आवश्यक डेटा तक पहुँच प्रदान करता है। डेटा कैश में मौजूद है या नहीं, इसके आधार पर दो दृष्टिकोण नीचे संभव हैं:
बफर कैश - सॉफ्ट पार्सिंग:
बफ़र प्रबंधक डेटा कैश में बफ़र में डेटा के लिए दिखता है। यदि मौजूद है, तो यह डेटा क्वेरी एक्ज़ीक्यूटर द्वारा उपयोग किया जाता है। यह प्रदर्शन में सुधार करता है क्योंकि डेटा संग्रहण से डेटा प्राप्त करने की तुलना में कैश से डेटा प्राप्त करते समय I / O ऑपरेशन की संख्या कम हो जाती है।
डेटा संग्रहण - हार्ड पार्सिंग:
यदि आवश्यक डेटा से बफ़र प्रबंधक में डेटा मौजूद नहीं है, तो डेटा संग्रहण में डेटा खोजा जाता है। यदि भविष्य के उपयोग के लिए डेटा कैश में डेटा संग्रहीत भी करता है।
गंदा पेज
इसे लेनदेन प्रबंधक के प्रसंस्करण तर्क के रूप में संग्रहीत किया जाता है। हम लेन-देन प्रबंधक अनुभाग में विस्तार से जानेंगे।
लेन-देन प्रबंधक
लेन-देन प्रबंधक का उपयोग तब किया जाता है जब एक्सेस विधि निर्धारित करती है कि क्वेरी एक गैर-चयन कथन है।
लॉग मैनेजर
- लॉग मैनेजर ट्रांजैक्शन लॉग में लॉग के माध्यम से सिस्टम में किए गए सभी अपडेट का ट्रैक रखता है।
- लॉग्स में ट्रांजेक्शन आईडी और डेटा संशोधन रिकॉर्ड के साथ लॉग्स अनुक्रम संख्या होती है ।
- इसका उपयोग Transaction Committed और Transaction Rollback का ट्रैक रखने के लिए किया जाता है ।
ताला प्रबंधक
- लेन-देन के दौरान, डेटा संग्रहण में संबद्ध डेटा लॉक स्थिति में है। इस प्रक्रिया को लॉक मैनेजर द्वारा नियंत्रित किया जाता है।
- यह प्रक्रिया डेटा स्थिरता और अलगाव सुनिश्चित करती है । जिसे ACID गुण के रूप में भी जाना जाता है।
निष्पादन प्रक्रिया
- लॉग मैनेजर लॉगिंग शुरू करता है और लॉक मैनेजर संबंधित डेटा को लॉक करता है।
- बफ़र कैश में डेटा की प्रतिलिपि बनाए रखी जाती है।
- अपडेट की जाने वाली डेटा की कॉपी लॉग बफर में रखी गई है और डेटा बफर में सभी इवेंट डेटा अपडेट करते हैं।
- जो पेज डेटा को स्टोर करते हैं उन्हें डर्टी पेज भी कहा जाता है ।
- चेकपॉइंट और राइट-अहेड लॉगिंग: यह प्रक्रिया डर्टी पेज से डिस्क तक सभी पेज को रन और मार्क करती है, लेकिन पेज कैश में रहता है। फ़्रीक्वेंसी लगभग 1 रन प्रति मिनट है। लेकिन पृष्ठ को पहले बफ़र लॉग से लॉग फ़ाइल के डेटा पृष्ठ पर धकेल दिया जाता है। इसे राइट अहेड लॉगिंग के रूप में जाना जाता है ।
- आलसी लेखक: गंदा पृष्ठ स्मृति में रह सकता है। जब SQL सर्वर एक बड़ा लोड देखता है और नए लेनदेन के लिए बफर मेमोरी की आवश्यकता होती है, तो यह कैश से डर्टी पेज को मुक्त करता है। यह LRU - Least पर हाल ही में बफर पूल से डिस्क पर पेज की सफाई के लिए Algorithm का उपयोग करता है।
सारांश:
- तीन प्रकार के क्लाइंट सर्वर आर्किटेक्चर मौजूद हैं: 1) साझा मेमोरी 2) टीसीपी / आईपी 3) नामित पाइप
- टीडीएस, सिबेस द्वारा विकसित और अब माइक्रोसॉफ्ट के स्वामित्व में है, एक पैकेट है जो क्लाइंट मशीन से सर्वर मशीन में डेटा ट्रांसफर के लिए नेटवर्क पैकेट में एनकैप्सुलेटेड है।
- रिलेशनल इंजन में तीन प्रमुख घटक होते हैं:
CMD Parser: यह Syntactic और शब्दार्थ त्रुटि के लिए जिम्मेदार है और अंत में एक क्वेरी ट्री जनरेट करता है।
ऑप्टिमाइज़र: ऑप्टिमाइज़र की भूमिका सबसे सस्ती, सर्वश्रेष्ठ लागत प्रभावी निष्पादन योजना को खोजने के लिए है।
क्वेरी एक्ज़ीक्यूटर: क्वेरी एग्ज़िक्यूट एक्सेस एक्सेस विधि कहलाती है और निष्पादन के लिए आवश्यक डेटा लाने वाले लॉजिक के लिए निष्पादन योजना प्रदान करती है।
- तीन प्रकार की फाइलें प्राथमिक फ़ाइल, द्वितीयक फ़ाइल और लॉग फ़ाइलें मौजूद हैं।
- भंडारण इंजन: निम्नलिखित महत्वपूर्ण घटक हैं
पहुँच विधि: यह घटक निर्धारित करता है कि क्वेरी चयन या गैर-चयन कथन है। तदनुसार बफ़र और स्थानांतरण प्रबंधक को आमंत्रित करता है।
बफर मैनेजर: बफर मैनेजर प्लान कैश, डेटा पार्सिंग और डर्टी पेज के लिए मुख्य कार्य करता है।
लेनदेन प्रबंधक: यह प्रबंधक लॉग और लॉक प्रबंधकों की मदद से गैर-चयन लेनदेन है। इसके अलावा, लिखें आगे लॉगिंग और आलसी लेखकों के महत्वपूर्ण कार्यान्वयन की सुविधा।