अधिकांश सॉफ्टवेयर एप्लिकेशन आजकल एप्लिकेशन में ही व्यापक भविष्य के संदर्भ के लिए कुछ गतिशील डेटा स्टोरेज शामिल करते हैं। हम सभी जानते हैं कि डेटा एक डेटाबेस में संग्रहीत होता है जो दो श्रेणियों में आता है:रिलेशनल और नॉन-रिलेशनल डीबीएमएस।
इन दोनों में से आपका चयन पूरी तरह से आपकी डेटा संरचना, शामिल डेटा की मात्रा, डेटाबेस प्रदर्शन और मापनीयता पर निर्भर करेगा।
रिलेशनल डीबीएमएस डेटा को पंक्तियों के रूप में तालिकाओं में संग्रहीत करता है जैसे कि वे संरचित क्वेरी भाषा (एसक्यूएल) का उपयोग करते हैं, जिससे वे कई लेनदेन से जुड़े अनुप्रयोगों के लिए एक अच्छा विकल्प बन जाते हैं। इनमें MySQL, SQLite और PostgreSQL शामिल हैं।
दूसरी ओर, मोंगोडीबी जैसे नोएसक्यूएल डीबीएमएस दस्तावेज़-उन्मुख हैं जैसे कि दस्तावेज़ों के संदर्भ में डेटा संग्रह में संग्रहीत किया जाता है। यह डेटा के एक बड़े सेट के लिए अधिक भंडारण क्षमता देता है इसलिए मापनीयता में एक और लाभ होता है।
इस ब्लॉग में हम मान रहे हैं कि आपके पास MongoDB या MySQL के लिए बेहतर ज्ञान है और इसलिए क्वेरी और डेटाबेस संरचना के संदर्भ में दोनों के बीच के संबंध को जानना चाहेंगे।
नीचे एक चीट शीट दी गई है जिससे आप खुद को मोंगोडीबी के लिए MySQL की क्वेरी से परिचित करा सकते हैं।
MySQL से MongoDB चीट शीट - शर्तें
MySQL शर्तें | MongoDB शर्तें | स्पष्टीकरण |
---|---|---|
तालिका | संग्रह | यह डेटा के लिए भंडारण कंटेनर है जो निहित वस्तुओं में समान होता है। |
पंक्ति | दस्तावेज़ | MongoDB के मामले में MySQL और संग्रह के लिए तालिका में एकल ऑब्जेक्ट इकाई को परिभाषित करता है। |
कॉलम | फ़ील्ड | प्रत्येक संग्रहीत वस्तु के लिए, इसमें गुण होते हैं जो विभिन्न मूल्यों और डेटा प्रकारों द्वारा परिभाषित किए जाते हैं। MongoDB में, एक ही संग्रह के दस्तावेज़ों में एक दूसरे से भिन्न फ़ील्ड हो सकते हैं। MySQL में, प्रत्येक पंक्ति को मौजूदा कॉलम के समान कॉलम के साथ परिभाषित किया जाना चाहिए। |
प्राथमिक कुंजी | प्राथमिक कुंजी | मोंगोडीबी के मामले में प्रत्येक संग्रहीत वस्तु को एक अद्वितीय फ़ील्ड मान के साथ पहचाना जाता है, हमारे पास _id फ़ील्ड स्वचालित रूप से सेट होती है जबकि MySQL में आप अपनी प्राथमिक कुंजी को परिभाषित कर सकते हैं जो नई पंक्तियां बनाते समय वृद्धिशील होती है।टीडी> |
टेबल जॉइन | दस्तावेज़ों को एम्बेड और लिंक करना | किसी भिन्न संग्रह/तालिका में किसी ऑब्जेक्ट से संबद्ध किसी अन्य संग्रह/तालिका में डेटा से कनेक्शन। |
कहां | $मिलान | मानदंड से मेल खाने वाले डेटा का चयन करना। |
समूह | $group | कुछ मानदंडों के अनुसार डेटा समूहित करना। |
छोड़ें | $unset | पंक्ति/दस्तावेज़ से कॉलम/फ़ील्ड हटाना/ |
सेट | $सेट | मौजूदा कॉलम/फ़ील्ड के मान को नए मान पर सेट करना। |
स्कीमा विवरण
MySQL तालिका विवरण | MongoDB संग्रह विवरण | स्पष्टीकरण |
---|---|---|
डेटाबेस और टेबल स्पष्ट रूप से PHP व्यवस्थापक पैनल के माध्यम से बनाए जाते हैं या एक स्क्रिप्ट के भीतर परिभाषित किए जाते हैं अर्थात डेटाबेस बनाना टेबल बनाना | डेटाबेस को परोक्ष रूप से या स्पष्ट रूप से बनाया जा सकता है। स्पष्ट रूप से पहले दस्तावेज़ डालने के दौरान डेटाबेस और संग्रह बनाया जाता है और साथ ही इस दस्तावेज़ में एक स्वचालित _id फ़ील्ड जोड़ा जा रहा है। आप इस टिप्पणी को Mongo Shell में चलाकर स्पष्ट रूप से डेटाबेस भी बना सकते हैं | MySQL में, आपको अपने द्वारा बनाई जा रही तालिका में कॉलम निर्दिष्ट करने के साथ-साथ कुछ सत्यापन नियम भी सेट करने होंगे जैसे कि इस उदाहरण में डेटा का प्रकार और लंबाई जो किसी विशिष्ट कॉलम पर जाती है। MongoDB के मामले में, यह परिभाषित करना आवश्यक नहीं है कि न तो प्रत्येक दस्तावेज़ में फ़ील्ड्स होनी चाहिए और न ही सत्यापन नियम निर्दिष्ट फ़ील्ड्स को होल्ड करना चाहिए। हालाँकि, डेटा अखंडता और स्थिरता के लिए MongoDB में आप JSON SCHEMA VALIDATOR का उपयोग करके सत्यापन नियम निर्धारित कर सकते हैं। |
टेबल गिराना | | यह मोंगोडीबी के मामले में MySQL और संग्रह के लिए एक तालिका को हटाने के लिए बयान हैं। |
join_date नामक एक नया कॉलम जोड़ना अगर पहले से परिभाषित है तो join_date कॉलम को हटाना | join_date नामक एक नई फ़ील्ड जोड़ना यह संग्रह के सभी दस्तावेज़ों को अद्यतन करेगा ताकि शामिल होने की तिथि वर्तमान तिथि के रूप में हो। अगर पहले से परिभाषित है तो join_date फ़ील्ड को हटाना यह सभी संग्रह दस्तावेज़ों से join_date फ़ील्ड को हटा देगा। | किसी कॉलम/फ़ील्ड को जोड़कर या छोड़ कर स्कीमा की संरचना को बदलना। चूंकि MongoDB आर्किटेक्चर दस्तावेज़ संरचना पर सख्ती से लागू नहीं होता है, दस्तावेज़ों के फ़ील्ड एक दूसरे से भिन्न हो सकते हैं। |
UserId कॉलम आरोही और आयु अवरोही के साथ एक इंडेक्स बनाना | UserId और आयु क्षेत्रों को शामिल करते हुए एक अनुक्रमणिका बनाना। | इंडेक्स आमतौर पर पूछताछ प्रक्रिया को सुविधाजनक बनाने के लिए बनाए जाते हैं। |
| | नए रिकॉर्ड सम्मिलित करना। |
| | तालिका/संग्रह से रिकॉर्ड हटाना जिनकी आयु 25 के बराबर है। |
| | तालिका/संग्रह से सभी रिकॉर्ड हटाना। |
| | सभी कॉलम/फ़ील्ड के साथ उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है। |
| | आयु, लिंग और प्राथमिक कुंजी कॉलम/फ़ील्ड के साथ उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है। |
| | आयु और लिंग कॉलम/फ़ील्ड के साथ उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है। प्राथमिक कुंजी छोड़ी गई है। |
| | उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है जिसका लिंग मान एम पर सेट है। |
| | उपयोगकर्ता तालिका/संग्रह के सभी रिकॉर्ड केवल लिंग मान के साथ लौटाता है, लेकिन जिनकी आयु मान 25 के बराबर है। |
| | उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है जिसका लिंग मान F पर सेट है और आयु 25 है। |
| | उन उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है जिनका आयु मान 25 के बराबर नहीं है। |
| | उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है जिसका लिंग मान F या आयु 25 पर सेट है। |
| | उन उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है जिनका आयु मान 25 से अधिक है। |
| | उन उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है जिनका आयु मान 25 से कम या उसके बराबर है। |
| | उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है जिनके नाम मान में वह अक्षर होते हैं। |
| | उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है जिसका लिंग मान F पर सेट है और इस परिणाम को MySQL के मामले में आईडी कॉलम के आरोही क्रम में और MongoDB के मामले में सम्मिलित समय में सॉर्ट करता है। |
| | उपयोगकर्ता तालिका/संग्रह से सभी रिकॉर्ड लौटाता है जिसका लिंग मान F पर सेट है और इस परिणाम को MySQL के मामले में आईडी कॉलम के अवरोही क्रम में और MongoDB के मामले में सम्मिलित समय में सॉर्ट करता है। |
| या | उपयोगकर्ता तालिका/संग्रह में सभी रिकॉर्ड की गणना करता है। |
| या | उपयोगकर्ता तालिका/संग्रह में सभी रिकॉर्ड की गणना करता है जिनके पास नाम संपत्ति के लिए मूल्य होता है। |
| या | उपयोगकर्ता तालिका/संग्रह में पहला रिकॉर्ड लौटाता है। |
| | उपयोगकर्ता तालिका/संग्रह में पहला रिकॉर्ड लौटाता है जिसका लिंग मान F के बराबर होता है। |
| | पहले पांच रिकॉर्ड छोड़ने के बाद उपयोगकर्ता तालिका/संग्रह में पांच रिकॉर्ड लौटाता है। |
| | यह उपयोगकर्ता तालिका/संग्रह में सभी रिकॉर्ड की आयु निर्धारित करता है जिनकी आयु 25 से 26 वर्ष से अधिक है। |
| | इससे उपयोगकर्ता तालिका/संग्रह में सभी रिकॉर्ड की आयु 1 से बढ़ जाती है। |
| | यह उपयोगकर्ता तालिका/संग्रह में पहले रिकॉर्ड की आयु को 1 से घटा देता है। |
MySQL और/या MongoDB को केंद्रीय रूप से और एक ही बिंदु से प्रबंधित करने के लिए, यहां जाएं:https://severalnines.com/product/clustercontrol.