डेटाबेस सिस्टम structure and architecture (हिंदी में)
कंप्यूटर सिस्टम द्वारा उपयोग किया जाता है जिस पर डेटाबेस सिस्टम चलता है।
• डेटाबेस सिस्टम को केंद्रीकृत या क्लाइंट-सर्वर के रुप मे arrange किया जाता।
• एक डेटाबेस प्रणाली को मॉड्यूल में विभाजित किया जाता है जो overall system की विभिन्न जिम्मेदारियों से निपटता है।
• Functional components broadly उपयोगकर्ताओं, इंटरफ़ेस, query processor components और storage manager में विभाजित होता हैं।
कंप्यूटर सिस्टम द्वारा उपयोग किया जाता है जिस पर डेटाबेस सिस्टम चलता है।
• डेटाबेस सिस्टम को केंद्रीकृत या क्लाइंट-सर्वर के रुप मे arrange किया जाता।
• एक डेटाबेस प्रणाली को मॉड्यूल में विभाजित किया जाता है जो overall system की विभिन्न जिम्मेदारियों से निपटता है।
• Functional components broadly उपयोगकर्ताओं, इंटरफ़ेस, query processor components और storage manager में विभाजित होता हैं।
Primary goal :- डेटाबेस से जानकारी प्राप्त करना और नई जानकारी संग्रहीत करना।
I. सिस्टम उपयोगकर्ता
चार अलग-अलग प्रकार के डेटाबेस-सिस्टम उपयोगकर्ता होते है |
1. Application Programmer
2. Sophisticated Users and Specialized Users::-
3. Database Administrator
4. Naive Users
1. Application Programmer
• कंप्यूटर professionalऔर application programs लिखते है |
• वे DML calls के माध्यम से सिस्टम के साथ इंटरैक्ट करते हैं।
• DML कॉल्स को होस्ट भाषा में लिखे गए प्रोग्राम में एम्बेड किया जाता है (उदाहरण के लिए php, python, c)।
• इन प्रोग्रामों को आमतौर पर एप्लिकेशन प्रोग्राम के रूप में refer किया जाता है।
2. Sophisticated Users and Specialized Users:-
• प्रोग्राम लिखे बिना सिस्टम से इंटरैक्ट करते है ।
• वे एक डेटाबेस क्वेरी भाषा में क्वेरी फॉर्म के रूप में अनुरोध करते हैं।
• प्रत्येक query एक query प्रोसेसर को सबमिट की जाती है।
• query प्रोसेसर डीएमएल स्टेटमेंट को उन निर्देशों में विभाजित करना है जिन्हें स्टोरेज मैनेजर समझता है।
• वे एक analyst की तरह काम करते हैं।
• Typical users, sophisticated users होते हैं जो कंप्यूटर एडेड डिज़ाइन सिस्टम, नॉलेजबेस और specialist सिस्टम आदि जैसे specific डेटाबेस एप्लिकेशन लिखते हैं।
• वे उपयोगकर्ता complex डेटा प्रकारों का उपयोग करते हैं (उदाहरण के लिए, ग्राफिक्स डेटा और ऑडियो डेटा)।
(3) डेटाबेस Administrator (डीबीए)
• सिस्टम पर डीबीए का केंद्रीय नियंत्रण होता है।
• निम्नलिखित कार्यों के लिए जिम्मेदार:
(i) स्कीमा डिजाइन और रखरखाव,
(ii) भौतिक स्कीमा और organization modification,
(iii) Authority and Security,
(iv) Integrity Barrier Specification,
(v)recovery from failure,
(vi) डेटाबेस अपग्रेडेशन
(4) naive उपयोगकर्ता
• naive उपयोगकर्ता rough उपयोगकर्ता हैं।
• पहले लिखे गए स्थायी एप्लिकेशन प्रोग्राम द्वारा सिस्टम के साथ इंटरैक्ट करते है ।
• उदाहरण के लिए, टिकट बुकिंग विंडो पर क्लर्क, वह एक यात्री के लिए आरक्षण करने का अपना काम करने के लिए एक reservation कार्यक्रम का उपयोग करता है।
Query प्रोसेसर:
• एक Query प्रोसेसर डेटाबेस सिस्टम मे डेटा एक्सेस को सरल और सुविधाजनक बनाने में मदद करता है।
• सिस्टम उपयोगकर्ताओं को सिस्टम के कार्यान्वयन के physical details जानने की आवश्यकता नहीं है।
• updates की Quick processing।
• Query, non-procedural भाषा में logical "स्तर" पर लिखे जाते हैं।
• परिणाम physical level पर operations एक efficient क्रम में संग्रहीत किए जाते हैं।
Query Processor Components: -
इन Components का उपयोग डीडीएल और डीएमएल Query के मूल्यांकन में किया जाता है। य़े हैं:-
(i) डीडीएल interpreter
• डीडीएल स्टेटमेंट की व्याख्या करता है और डेटा डिक्शनरी में परिभाषाओं को मेटाडेटा के रूप में संग्रहीत करता है।
(ii) डीएमएल Query
• डेटाबेस Query language में Sophisticated or specific उपयोगकर्ता के अनुरोध।
• प्रत्येक Query को एक Query टूल में सबमिट किया जाता है
• Query टूल इसे DML Queries और low-level निर्देशों में विभाजित करते हैं।
• इन्हें आगे की प्रक्रिया के लिए डीएमएल कंपाइलर और ऑर्गनाइज़र, और Query मूल्यांकन (evaluation) इंजन को भेजा जाता है।
(iii) डीएमएल कंपाइलर और Organizer
• डीएमएल कॉल आमतौर पर एकspecial character / कोड द्वारा शुरू की जाती हैं ताकि उपयुक्त कोड उत्पन्न किया जा सके।
• एक विशेष प्रीप्रोसेसर, जिसे डीएमएल प्रीकंपाइल कहा जाता है, डीएमएल स्टेटमेंट को होस्ट भाषा में सामान्य प्रक्रिया कॉल में परिवर्तित करता है।
• परिणामी प्रोग्राम तब होस्ट-भाषा कंपाइलर के माध्यम से चलाया जाता है, जो उपयुक्त ऑब्जेक्ट कोड उत्पन्न करता है (निम्न-स्तरीय निर्देशों का एक सेट जिसे Query मूल्यांकन इंजन द्वारा उपयोग किया जा सकता है।)
(iv) एप्लीकेशन प्रोग्राम ऑब्जेक्ट कोड
• यह एप्लिकेशन प्रोग्राम में एम्बेडेड डीएमएल स्टेटमेंट को होस्ट भाषा में सामान्य प्रक्रिया कॉल में परिवर्तित करता है।
• ये pre-compilers appropriate कोड उत्पन्न करने के लिए डीएमएल Compiler से परामर्श करते हैं
(v) कंपाइलर और लिंकर: -
• एप्लीकेशन प्रोग्रामर प्रोग्राम एप्लीकेशन लिखता है।
• Source कोड डीएमएल queries के लिए कंपाइलर और लिंकर लिंक किए गए एप्लिकेशन प्रोग्राम ऑब्जेक्ट कोड द्वारा compile करते हैं और इसे Query इवोल्यूशन इंजन को भेजते हैं।
(iv) Query मूल्यांकन इंजन (Query Evaluation Engine:-)
• एक Query का आमतौर पर कई वैकल्पिक मूल्यांकन योजनाओं में अनुवाद किया जा सकता है जो सभी एक ही परिणाम देते हैं।
• DML कंपाइलर Query ऑप्टिमाइजेशन भी करता है, यानी यह विकल्पों में से न्यूनतम लागत मूल्यांकन योजना चुनता है।
• यह component sql Query की व्याख्या और executing के लिए जिम्मेदार है।
• इसमें तीन प्रमुख घटक होते हैं
कंपाइलर: - SQL स्टेटमेंट से डेटा स्ट्रक्चर बनाता है और फिर Query पर सिमेंटिक चेकिंग करता है जैसे कि टेबल मौजूद है, फील्ड 'मौजूद है, आदि।
ऑप्टिमाइज़र :- प्रारंभिक Query प्लान (कंपाइलर द्वारा बनाई गई डेटा संरचना) को संचालन के अनुक्रम में बदल देता है, आमतौर पर तेजी से निष्पादन प्राप्त करने के लिए एक साथ पाइपलाइन किया जाता है।
यह डेटा के बारे में संग्रहीत मेटाडेटा (शब्दकोश) और सांख्यिकीय जानकारी को संदर्भित करता है ताकि यह तय किया जा सके कि संचालन का कौन सा क्रम तेज होने की संभावना है और इसके आधार पर यह optimal Query योजना बनाता है। लागत और नियम आधारित optimizers दोनों का उपयोग किया जाता है।
• निष्पादन इंजन - ऑप्टिमाइज़र द्वारा चुनी गई Query योजना में प्रत्येक चरण को निष्पादित करता है।
यह रिकॉर्ड को पुनः प्राप्त करने और संग्रहीत करने के लिए रिलेशन इंजन के साथ इंटरैक्ट करता है।
Storage Manager:
• storage Manager एक प्रोग्राम मॉड्यूल है जो डेटाबेस में संग्रहीत low-level डेटा और सिस्टम को सबमिट किए गए एप्लिकेशन प्रोग्राम और queries के बीच इंटरफ़ेस प्रदान करता है।
• भंडारण प्रबंधक फ़ाइल प्रबंधक के साथ बातचीत के लिए जिम्मेदार है।
• अपरिष्कृत डेटा फ़ाइल सिस्टम का उपयोग करके डिस्क पर संग्रहीत किया जाता है, जो आमतौर पर एक पारंपरिक ऑपरेटिंग सिस्टम द्वारा प्रदान किया जाता है।
• स्टोरेज मैनेजर विभिन्न डीएमएल स्टेटमेंट्स को लो-लेवल फाइल सिस्टम कमांड में ट्रांसलेट करता है।
• storage Manager डेटाबेस में डेटा को storing, retrieving and updating करने के लिए जिम्मेदार है।
• कॉर्पोरेट डेटाबेस (जो सौ गीगाबाइट से लेकर टेराबाइट डेटा तक हो सकता है) को संग्रहीत करने के लिए बड़ी मात्रा में storage space की आवश्यकता होती है और इस storage Manager को manage करने की आवश्यकता होती है।
• डेटा को आवश्यकता के अनुसार डिस्क स्टोरेज और मेन मेमोरी के बीच ट्रांसफर करना है क्योंकि कंप्यूटर की मुख्य मेमोरी इतनी अधिक जानकारी को स्टोर नहीं कर सकती है।
Storage Manager Components-
(i) फाइल मैनेजर
• यह डिस्क space allocation और डेटा को संग्रहीत करने के लिए उपयोग की जाने वाली डेटा संरचनाओं का manages करता है।
• फ़ाइल प्रबंधक फ़ाइल के डिस्क pages को भौतिक रूप में डिस्क पर मेमोरी pages पर maps करता है और "बफर मैनेजर मॉड्यूल द्वारा" उत्पन्न प्रमुख दोषों के मामले में वास्तविक डिस्क I/O संचालन करता है।
(ii) बफर मैनेजर
• बफर मैनेजर डिस्क से मुख्य मेमोरी में पृष्ठों (लाने) को लोड करने और कम से कम हाल ही में प्रयुक्त (एलआरयू) एल्गोरिदम के आधार पर बफर पूल के प्रबंधन और एप्लिकेशन के लिए appropriate caching strategy तय करने के लिए जिम्मेदार है।
• यह डेटाबेस सिस्टम का एक महत्वपूर्ण हिस्सा है, यह डेटाबेस को उन डेटा आकारों को संभालने में सक्षम बनाता है जो मुख्य मेमोरी के आकार से काफी बड़े होते हैं, इसके लिए नियंत्रण जानकारी संग्रहीत करने के लिए एक special-purpose allocator होता है, जो क्षणिक होता है।
• बफर पूल मेमोरी स्पेस है जिसका उपयोग बफर मैनेजर द्वारा रिकॉर्ड, इंडेक्स जानकारी, मेटाडेटा जानकारी से जुड़े डिस्क पेज को कैश करने के लिए किया जाता है।
• कुछ डेटाबेस सिस्टम में व्यक्तिगत स्तर पर स्थान सीमा होती है और कुछ वैश्विक स्तर पर बफर पूल आकार के लिए।
(iii) Transaction Manager
• Transaction Manager , transaction objects बनाता है और उनकी atomicity और स्थायित्व का प्रबंधन करता है।
• एप्लिकेशन Transaction Manager की calling the initialize transaction method के निर्माण की रिक्वेस्ट करते हैं।
• जब कोई resource manager पहली बार किसी transaction में participates करता है, तो इन transactions को सूचीबद्ध करने के लिए सूचीबद्ध विधि को कॉल करता है।
• Transaction Manager उन सभी resource managers को ट्रैक करता है जो Transaction में शामिल होते हैं।
• यह सुनिश्चित करता है कि सिस्टम failures के बावजूद डेटाबेस एक सुसंगत (सही) (consistent)state में बना रहे और concurrent transaction execution बिना किसी conflicts के आगे बढ़े।
निम्नलिखित तीन परिणामों में से एक हो सकता है:
1. application या तो transaction करता है या बंद कर देता है।
2. एक resource manager लेन-देन को रोकता है।
3. एक failure occurs होती है।
(iv) Authority and Integrity Manager
• यह प्रबंधक केवल authorized उपयोगकर्ताओं को डेटाबेस या उसके हिस्से तक पहुंच प्रदान करने और unauthorized उपयोगकर्ताओं तक पहुंच को रोकने के लिए जिम्मेदार है।
• यह अखंडता बाधाओं (integrity constraints ) की संतुष्टि के लिए टेस्ट करता है और डेटा तक पहुंचने के लिए उपयोगकर्ताओं के अधिकार की जांच करता है।
• यह डीबीए द्वारा specified सभी integrity constraints और अथॉरिटी नियमों का उपयोग करता है।
• Integrity प्रबंधक को सामान्य डेटाबेस संचालन के साथ-साथ डेटाबेस failures के दौरान डेटा integrity का assure देना चाहिए-
डिस्क संग्रहण (Disk Storage )
• एक डीबीएमएस डिस्क storage के रूप में physical system implementation के एक भाग के रूप में कई प्रकार की डेटा संरचनाओं का उपयोग कर सकता है।
• प्रत्येक संरचना का अपना महत्व है।
• कुछ सामान्य डेटा संरचनाएं निम्नलिखित हैं।
• डेटाबेस में सभी प्रकार के डेटा को स्टोर करने के लिए डिस्क स्टोरेज केंद्रीय भंडार है।
(i) डेटा
• यह डेटाबेस को डेटा फ़ाइलों में डिस्क पर ही संग्रहीत करता है।
(ii) डेटा डिक्शनरी
• डेटाबेस, मेटाडेटा में निहित डेटा की संरचना और उपयोग से संबंधित जानकारी को डेटा डिक्शनरी में रखा जाता है।
• डेटा डिक्शनरी एक डेटाबेस ही है, डेटा का डॉक्यूमेंटेशन करता है।
• प्रत्येक डेटाबेस यूजर डेटा डिक्शनरी से consult कर सकता है कि डेटा के प्रत्येक पीस और डेटा फ़ील्ड के विभिन्न synonyms शब्द का क्या अर्थ है।
• एक सिस्टम में डेटा डिक्शनरी DBMS (एकीकृत सिस्टम) का हिस्सा है, डेटा डिक्शनरी प्रत्येक डेटा-फ़ील्ड वैल्यू के स्रोत, इसके उपयोग की फ्रीक्वेंसी , और अपडेट से संबंधित ऑडिट ट्रेल (खाते का सत्यापन) से संबंधित जानकारी संग्रहीत करता है, जिसमें शामिल हैं प्रत्येक अपडेट किसने और कब किया।
• वर्तमान में डेटा डिक्शनरी सिस्टम डीबीएमएस में ऐड-ऑन के रूप में उपलब्ध हैं।
डेटा डिक्शनरी स्टोर करता है:
• relationsके नाम
• प्रत्येक relations के ऐट्रिब्यूट्स के नाम
• डोमेन, और attributes की लंबाई
• डेटाबेस पर डिफाइन व्यूज के नाम और उन व्यूज की डेफिनिशन।
• authorized users के नाम - ,
• useres बारे में accounting जानकारी
• प्रत्येक relations में टुपल्स की संख्या
• प्रत्येक relations के लिए उपयोग की जाने वाली स्टोरेज की विधि
• इंडेक्स का नाम
• इंडेक्स किए जा रहे relations का नाम
• Attributes जिन पर इंडेक्स डिफाइन कि गयी है
• formed इंडेक्स का प्रकार
(iii) Index
• इंडेक्स , जो डेटा items तक तेजी से पहुंच प्रदान कर सकते हैं।
• एक डेटाबेस इंडेक्स उन डेटा आइटम्स को पॉइंटर्स प्रदान करता है जो एक विशेष मूल्य रखते हैं।
• हैशिंग इंडेक्सिंग का एक विकल्प है जो कुछ मामलों में तेज है लेकिन सभी मामलों में नहीं।
(iv) Statistical data
• यह डेटाबेस में संग्रहीत डेटा के बारे में सांख्यिकीय जानकारी संग्रहीत करता है, जैसे एक टेबल में कई रिकॉर्ड, ब्लॉक आदि।
• इस जानकारी का उपयोग किसी query को कुशलतापूर्वक execute करने के लिए किया जा सकता है।
=================================================
0 Comments