सीधे मुख्य सामग्री पर जाएं

Query Optimization in hindi - computers in hindi 

 आज हम computers in hindi मे query optimization in dbms (क्वैरी ऑप्टीमाइजेशन) के बारे में जानेगे क्या होता है और क्वैरी ऑप्टीमाइजेशन (query optimization in dbms) मे query processing in dbms और query optimization in dbms in hindi और Measures of Query Cost  के बारे मे जानेगे तो चलिए शुरु करते हैं- 

Query Optimization in dbms (क्वैरी ऑप्टीमाइजेशन):-

Optimization से मतलब है क्वैरी की cost को न्यूनतम करने से है । किसी क्वैरी की cost कई factors पर निर्भर करती है । query optimization के लिए optimizer का प्रयोग किया जाता है । क्वैरी ऑप्टीमाइज़र को क्वैरी के प्रत्येक operation की cos जानना जरूरी होता है । क्वैरी की cost को ज्ञात करना कठिन है । क्वैरी की cost कई parameters जैसे कि ऑपरेशन के लिए उपलब्ध memory , disk size आदि पर निर्भर करती है । query optimization के अन्दर क्वैरी की cost का मूल्यांकन ( evaluate ) करने का वह प्रभावी तरीका चुना जाता है जिसकी cost सबसे कम हो । अतः query optimization एक ऐसी प्रक्रिया है , जिसमें क्वैरी अर्थात् प्रश्न को हल करने का सबसे उपयुक्त तरीका चुना जाता है । परन्तु यह आवश्यक नहीं है कि चुना गया तरीका ही best होगा , क्योंकि क्वैरी को हल करने के कई तरीके हो सकती हैं ।
Query Optimization in hindi - computers in hindi

query processing in dbms:-

query optimization की आवश्यकता तब होती है , जब किसी क्वैरी को execute किया जाता है । जब किसी क्वैरी को execute किया जाता है तो उसका परिणाम आने तक या क्वैरी के समाप्त होने तक की प्रक्रिया को क्वैरी प्रोसेसिंग  (query processing in dbms) कहा जाता है । query processing  में कई steps होते हैं , जिसमें ऑप्टीमाइज़ेशन एक step है ।
 query optimization एक ऐसी प्रक्रिया है जिसमें क्वैरी की प्रोसेसिंग के लिए कई सारे plans में से सबसे अधिक प्रभावी क्वैरी evaluation plan को चुना जाता है । यह सिस्टम का कार्य होता है कि उसके द्वारा ऐसा query evaluation plan चुना जाए जो क्वरी evaluation की cost न्यूनतम करे।

इसके अन्तर्गत मुख्यत : दो बिन्दुओं को ध्यान में रखकर कार्य किया जाता है तथा यह डाटाबेस मैनेजमेंट सिस्टम (DBMS) 
 पर निर्भर होता है कि वह कौनसा तरीका चुने  प्रथम यह है कि सर्वश्रेष्ठ plan चुनने में लगा समय तथा दूसरा यह कि वह plan रन होने पर कितना समय लेगा । इसके लिए क्वैरी ऑप्टीमाइज़र का प्रयोग किया जाता है ।

 कई प्रकार के क्वैरी ऑप्टीमाइज़र होते हैं तथा वे उनकी निर्धारित कार्य करते हैं । जैसे cost based query optimizer ( लागत आधारित प्रश्न अनुकूलन ) उपलब्ध संसाधनों जैसे कि processor time , disk storage , disk buffer space आदि को देखकर उपयुक्त तरीका चुनता है । 
ऑप्टीमाइज़र के द्वारा इनीशियल पार्स ट्री को स्वीकार किया जाता है । ऑप्टीमाइज़र द्वारा उपयुक्त एक्जीक्यूशन plan को चुनने के लिए ऑप्टीमाईजेशन की प्रक्रिया को प्रारम्भ किया जाता है ।

