डेटा मॉडलिंग डेटा बिंदुओं और संरचना के बीच कनेक्शन को संप्रेषित करने के लिए संपूर्ण सॉफ्टवेयर अनुप्रयोग या इसके घटकों के दृश्य प्रतिनिधित्व को विकसित करने की प्रक्रिया है। इसमें सावधानीपूर्वक अपने आवेदन और डेटाबेस की आवश्यकताओं की समीक्षा करना और दो मुख्य डेटा संचालन के संबंध में - पढ़ना, लिखना और अपडेट करना शामिल है।

एप्लिकेशन के उपयोग पैटर्न का आकलन करके और इसके साथ डेटाबेस स्कीमा को संरेखित करके एक स्थिर डेटा मॉडल बनाया जाता है। इसलिए, स्कीमा डिज़ाइन आपके डेटा मॉडल को आकार देता है। जब यह एक संबंधपरक डेटाबेस की बात आती है, तो आप टेबल स्कीमा बनाए बिना अपनी तालिकाओं को आबाद नहीं कर सकते।

जानने के लिए महत्वपूर्ण शर्तें

इससे पहले कि आप आगे बढ़ें, यहां कुछ बुनियादी परिभाषाएं हैं जिन्हें आपको जानना चाहिए:

  • संग्रह - एक संग्रह MongoDB में दस्तावेजों का सेट है। यह RDBMS में एक तालिका के बराबर है।
  • दस्तावेज़ - एक दस्तावेज़ एक संरचना है जिसमें फ़ाइल और मूल्य जोड़े शामिल हैं। यह RDBMS में एक पंक्ति के बराबर है।
  • डेटाबेस स्कीमा - स्कीमा डिज़ाइन एक डेटाबेस प्रबंधन प्रणाली (DBMS) के लिए डिज़ाइन किया गया डेटाबेस का तार्किक और दृश्य वास्तुकला है।
instagram viewer

कैसे MongoDB में डेटा मॉडलिंग अलग है?

NoSQL के लचीलेपन के लिए धन्यवाद, आपको डेटा प्रविष्टि से पहले एक स्कीमा नहीं बनाना होगा। क्योंकि MongoDB डेटाबेस स्कीमा के एक गतिशील रूप का समर्थन करता है। यह आपके स्कीमा को पहले से डिज़ाइन करने की आवश्यकता को समाप्त करता है। इसके बजाय, अब आप अपने डेटा को संग्रहीत कर सकते हैं और अपने संग्रह के अनुसार समायोजन कर सकते हैं।

आप संग्रह के दिए गए क्षेत्र में विभिन्न डेटा प्रकारों को संग्रहीत कर सकते हैं और नए फ़ील्ड भी जोड़ सकते हैं, फ़ील्ड मान अपडेट कर सकते हैं और मौजूदा फ़ील्ड हटा सकते हैं। जब आप किसी ऑब्जेक्ट या इकाई के लिए दस्तावेज़ मैप करते हैं तो आपको इस लचीलेपन का सही लाभ मिलेगा।

आम तौर पर, एक संग्रह और उसके दस्तावेज़ एक समान संरचना का पालन करते हैं। स्कीमा सत्यापन का उपयोग करके आप अपने संग्रह के दस्तावेजों के लिए "नियमों को लागू" कर सकते हैं।

सम्बंधित: डेटाबेस इंजन आपके अगले प्रोजेक्ट के लिए विचार करने के लिए

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

इसी तरह, यदि आपका एप्लिकेशन अधिकांश समय रीड ऑपरेशंस के साथ काम करने वाला है, तो आप सामान्य प्रश्नों का समर्थन करने और प्रदर्शन को बढ़ाने के लिए अनुक्रमित सेट कर सकते हैं।

परंपरागत रूप से, डेटा मॉडल बनाने में एक विचार यह है कि संबंधित डेटा को कैसे संग्रहीत किया जाए। संबंधपरक डेटाबेस तालिकाओं का उपयोग करते हैं डेटा संग्रहीत करने के लिए, जहां डेटा संबंधों को सेट करने के लिए प्राथमिक और विदेशी कुंजी का उपयोग किया जाता है।

