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

Featured Post

verification in hindi - वेरिफिकेशन

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 को हमेशा बुरी स्थिति के अनुसार ही ज्ञात किया जाता है ।




टिप्पणियाँ

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

foxpro commands in hindi

आज हम computers in hindi मे  foxpro commands  क्या होता है उसके कार्य के बारे मे जानेगे?   foxpro all commands in hindi  में  तो चलिए शुरु करते हैं-   foxpro commands in hindi:-  (1) Clear command in foxpro in hindi:-  इस  command  का प्रयोग  foxpro  की main स्क्रीन ( जहां रिकॉर्ड्स / Output प्रदर्शित होते हैं ) को Clear करने के लिए किया जाता है ।  (2) Modify Structure in foxpro in hindi :-  इस  command  का प्रयोग वर्तमान प्रयुक्त  डेटाबेस  फाईल के स्ट्रक्चर में आवश्यक परिवर्तन करने के लिए किया जाता है । इसके द्वारा नये फील्ड भी जोड़े जा सकते हैं तथा पुराने फील्ड्स को हटाया व उनके साईज़ में भी परिवर्तन किया जा सकता है ।  (3) Rename in foxpro in hindi :-  इस  command  के द्वारा किसी  database  file का नाम बदला जा सकता है जिस फाईल को Rename करना हो वह मैमोरी में खुली नहीं होनी चाहिए ।   Syntax : Rename < Old filename > to < New filename >  Foxpro example: -  Rename Student.dbf to St.dbf (4) Copy file in foxpro in hindi :- इस command के द्वारा किसी एक डेटाबेस फाईल के रिकॉ

foxpro data type in hindi । फॉक्सप्रो

 आज हम computers in hindi मे फॉक्सप्रो क्या है?  Foxpro data type in hindi  कार्य के बारे मे जानेगे? How many data types are available in foxpro?    में  तो चलिए शुरु करते हैं-    How many data types are available in foxpro? ( फॉक्सप्रो में कितने डेटा प्रकार उपलब्ध हैं?):- FoxPro में बनाई गई डेटाबेस फाईल का एक्सटेन्शन नाम .dbf होता है । foxpro data type in hindi (फॉक्सप्रो डेटा प्रकार) :- Character data type Numeric data type Float data type Date data type Logical data type Memo data type General data type 1. Character data type :- Character data type  की फील्ड में अधिकतम 254 Character store किये जा सकते हैं । इस टाईप की फील्ड में अक्षर जैसे ( A , B , C , .......Z ) ( a , b , c , ...........z ) तथा इसके साथ ही न्यूमेरिक अंक ( 0-9 ) व Special Character ( + , - , / . x , ? , = ; etc ) आदि भी Store करवाए जा सकते हैं । इस प्रकार की फील्ड का प्रयोग नाम , पता , फोन नम्बर , शहर का नाम , पिता का नाम , माता का नाम आदि संग्रहित करने के लिए किया जाता है । 2. Numeric data type :- Numeric da

Management information system (MIS in hindi)

What is Management Information Systems (MIS) in hindi ? Introduction to management information system (MIS in hindi):-  बिजनेस प्रॉब्लम का समाधान प्राप्त करने के लिए युजर, तकनीक और प्रॉसीजर (procedure) एक साथ मिलकर  कार्य करते हैं। यूूूूजर तकनीक और प्रॉसीजर के सकलन को Information system  कहते हैं।   management information system definition :- जब इनफॉर्मेशन सिस्टम में निहित सभी भाग एक अनुशासन (Discipline) विधि से किसी बिजनेस प्रॉब्लम को हल करते हैं तो इस प्रक्रिया को Management information system ( MIS in hindi ) कहते हैं।   MIS कोई नवीन व्यवस्था नहीं है, कंप्यूटर के आगमन से पूर्व व्यवसाय की गतिविधियों का योजना निर्धारण और नियन्त्रण करने का कार्य इसी प्रकार की MIS विधि से ही सम्पन्न किया जाता था।  कंप्यूटर ने इस MIS व्यवस्था में नवीन आयामों  जैसे, गति (speed), शुद्धता (accuracy) और वृहद मात्रा में डेटा समापन को भी सम्मिलित कर दिया गया है। management, Information और system    को कंप्यूटर की सहायता से मिश्रित व्यावसायिक गतिविधियों को सम्पन्न किया जाता है।  किसी ऑर्गेनाइजेशन की ऑ