Query processing in dbms (क्वैरी प्रोसेसिंग के चरण):-

 क्वैरी के रन होने की प्रक्रिया को क्वैरी प्रोसेसिंग ( query processing) कहा जाता है । यह क्वैरी के द्वारा की जाने वाली प्रक्रिया का एक समूह होता है जिसमें प्रत्येक कार्य को एक step के रूप में किया जाता है । यह एक प्रकार की ऐसी गतिविधि है जो कि डेटाबेस से डेटा को प्राप्त करने के लिए की जाती है । आन्तरिक DML कम्पाईलर का प्रयोग क्वैरी को बाहर के लेवल से प्राप्त करने के लिए किया जाता है । DML प्रि - कम्पाईलर का प्रयोग क्वैरी को किसी भी इंटरफेस से प्राप्त करने के लिए किया जाता है । query processing में निम्नलिखित गतिविधियां सम्मिलित होती हैं 
1. किसी भी client मशीन से user लेवल पर जब select स्टेटमेन्ट एक्जीक्यूट होता है तो इस क्वैरी को physical लेवल पर translate किया जाता है । इसके अन्तर्गत क्वैरी को रिलेश्नल एलजेब्रा में बदला जाता है ।
2. इसके पश्चात् query optimizaer के द्वारा क्वैरी के लिए सर्वश्रेष्ठ एक्जीक्यूशन प्लान चुना जाता है । 
3. इसके पश्चात् निम्नलिखित Steps की पालना की जाती है 
a . Parsing 
b . Optimization 
c . Evaluation

(A) Parsing :-

 query processing के इस step में दी गई क्वैरी को डेटाबेस के आन्तरिक प्रारूप में बदला जाता है । यह कार्य parsing के द्वारा किया जाता है , यह कम्पाईलर की भांति ही कार्य करता है । इसके लिए parsing सर्वप्रथम क्वैरी के सिन्टैक्स की जांच करता है कि सिन्टैक्स में कोई गलती तो नहीं हैं । सिन्टैक्स जांचने के   बाद टेबल में रिलेशन प्रयोग किए जा रहे हैं तो उन रिलेशन्स की जांच की जाती है कि वे सही हैं या नहीं , बाद  क्वैरी में प्रयोग किए जाने वाले समस्त एट्रीब्यूट्स के नामों की जांच की जाती है । इसके बाद जिस जिस ऑब्जेक्ट के साथ कार्य करना है , की permmission की जांच की जाती है । इसके पश्चात क्वैरी को रिलेश्नल एलजेब्रा में बदला जाता है।

(B) Optimization:-

ऑप्टीमाइज़र के द्वारा इनीशियल पार्स ट्री को स्वीकार किया जाता है । ऑप्टीमाइज़र द्वारा उपयुक्त एक्जीक्यूशन प्लान को चुनने के लिए ऑप्टीमाईजेशन की प्रक्रिया को प्रारम्भ किया जाता है । ऑप्टीमाइज़ेशन दो भागों में पूर्ण किया जाता है-

Types of optimization :-

1. Implictly 
2. Explicitly 
Implicitly के अन्तर्गत ऑप्टीमाइजेशन स्वयं डेटाबेस इंजन के द्वारा नियंत्रित किया जाता है , जबकि explicitly में क्वैरी के अन्तर्गत ऑप्टीमाइज़ेशन को संकेत के रूप में दिया जाता है । 

उदाहरण के तौर पर मान लीजिए कि किसी बैंक में कार्यरत कर्मचारियों की जानकारी बैंक के द्वारा bankemp नामक डेटाबेस में संग्रहित की जाती है रिलेश्नल एल्जेब्रा । यदि ऐसे कर्मचारियों को लिस्ट की आवश्यकता हो जिनकी salary 25,000 से अधिक हो तो ऐसे में दो स्थितियां उत्पन्न होंगी । प्रथम स्थिति यह होगी कि डेटाबेस में सचिंग का कार्य फाईल के प्रारम्भ में किया जाए ऐसे में यह आवश्यक नहीं है कि 25.000 की salary वाले समस्त रिकॉई एक साथ ही हों । अत : सर्चिग का कार्य फाईल के प्रारम्भ से अन्त तक किया जाएगा । इसके अतिरिक्त दूसरी स्थिति में सर्वप्रथम डेटाबेस को salary के आधार पर sort कर लिया जाए तथा उसके पश्चात् 25.000 की salary वाले सभी रिकॉइंस एक के बाद होंगे ऐसे में सर्चिग को फाईल के प्रारम्भ से रिकॉर्ड मिलने तक ही किया जाएगा फाईल के अन्त तक नहीं । ऐसी स्थिति में दूसरी विधि का प्रयोग किया जाएगा क्योंकि इसमें सचिंग में समय कम लगेगा तथा इसकी क्वैरी कॉस्ट भी न्यून होगी ।