इसी तरह, कई तालिकाओं पर संचालन तक पहुंचने और चलाने के लिए जॉइन किया जाता है। किसी ऐसे व्यक्ति के रूप में, जिसने SQL सर्वर जैसे किसी संबंधपरक DBMS से MongoDB पर स्विच किया है, आप MongoDB में जुड़ने वाले नहीं हैं। ऐसा इसलिए है क्योंकि MongoDB संग्रह डेटा को डेटा संदर्भित करके या संग्रह में डेटा एम्बेड करके संग्रहीत करता है।

इसलिए, यदि आपका डेटा मॉडल किसी रिलेशनल डेटाबेस में दस तालिकाओं को लेता है, तो संभव है कि MongoDB आपको एकल संग्रह में समेकित करने देता है।

डेटा मॉडल के प्रकार

अब जब आप जानते हैं कि MongoDB में डेटा मॉडलिंग कैसे काम करता है, तो MongoDB द्वारा समर्थित डेटा मॉडल के प्रकारों के माध्यम से जाने दें। आमतौर पर, यह आपके दस्तावेज़ की संरचना और आपके आवेदन के डेटा संबंधों पर निर्भर करता है।

एंबेडेड डेटा मॉडल

आप MongoDB में किसी एकल दस्तावेज़ या संरचना में डेटा एम्बेड कर सकते हैं। इसे सामान्यीकृत डेटा मॉडल के रूप में भी जाना जाता है, यह MongoDB के समृद्ध दस्तावेजों की पूरी क्षमता का लाभ उठाता है। उदाहरण के लिए, निम्नलिखित उदाहरण पर विचार करें: हमारे पास एक संग्रह है, छात्र, एक दस्तावेज युक्त मैट। इस दस्तावेज़ में, हमने दो दस्तावेज़ एम्बेड किए हैं, संपर्क विवरण तथा ग्रेड.

{
"_id": "4a6666a4c13bb24f12gh199e",
नाम: "मैट",
संपर्क विवरण: {
फोन: "555-555-1234"
ईमेल पता: "[email protected]"
},
ग्रेड: {
विषय: "CS101"
स्कोर: "बी"
}}

एम्बेडिंग एक ही दस्तावेज़ या डेटाबेस रिकॉर्ड में प्रासंगिक विवरण संग्रहीत करता है। इस तरह, आप सामान्य DB ऑपरेशन करने के लिए आवश्यक क्वेरी और अपडेट को कम कर सकते हैं।

आपको एम्बेडेड डेटा मॉडल का उपयोग कब करना चाहिए? वे पढ़ने के संचालन के प्रदर्शन को बेहतर बनाने के लिए उपयोगी हैं। इसके अलावा, वे एकल रिकॉर्ड के डेटा पुनर्प्राप्ति को संसाधित करने के लिए प्रभावी हैं। इस मॉडल के साथ, आप संबंधित डेटा को अपडेट करने के लिए सिंगल राइट ऑपरेशन का उपयोग कर सकते हैं।

हालांकि, कुछ ऐसा है जिसे आपको ध्यान में रखने की आवश्यकता है: एम्बेडिंग इसके निर्माण के बाद दस्तावेज़ का आकार बढ़ाता है। कुछ मामलों में, यह लेखन प्रदर्शन को प्रभावित कर सकता है और विस्तारित दस्तावेज़ आकार के कारण डेटा विखंडन की संभावना भी है।

अंत में, आप डॉट नोटेशन का उपयोग करके एम्बेडेड दस्तावेजों के साथ बातचीत कर सकते हैं और उन्हें आसानी से पार कर सकते हैं। यहाँ वाक्य रचना है:

field.nestedField: मान

उपरोक्त उदाहरण के लिए, आप निम्नलिखित प्रश्न लिखकर अपने नेस्टेड दस्तावेजों तक पहुँच सकते हैं:

