MongoDB और अन्य RDBMS की तुलना में मेरे व्यक्तिगत अनुभव के फायदे और नुकसान
नमस्ते, मैं अक्षम हूँ।
मैंने जो कुछ भी जल्दी से खोजा और सोचा, उसे संक्षेप में प्रस्तुत करूँगा।
क्या संरचना शुरू से तय नहीं थी, और क्या यह डेवलपर-जैसी लचीली प्रतिक्रिया दे सकती है?
उदाहरण के लिए, यदि MariaDB जैसी किसी चीज़ में 'password' नामक फ़ील्ड वाला एक टेबल है, और आप गलती से इसे 'passw"a"rd' के रूप में उपयोग करने का प्रयास करते हैं, तो डेटा अखंडता खो जाएगी और एक त्रुटि उत्पन्न होगी।
दूसरे शब्दों में, यह एक RDBMS के रूप में, स्कीमा के अनुसार डेटा को संभालने की विशेषता रखता है।
इसकी तुलना में, MongoDB को "NoSQL" कहा जाता है, और क्योंकि यह दस्तावेज़-उन्मुख है, यह 'passw"a"rd' जैसी गलत टाइप की गई चीज़ को भी संग्रहीत करेगा। ऐसा इसलिए है क्योंकि इसे सटीकता की आवश्यकता नहीं होती है।
क्या यह नहीं कहा जा सकता कि गतिशील डेटा को संभालना और डेवलपर के दृष्टिकोण से भी स्केल-अप करना आसान है? बेशक, मुझे लगता है कि डेटा को संग्रहीत करते समय अखंडता बनाए रखने में असमर्थता डेटा को संभालने वाले डीबी के रूप में संदिग्ध है, लेकिन MongoDB से अन्य RDBMS में रूपांतरण करना संभव है, और यदि इसमें वह बहुमुखी प्रतिभा है, तो मुझे नहीं लगता कि इसे पूरी तरह से इस्तेमाल नहीं किया जाना चाहिए।
MongoDB में परिपक्व हो चुकी चीज़ों के लिए, यदि बाद में आवश्यकता हो, तो आप अन्य RDBMS में माइग्रेट कर सकते हैं, लेकिन यदि डेटाबेस संरचना शुरू से ही कुछ हद तक तय है, तो शायद इसे जानबूझकर उपयोग करने की कोई आवश्यकता नहीं है।
किसी भी स्थिति में, डेवलपर के दृष्टिकोण से एक डीबी के रूप में संभालने में आसानी के मामले में, मुझे लगता है कि MongoDB के पास कम से कम कुछ फायदे हैं।
जब आप डीबी में बिना किसी चूक के सब कुछ स्टोर करना चाहते हैं तो भी यह अपनी शक्ति दिखा सकता है
उदाहरण के लिए, जब कई साइटों के डेटा को संभालते हैं, तो आप बस सब कुछ MongoDB में डाल सकते हैं, चाहे वह 'user' हो या 'userid', आप बस इसे डाल सकते हैं और बाद में एक साथ संपादित कर सकते हैं। यदि सब कुछ एक ही संग्रह में संग्रहीत किया जाता है, तो बाद में इसे संपादित करने की क्षमता एक ताकत है। मैं वास्तव में इसे आसानी से बदल पाया।
जब आप इसे लॉग के रूप में डीबी में संग्रहीत करना चाहते हैं, तो आप बिना किसी चूक के सब कुछ डाल सकते हैं, इसलिए आप डेटा हानि के बिना लगभग सब कुछ कवर कर सकते हैं।
मैंने देखा कि इसकी काफी आलोचना हुई है, और यह भी कहा गया है कि इसे इस्तेमाल करने का कोई मतलब नहीं है, लेकिन जब मैंने वास्तव में इसका इस्तेमाल किया, तो मुझे कई ऐसे पहलू मिले जहाँ इसे संभालना आसान लगा, इसलिए मैं इसे भविष्य में इस्तेमाल कर भी सकता हूँ और नहीं भी।
तो फिर।
फिर मिलेंगे।