(C) Evaluation :-

query processing में ऑप्टीमाइजेशन के बाद इवैल्यूएशन का कार्य किया जाता है । इसके अतर्गत रिलेश्नल एल्जेब्रा एक्सप्रेशन को मूल्यांकित करने के लिए इसे निर्देशों के साथ समझाया जाता है । इसे relation primitive कहा जाता है । वास्तव में यह क्वैरी के प्रत्येक step विस्तार से व्याख्या करता है । प्रिमिटिव ऑपरेशन्स की श्रेणियां जो कि क्वैरी का मूल्यांकन करने के लिए प्रयोग की जाती हैं , को क्वैरी प्लान या क्वैरी मूल्यांकन प्लान कहा जाता है । अलग - अलग क्वैरी प्लान की कॉस्ट भी अलग - अलग होती है । यह सिस्टम का दायित्व होता है कि वह क्वैरी के लिए सबसे उत्तम प्लान का निर्माण व प्रयोग करे , क्योंकि क्वैरी ऑप्टीमाइज़ेशन क्वैरी के लिए सर्वश्रेष्ठ प्लान चुनने की प्रक्रिया है । ऑप्टीमाइज़र के द्वारा क्वैरी के लिए उपलब्ध समस्त प्लान की कॉस्ट ज्ञात करके उनमें तुल्ना की जाती है । जिस प्लान की कॉस्ट सबसे कम होती है वह ऑप्टीमाइज़र के द्वारा चुना जाता है जो कि डेटा को प्राप्त करने के लिए एक्जीक्यूट किया जाता है ।
query processing in dbms - computers in hindi


Measures of Query Cost(क्वैरी कॉस्ट के मापक) :-

जब user  के द्वारा किसी क्वैरी को रन किया जाता है तो सर्वप्रथम उनले सिन्टैक्स व रिलेशन्स आदि की जांच होती है , जिसे parsing and checking कहा जात है । उसके पश्चात् क्वैरी को execute करने के लिए अलग - अला execution plans निकाले जाते हैं तथा best execution plan को अपनाकर क्वैरी को execute किया जाता है । किसी ववैरी को execute करने से पहले क्वैरी का मूल्यांकन किया जाता है । क्वैरी मूल्यांकन के लिए कई plans हो सकते हैं । प्रत्येक plan को cont निकालकर यह जांचा जाता है किस plan की cost सबसे कम है । कई तरीकों ( plans ) को उनकी cost के अनुसार उत्तम या मध्यम माना जाता है । जो तरीका ( plan ) सबसे अधिक उत्तम होता है उसी तरीके ( plan ) से क्वैरी को execute किया जाता है ताकि कम से कम समय व कम नेटवर्क cost में user के result अथवा आउटपुट मिल जाए । इन विभिन्न प्रकार के plans की cost ज्ञात करने को measure of query cost कहा जाता है ।
किसी क्वैरी के मूल्यांकन के लिए अर्थात् उसे क्रियान्वित होने के अलग - अलग plans की cost ज्ञात करने के लिए उपलब्ध कई resources जैस कि disk accesses , CPU time for execution , cost of communication आदि को भी ध्यान में रखा जाता है , संसाधनों की उपलब्धि की भी cost घटाने या बढ़ाने में अहम भूमिका होती है । संसाधनों की कमी होने पर क्वैरी की cost अधिक हो सकती है । क्वैरी की cost से तात्पर्य उस क्वैरी के अनुसार डेटा या परिणाम देने में लगने वाले समय से होता है ।
क्वैरी मूल्यांकन के तरीकों में क्वैरी की estimate cost ज्ञात करने के लिए number of block transfer from disk तथा number of disk seeks का प्रयोग किया जाता है । यदि डिस्क का sub - system डेटा के एक ब्लॉक को स्थानान्तरित ( transfer ) करने के लिए 1 , सैकण्ड्स का औसतन समय लेता है , तथा यदि उसका औसतन block access time 1 सैकण्ड्स है तो यह operation b*tT+S*ts सैकण्ड्स का समय लेगा । इसे निम्नलिखित तरीके से भी समझा जा सकता है 
tT - time to transfer one block 
Ts - time for one seek ( block Access )
 Cost for b block transfers plus S seeks
 b * tT + S*ts