db.students.find ({संपर्क विवरण: {फोन: "555-555-1234", ईमेल पता: "[email protected]"}})। सुंदर ()

सामान्यीकृत डेटा मॉडल (संदर्भ)

सामान्यीकृत डेटा मॉडल का उपयोग एक-से-कई और कई-से-कई संबंध मॉडल बनाने के लिए किया जाता है। एम्बेडेड दस्तावेज़ मॉडल के साथ काम करते समय, ऐसे समय होंगे जब आपको डेटा दोहराना होगा। यह वह जगह है जहाँ संदर्भ काम में आते हैं - वे अतिरेक से निपटते हैं। यहां हम उपरोक्त उदाहरण के लिए संदर्भ का उपयोग कर सकते हैं।

हमने अपने एकल दस्तावेज़ को तीन दस्तावेज़ों में विभाजित किया है और तब से संपर्क विवरण तथा ग्रेड से आईडी है मैट दस्तावेज़, जरूरत पड़ने पर आप उन्हें कॉल कर सकते हैं।

छात्र
{
_id:
उपयोगकर्ता नाम: "मैट"
}
संपर्क विवरण
{
_id:
यूज़र आईडी:
ईमेल: "[email protected]"
फोन: "555-555-1234"
}
ग्रेड
आईडी:
यूज़र आईडी: ,
विषय: "CS101",
स्कोर: "बी"
}

जैसा कि आप देख सकते हैं, सामान्यीकृत डेटा मॉडल नए संग्रह के बीच संदर्भों का उपयोग करके डेटा को कई संग्रहों में विभाजित करते हैं। आप एक एकल दस्तावेज़ को अपडेट कर सकते हैं, जो अन्य संग्रह को अपडेट करेगा। यह डेटा को अपडेट करने का एक प्रभावी तरीका है और इसका उपयोग ज्यादातर तब किया जाता है जब आपका डेटा बार-बार परिवर्तनों से गुजरता है।

यहां वे समय होते हैं जब एक सामान्यीकृत डेटा मॉडल समझदार विकल्प होता है:

  • आपको बड़े डेटा सेट को मॉडल करना होगा जो एक निश्चित पदानुक्रम का पालन करते हैं।
  • आपको कई-कई-कई रिश्तों का प्रतिनिधित्व करना होगा।
  • एंबेडिंग आपके रीड प्रदर्शन को काफी हद तक लाभ के बिना डेटा दोहराव का कारण बनेगी।

अब आप आसानी से MongoDB में मॉडल डेटा कर सकते हैं

अब तक, आप जानते हैं कि MongoDB में डेटा मॉडलिंग रिलेशनल डीबीएम से कैसे अलग है, खासकर जब यह स्कीमा की बात आती है। आपने MongoDB में डेटा मॉडल के प्रकारों के बारे में भी सीखा है - डी-सामान्यीकृत और सामान्यीकृत - और सीखें कि उनका उपयोग कब करना है।

और यह सिर्फ शुरुआत है; MongoDB आपके डेटा को कैसे व्यवस्थित कर सकता है, इसके बारे में जानने के लिए बहुत कुछ है।

ईमेल
ट्विटर ने आपको अपने ट्वीट्स क्यों संपादित नहीं करने दिए

एक संपादित विकल्प सबसे अधिक अनुरोधित ट्विटर विशेषताओं में से एक है। तो कंपनी इसकी अनुमति क्यों नहीं देगी?

आगे पढ़िए

संबंधित विषय
  • प्रोग्रामिंग
  • डेटाबेस
लेखक के बारे में
उस्मान गनी (1 लेख प्रकाशित)उस्मान गनी से अधिक

हमारे न्यूज़लेटर की सदस्यता लें

टेक टिप्स, रिव्यू, फ्री ईबुक और एक्सक्लूसिव डील्स के लिए हमारे न्यूज़लेटर से जुड़ें!

एक और कदम…!

कृपया हमें आपके द्वारा भेजे गए ईमेल में अपने ईमेल पते की पुष्टि करें।

.