मेरी परियोजनाओं में दोनों डेटाबेस के साथ काम करने के बाद पोस्टग्रेज और मोंगो के साथ मेरा अनुभव।
Postgres (RDBMS)
यदि आपके भविष्य के अनुप्रयोगों में बहुत सारे जुड़वों की आवश्यकता होती है या सभी डेटा में संबंध हैं या यदि हमारे पास भारी लेखन है, तो पोस्टग्रेज की सिफारिश की जाती है। Postgres खुला स्रोत है, तेज, ACID अनुरूप है और डिस्क पर कम मेमोरी का उपयोग करता है, और JSON भंडारण के लिए सभी अच्छे प्रदर्शनकर्ता है और लेन-देन अलगाव के 3 स्तरों के साथ लेनदेन की पूर्ण क्रमबद्धता भी शामिल है।
Postgres के साथ रहने का सबसे बड़ा फायदा यह है कि हमारे पास दोनों दुनिया के सर्वश्रेष्ठ हैं। हम JSONB में बाधाओं, स्थिरता और गति के साथ डेटा स्टोर कर सकते हैं। दूसरी ओर, हम अन्य प्रकार के डेटा के लिए सभी SQL सुविधाओं का उपयोग कर सकते हैं। अंतर्निहित इंजन बहुत स्थिर है और अच्छी मात्रा में डेटा वॉल्यूम के साथ अच्छी तरह से मुकाबला करता है। यह आपकी पसंद के हार्डवेयर और ऑपरेटिंग सिस्टम पर भी चलता है। फ़ील्ड लेनदेन पर बाधाओं के साथ JSON दस्तावेज़ों को संग्रहीत करते हुए, पूर्ण लेनदेन सहायता के साथ NoSQL क्षमताओं को प्रदान करने वाले पोस्टग्रेट्स।
पोस्टग्रेज के लिए सामान्य बाधाओं
स्केलिंग पोस्टग्रैज क्षैतिज रूप से काफी कठिन है, लेकिन उल्लेखनीय है।
पोस्टग्रेज के साथ फास्ट रीड ऑपरेशंस पूरी तरह से हासिल नहीं किए जा सकते हैं।
कोई SQL डेटा मामले
मानगो डीबी (वायर्ड टाइगर)
MongoDB "क्षैतिज पैमाने" के आयाम में पोस्टग्रेज को हरा सकता है। भंडारण JSON है जो मानगो को करने के लिए अनुकूलित है। Mongo अपने डेटा को BSONb नामक एक द्विआधारी प्रारूप में संग्रहीत करता है जो (मोटे तौर पर) JSON के एक सुपरसेट का सिर्फ एक द्विआधारी प्रतिनिधित्व है। MongoDB वस्तुओं को ठीक वैसे ही संग्रहीत करता है जैसे वे डिज़ाइन किए गए थे। MongoDB के अनुसार, लेखन-गहन अनुप्रयोगों के लिए, Mongo का कहना है कि नया इंजन (वायर्ड टाइगर) उपयोगकर्ताओं को लेखन प्रदर्शन में 10 गुना वृद्धि करने की अनुमति देता है (मुझे यह प्रयास करना चाहिए), भंडारण उपयोग में 80 प्रतिशत की कमी, भंडारण की कम लागत में मदद करता है। , हार्डवेयर का अधिक से अधिक उपयोग करें।
MongoDb की सामान्य अड़चनें
एक स्कीमा कम स्टोरेज इंजन के उपयोग से अंतर्निहित स्कीमा की समस्या उत्पन्न होती है। इन स्कीमाओं को हमारे भंडारण इंजन द्वारा परिभाषित नहीं किया जाता है, बल्कि आवेदन व्यवहार और अपेक्षाओं के आधार पर परिभाषित किया जाता है।
स्टैंड-अलोन NoSQL टेक्नोलॉजीज ACID मानकों को पूरा नहीं करते हैं क्योंकि वे असंरचित अनुप्रयोगों के लिए उच्च थ्रूपुट प्रदर्शन के पक्ष में महत्वपूर्ण डेटा सुरक्षा का त्याग करते हैं। NoSQL डेटाबेस पर ACID को लागू करना कठिन नहीं है, लेकिन यह डेटाबेस को कुछ हद तक धीमा और अनम्य बना देगा। "NoSQL सीमाओं के अधिकांश नए संस्करणों और रिलीज में अनुकूलित किए गए थे जिन्होंने अपनी पिछली सीमाओं को काफी हद तक पार कर लिया है"।