उपरोक्तं तरीके से क्वैरी की cost ज्ञात की जाती है । सभी plans से ज्ञात की जाने वाली cost मुख्य मैमोरी के buffer size पर निर्भर करती है क्योंकि मुख्य मैमोरी के buffer से ही डेटा को लिया जाता है । यदि उसमें खाली जगह कम है तो कुछ मात्रा में डेटा buffer में होता है तथा बाकी के डेटा को डिस्क से  access किया जाता है जिसमें प्राय : अधिक समय लगता है । क्वैरी cost में सबसे अच्छी स्थिति वह मानी जाती है जब सम्पूर्ण डेटा buffer मैमोरी में हो तथा सबसे बुरी स्थिति वह मानी जाती है जिसमें buffer में कम डेटा हो । किसी क्वैरी की cost को हमेशा बुरी स्थिति के अनुसार ही ज्ञात किया जाता है ।




टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

Recovery technique in dbms । रिकवरी। recovery in hindi

 आज हम Recovery facilities in DBMS (रिकवरी)   के बारे मे जानेगे रिकवरी क्या होता है? और ये रिकवरी कितने प्रकार की होती है? तो चलिए शुरु करतेे हैं- Recovery in hindi( रिकवरी) :- यदि किसी सिस्टम का Data Base क्रैश हो जाये तो उस Data को पुनः उसी रूप में वापस लाने अर्थात् उसे restore करने को ही रिकवरी कहा जाता है ।  recovery technique(रिकवरी तकनीक):- यदि Data Base पुनः पुरानी स्थिति में ना आए तो आखिर में जिस स्थिति में भी आए उसे उसी स्थिति में restore किया जाता है । अतः रिकवरी का प्रयोग Data Base को पुनः पूर्व की स्थिति में लाने के लिये किया जाता है ताकि Data Base की सामान्य कार्यविधि बनी रहे ।  डेटा की रिकवरी करने के लिये यह आवश्यक है कि DBA के द्वारा समूह समय पर नया Data आने पर तुरन्त उसका Backup लेना चाहिए , तथा अपने Backup को समय - समय पर update करते रहना चाहिए । यह बैकअप DBA ( database administrator ) के द्वारा लगातार लिया जाना चाहिए तथा Data Base क्रैश होने पर इसे क्रमानुसार पुनः रिस्टोर कर देना चाहिए Types of recovery (  रिकवरी के प्रकार ):- 1. Log Based Recovery 2. Shadow pag

window accessories kya hai

  आज हम  computer in hindi  मे window accessories kya hai (एसेसरीज क्या है)   -   Ms-windows tutorial in hindi   के बारे में जानकारी देगे क्या होती है तो चलिए शुरु करते हैं- window accessories kya hai (एसेसरीज क्या है)  :- Microsoft Windows  कुछ विशेष कार्यों के लिए छोटे - छोटे प्रोग्राम प्रदान करता है इन्हें विण्डो एप्लेट्स ( Window Applets ) कहा जाता है । उनमें से कुछ प्रोग्राम उन ( Gadgets ) गेजेट्स की तरह के हो सकते हैं जिन्हें हम अपनी टेबल पर रखे हुए रहते हैं । कुछ प्रोग्राम पूर्ण अनुप्रयोग प्रोग्रामों का सीमित संस्करण होते हैं । Windows में ये प्रोग्राम Accessories Group में से प्राप्त किये जा सकते हैं । Accessories में उपलब्ध मुख्य प्रोग्रामों को काम में लेकर हम अत्यन्त महत्त्वपूर्ण कार्यों को सम्पन्न कर सकते हैं ।  structure of window accessories:- Start → Program Accessories पर click Types of accessories in hindi:- ( 1 ) Entertainment :-   Windows Accessories  के Entertainment Group Media Player , Sound Recorder , CD Player a Windows Media Player आदि प्रोग्राम्स उपलब्ध होते है