DBMS Architecture क्या है?
Database management system एक software है जिसका उपयोग किसी database को तैयार करने, उसे देखने या उसमें modify करने के लिए किया जाता है। DBMS का उपयोग करके database को update किया जा सकता है और उसमें संग्रहित डाटा को पुनः प्राप्त किया जा सकता है।
i) Data Definition Language (DDL):
Database management system का मुख्य घटक DDL होता है, जिसका उपयोग किसी object को define करने के लिए किया जाता है।
इसका प्रयोग table के लिए structure तैयार करने Database Design and Rdoms (ORACLE) या उसमें modification करने और database के लिए object तैयार करने के लिए किया जाता है।
किसी table को delete करने के लिए या किसी प्रकार का परिवर्तन करने के लिए भी Data Definition Language का उपयोग किया जाता है।
ii) DDL Compiler:
DLL compiler का उपयोग किसी data definition statement को table में बदलने के लिए और table में जानकारियों को संग्रहित करने के लिए किया जाता है। जिसका उपयोग DBMS के दूसरे component के द्वारा भी किया जा सकता है।
iii) Data Manipulation Language (DML):
यह एक ऐसी computer programming भाषा है जिसक प्रयोग database में data को insert करने, delete करने या उसे update करने के लिए किया जाता हैं।
DBMS के द्वारा data manipulation language की सुविधा उपलब्ध कराई जाती है जो उपयोगकर्ता को database को पुनः प्राप्त करने या उसे जोड़-तोड़ करने की सुविधा प्रदान करता है।
जिस statement का प्रयोग जानकारियों को पुनः प्राप्त करने के लिए किया जाता है उसे query कहा जाता है और DML का वह भाग जिसका प्रयोग जानकारियों को पुनः प्राप्त करने के लिए किया जाता है उसे query language कहा जाता है।
इसे भी पढ़े -
What are the different types of DBMS users? | DBMS उपयोगकर्ताओं के विभिन्न प्रकार क्या हैं?
वर्तमान में सबसे प्रसिद्ध DML भाषा है, SQL (Structure Query Language), जिसका प्रयोग संबंधित database में data को manipulate करने के लिए किया जाता है।
DML दो प्रकार के होते हैं:
- a) Procedural DML
- b) Non-Procedural DML
a) Procedural DML:
Procedural DML में, उपयोगकर्ता के द्वारा data को access करने की विधि को निर्धारित किया जाता है जिससे database में data को प्राप्त किया जा सके।
b) Non-procedural DML:
इसमें उपयोगकर्ता को data कैसे प्राप्त करना है, इसकी प्रक्रिया को परिभाषित करने की आवश्यकता नहीं होती है। इसमें केवल जिस data को access करना होता है, उसे निर्धारित किया जाता है।
iv) DML Precompiler:
DML statement जिसका उपयोग किसी application program या normal procedural को call करने में करते हैं, उसे DML precompiler, host language में convert करता है साथ ही इस language के द्वारा data को manipulate भी किया जाता है। DML को query processor के साथ interact करना होता है, जिससे code generate किया जा सके।
(v) File Manager:
इसका कार्य किसी disk के लिए निर्धारित भंडारण स्थान को allocate करना होता है । Data structure जिसका उपयोग करके किसी information को disk पर संग्रहित किया जाता है, उसका प्रतिनिधित्व करने के लिए file manager का उपयोग किया जाता है।
File manager को operating system के साथ बनाया जाता है या इसे अलग से DBMS के साथ लिखा जाता है। Database के component को निम्न चित्र से समझ सकते हैं:
DBMS Architecture and structure diagram |
vi) Database Manager:
यह database management के लिए एक महत्वपूर्ण व्यक्ति या संस्था होता है। इनके अन्तर्गत निम्न कार्य होते हैं:
- Database, विभिन्न प्रकार के security की आवश्यकताओं को पूरा करता है।
- DB में किसी प्रकार के failure होने से इसे backup और recovery करता है।
- File manager के साथ interaction करता है।
- DB विभिन्न प्रकार के integrity को लागू करता है।
- Database में concurrency को control करता है।
Data dictionary एक सूची है, जिसका उपयोग database में किसी data को संग्रहित करने के लिए किया जाता है। Data dictionary में data के बारे में जानकारियों को रखा जाता है, इसमें data की परिभाषा, data की संरचना और data के संग्रहण की विधि को परिभाषित किया जाता है।
Data Dictionary क्या है? और अधिक जानने के लिए लिंक पर क्लिक कर सकते हैं ।
Types of DBMS Architecture (DBMS Architecture के प्रकार):
Database management System Architecture के निम्नलिखित तीन प्रकार के होते हैं:
- 1-स्तरीय वास्तुकला (1-Tier Architecture)
- 2-स्तरीय वास्तुकला (2-Tier Architecture)
- 3-स्तरीय वास्तुकला (3-Tier Architecture)
1-स्तरीय वास्तुकला (1-Tier Architecture):
एक टियरआर्किटेक्चर (1-Tire Architecture) में डेटाबेस (database) सीधे users के लिए उपलब्ध होता है, users सीधे DBMS पर बैठ सकता है और इसका उपयोग कर सकता है यानी क्लाइंट, सर्वर और डेटाबेस सभी एक ही मशीन पर मौजूद होते हैं।
उदाहरण के लिए: SQL सीखने के लिए हम स्थानीय सिस्टम पर एक SQL सर्वर और डेटाबेस स्थापित करते हैं। यह हमें relation database के साथ सीधे communicate करने और संचालन निष्पादित करने में सक्षम बनाता है।
उद्योग इस वास्तुकला का उपयोग नहीं करेगा, वे तार्किक रूप से 2-स्तरीय और 3-स्तरीय वास्तुकला के लिए जाते हैं।
Advantage of 1-Tier Architecture:
- यह एक बहुत ही सिंपल architecture होता है जो किसी भी सिंगल सिस्टम में आसानी से सेटअप किया जा सकता है।
- 1-स्तरीय आर्किटेक्चर को लागू करने के लिए किसी अतिरिक्त हार्डवेयर की आवश्यकता नहीं होती है, जिससे की इसमें कोई एक्स्ट्रा cost नहीं लगता।
- इस आर्किटेक्चर को आसानी से deployed किया जा सकता है, और इसलिए इसका उपयोग ज्यादातर छोटी परियोजनाओं में किया जाता है।
2-स्तरीय वास्तुकला (2-Tier Architecture):
2-स्तरीय आर्किटेक्चर (2-Tier Architecture) बेसिक क्लाइंट-सर्वर मॉडल (Client Server Model) के समान है। Clien की ओर से application सीधे server side पर database के साथ communicate करता है। इस इंटरैक्शन के लिए ओडीबीसी (ODBC) और जेडीबीसी (JDBC) जैसे एपीआई (API) का उपयोग किया जाता है।
सर्वर साइड क्वेरी प्रोसेसिंग और लेनदेन प्रबंधन कार्यक्षमता प्रदान करने के लिए जिम्मेदार है। client side पर, user interface औरapplication program चलाए जाते हैं।
client side पर application, dbms के साथ संचार करने के लिए सर्वर साइड के साथ एक connection स्थापित करता है। इस प्रकार का एक फायदा यह है कि mantanance और समझ आसान है, और मौजूदा सिस्टम के साथ संगत है। हालाँकि, बड़ी संख्या में उपयोगकर्ता होने पर यह मॉडल खराब प्रदर्शन देता है।
Advantage of 2-Tier Architecture:
- 2-टियर आर्किटेक्चर डेटाबेस तक आसान पहुंच बनाता है, जिससे तेजी से पुनर्प्राप्ति होती है।
- हम क्लाइंट जोड़कर या हार्डवेयर अपग्रेड करके डेटाबेस को आसानी से स्केल कर सकते हैं।
- केवल दो घटकों के कारण टियर आर्किटेक्चर आसानी से समझने योग्य और सरल है।
3-स्तरीय वास्तुकला (3-Tier Architecture):
3-टियर आर्किटेक्चर (3-Tier Architecture) में क्लाइंट (clien) और सर्वर (server) के बीच एक और परत (layer) होती है। क्लाइंट सीधे सर्वर से संचार नहीं करता है।
इसके बजाय, यह एक एप्लिकेशन सर्वर के साथ इंटरैक्ट करता है जो आगे database सिस्टम के साथ संचार करता है और फिर query processing और लेनदेन प्रबंधन होता है।
यह मध्यवर्ती परत सर्वर और क्लाइंट के बीच आंशिक रूप से संसाधित डेटा के आदान-प्रदान के लिए एक माध्यम के रूप में कार्य करती है। इस प्रकार के आर्किटेक्चर का उपयोग बड़े वेब अनुप्रयोगों के मामले में किया जाता है।
Advantage of 3-Tier Architecture:
एप्लिकेशन सर्वर(Application Server) की वितरित तैनाती के कारण स्केलेबिलिटी (Scalability) बढ़ जाती है। अब क्लाइंट और सर्वर के बीच अलग-अलग कनेक्शन बनाने की आवश्यकता नहीं है।
3-स्तरीय आर्किटेक्चर डेटा इंटीग्रिटी बनाए रखता है। चूँकि क्लाइंट और सर्वर के बीच एक मध्य परत होती है, इसलिए डेटा भ्रष्टाचार से बचा जा सकता है/हटाया जा सकता है।
यह वास्तुकला सुरक्षा में सुधार करती है। इस प्रकार का model client के सर्वर के साथ सीधे संपर्क को रोकता है जिससे अनधिकृत डेटा तक पहुंच कम हो जाती है।
0 Comments