मोंगोडीबी नोएसक्यूएल दुनिया में अब तक का सबसे लोकप्रिय विकल्प है क्योंकि इसकी वितरित वास्तुकला अधिक मापनीयता की अनुमति देती है और इसका दस्तावेज़ डेटा मॉडल डेवलपर्स को अच्छा लचीलापन प्रदान करता है। लगभग हर साल, प्रमुख MongoDB संस्करण जारी किया जाता है और 2018 कोई अपवाद नहीं है। MongoDB 4.0 जुलाई 2018 में जारी किया गया था, इसके बाद कुछ अन्य छोटी रिलीज़ भी हुई। MongoDB संस्करण 4.0 के साथ, बहु-दस्तावेज़ लेनदेन और प्रकार रूपांतरण अब समर्थित हैं। MongoDB ने MongoDB चार्ट (बीटा) नामक नया टूल पेश किया और 2018 में MongoDB कंपास में एग्रीगेशन पाइपलाइन बिल्डर का समर्थन जोड़ा। इस लेख में, हम MongoDB की कुछ रोमांचक विशेषताओं के बारे में जानेंगे जो 2018 में जारी की गई थीं।
बहु-दस्तावेज़ ACID लेनदेन
यह MongoDB में सबसे प्रतीक्षित विशेषता थी। संस्करण 4.0 से शुरू होकर, प्रतिकृति सेटों के विरुद्ध बहु-दस्तावेज़ एसिड लेनदेन उत्पादन के लिए तैयार हैं और MongoDB द्वारा समर्थित हैं। सभी MongoDB लेनदेन अब ACID गुणों का विस्तार करते हैं जो डेटा अखंडता सुनिश्चित करता है। एसिड-लेन-देन को किसी भी एप्लिकेशन में जोड़ना वास्तव में आसान है जिसकी उन्हें आवश्यकता है और वे अन्य कार्यों को प्रभावित नहीं करते हैं जिनकी उन्हें आवश्यकता नहीं है। बहु-दस्तावेज़ एसिड लेनदेन के समर्थन के साथ, लेन-देन के अंदर किया गया कोई भी लेखन कार्य लेनदेन के बाहर दिखाई नहीं देगा। आपके एप्लिकेशन के अंदर बहु-दस्तावेज़ एसिड लेनदेन जोड़ने के लिए यहां कुछ उपयोगी आदेश दिए गए हैं।
कार्य | <थ>विवरण|
---|---|
Session.startTransaction() | नया लेन-देन शुरू करें |
Session.commitTransaction() | लेन-देन करता है |
Session.abortTransaction() | लेन-देन को रोकता है |
यहाँ Mongo शेल का उपयोग करके लेन-देन संचालन जोड़ने का एक छोटा सा उदाहरण दिया गया है:
akashk:PRIMARY> use mydb
akashk:PRIMARY> db.createCollection(“newColl”)
akashk:PRIMARY> session = db.getMongo().startSession()
akashk:PRIMARY> session { "id" : UUID("62525323-1cd1-4ee8-853f-b78e593b46ba") }
akashk:PRIMARY> session.startTransaction()
akashk:PRIMARY> session.getDatabase("mydb").newColl.insert({name : 'hello'})
akashk:PRIMARY> WriteResult({ "nInserted" : 1 })
akashk:PRIMARY> session.commitTransaction()
सभी लेन-देन स्नैपशॉट अलगाव का उपयोग करके डेटाबेस में एक या कई संग्रहों में डेटा का सुसंगत दृश्य प्रदान करते हैं। MongoDB द्वितीयक नोड्स/प्रतिकृति में किसी भी अप्रतिबद्ध परिवर्तन को आगे नहीं बढ़ाएगा। एक बार लेन-देन करने के बाद, सभी परिवर्तन द्वितीयक नोड्स पर लागू हो जाएंगे।
ऐसे कई उदाहरण हैं जहां हम MongoDB बहु-दस्तावेज़ एसिड लेनदेन का उपयोग कर सकते हैं जैसे,
- बैंक खातों के बीच धन हस्तांतरण
- भुगतान प्रणाली
- ट्रेडिंग सिस्टम
- आपूर्ति श्रृंखला प्रणाली
- बिलिंग सिस्टम
लेन-देन जोड़ते समय ध्यान रखने योग्य बातें
- MongoDB 60 सेकंड से अधिक समय तक चलने वाले किसी भी लेन-देन को रद्द कर देगा।
- एक लेन-देन में 1000 से अधिक दस्तावेज़ नहीं बदलने चाहिए। पढ़ने के संचालन की कोई सीमा नहीं है।
- कोई भी लेन-देन 16MB से कम आकार का होना चाहिए क्योंकि MongoDb किसी भी लेन-देन को oplog में एकल प्रविष्टि के रूप में संग्रहीत करता है।
- जब आप किसी भी लेन-देन को रोकते हैं, तो सभी परिवर्तन रोल बैक हो जाएंगे।
एकत्रीकरण पाइपलाइन में नए प्रकार के रूपांतरण ऑपरेटर
डेटा की वास्तविक समय की अंतर्दृष्टि प्राप्त करने और जटिल प्रश्नों को लिखने के लिए, MongoDB डेवलपर्स आमतौर पर एकत्रीकरण पाइपलाइन बनाना पसंद करते हैं। MongoDB 4.0 संस्करण में, कुछ नए एकत्रीकरण प्रकार के रूपांतरण ऑपरेटरों को अलग-अलग क्षेत्रों को साफ किए बिना डेटा को क्वेरी करने के लिए जोड़ा गया है।
एग्रीगेशन ऑपरेटर | <थ>विवरण|
---|---|
$रूपांतरित करें | मान को एक निर्दिष्ट प्रकार में कनवर्ट करता है |
$toDate | मान को दिनांक में बदलता है |
$toDecimal | मान को दशमलव में बदलता है |
$टू डबल | मान को दोगुना में बदलता है |
$toLong | मान को लॉन्ग में बदलता है |
$toInt | मान को पूर्णांक में बदलता है |
$toObjectId | मान को ObjectId में कनवर्ट करता है |
$toString | मान को स्ट्रिंग में कनवर्ट करता है |
$ltrim | स्ट्रिंग की शुरुआत से अनावश्यक वर्ण हटाएं |
$rtrim | स्ट्रिंग के अंत से अनावश्यक वर्ण हटाएं |
$ट्रिम | स्ट्रिंग के दोनों ओर से अनावश्यक वर्ण हटाएं |
परिवर्तन धाराओं की विस्तारित कार्यक्षमता
परिवर्तन धाराओं की कार्यक्षमता जो बिना किसी जटिल सेटिंग के वास्तविक समय डेटा परिवर्तन अद्यतन प्रदान करती है, संस्करण 3.6 में पेश की गई थी। संस्करण 4.0 के साथ, परिवर्तन धाराएँ अब केवल एक संग्रह के बजाय पूरे डेटाबेस या क्लस्टर के परिवर्तनों को ट्रैक कर सकती हैं। इसके अलावा, अब, परिवर्तन धाराएं एक घटना से जुड़े क्लस्टर टाइमस्टैम्प भी लौटाती हैं जो सर्वर अनुप्रयोगों के लिए सहायक हो सकती हैं।
तेज़ डेटा माइग्रेशन
जब आपके डेटाबेस को पूरे क्लस्टर में शार्प किया जाता है, तो शार्प किए गए क्लस्टर से नोड्स को जोड़ने और हटाने में कुछ समय लग सकता है। शार्प्ड क्लस्टर बैलेंसर, जो सभी शार्क में डेटा वितरित करने के लिए जिम्मेदार है, को संस्करण 4.0 में बड़ा अपग्रेड मिला है। अब, यह डेटा माइग्रेशन को 40% तेज दर से पूरा कर सकता है।
गैर-अवरुद्ध माध्यमिक पठन
पहले, जब ओप्लॉग प्रविष्टियाँ द्वितीयक नोड्स पर लागू की जा रही थीं, तब MongoDB सभी माध्यमिक रीड्स को ब्लॉक करता था। यह माध्यमिक पठन की परिवर्तनशील विलंबता पैदा कर रहा था। MongoDB 4.0 से, प्रतिकृति सेट थ्रूपुट में वृद्धि और बेहतर पठन विलंबता के कारण द्वितीयक पठन गैर-अवरुद्ध हो गए हैं।
कंपास में एग्रीगेशन पाइपलाइन बिल्डर
MongoDB कम्पास, MongoDB के लिए डेटा की कल्पना और क्वेरी करने के लिए GUI उपकरण है। इस साल, MongoDB कम्पास को एकत्रीकरण पाइपलाइन की नई सुविधा मिली। यह मल्टी स्टेज एग्रीगेशन पाइपलाइनों के निर्माण के लिए विजुअल क्वेरी एडिटर प्रदान करता है। पेश है इसका स्नैपशॉट:
कंपास में एग्रीगेशन क्वेरी बिल्डरइस सुविधा के अतिरिक्त, कंपास में आपके प्रश्नों को अब आपकी पसंद की किसी भी मूल कोड भाषा में निर्यात करने की क्षमता भी है।
MongoDB चार्ट
MongoDB चार्ट नया उपकरण है जो उपयोगकर्ता को MongoDB डेटा के वास्तविक समय के विज़ुअलाइज़ेशन को जल्दी से बनाने में सक्षम बनाता है। यह टूल टाइप हैंडलिंग, ऐरे रिडक्शन और नेस्टेड दस्तावेज़ों के समर्थन के साथ दस्तावेज़ डेटा मॉडल के लिए भी बनाया गया है। यह उपकरण उपयोगकर्ता को चार्ट डैशबोर्ड बनाने और अन्य उपयोगकर्ताओं के साथ साझा करने की अनुमति देता है। MongoDB चार्ट अब MongoDB एटलस के साथ पूरी तरह से एकीकृत है।
अन्य नई MongoDB विशेषताएं
- MongoDB Stitch:क्लाइंट एप्लिकेशन डेवलपमेंट के लिए सर्वर रहित प्लेटफॉर्म जो Mongo सेवाओं को सुरक्षित रूप से एक्सेस कर सकता है।
- MongoDB Kubernetes:MongoDB को Kubernetes क्लस्टर में परिनियोजित करने के लिए।
- MongoDB मोबाइल:MongoDB को एक कॉम्पैक्ट रूप में लचीलापन और शक्ति प्रदान करता है ताकि इसे IOT उपकरणों में उपयोग किया जा सके।
- MongoDB मॉनिटरिंग क्लाउड सर्विस:मॉनिटरिंग मेटाडेटा को MongoDB मॉनिटरिंग क्लाउड पर निःशुल्क पुश करने के लिए।
मोंगोडीबी का भविष्य
MongoDB ने अपने संस्करण 4.2 के साथ कुछ नई सुविधाओं को लॉन्च करने की भी योजना बनाई है, जिसमें शामिल हैं,
- अधिक व्यापक WiredTiger इंजन
- लेन-देन प्रबंधक
- एक साझा परिनियोजन में लेन-देन
- वैश्विक बिंदु समय पढ़ता है