2010-09-18 7 views
7

मैंने बहुत सारे मोंगोडीबी को पढ़ा है।मोंगोडीबी प्राथमिक डेटाबेस के रूप में?

मुझे यह उपलब्ध सभी सुविधाएं पसंद हैं, लेकिन मुझे आश्चर्य है कि यह मेरे आवेदन के लिए एकमात्र डेटाबेस है, जिसमें संवेदनशील जानकारी संग्रहीत करना संभव है।

मुझे पता है कि यह एसीआईडी ​​में स्थायित्व भाग से समझौता करता है लेकिन मैं एक समाधान के रूप में विभिन्न स्थानों में 1 मास्टर और 2 गुलामों के साथ होगा।

यदि मैं ऐसा करता हूं, तो क्या इसे प्राथमिक डेटाबेस के रूप में उपयोग करना संभव है, सबकुछ संग्रहित करना?

अद्यतन:

यह इस तरह से रख देता है।

मुझे अपने लचीली एप्लिकेशन को बनाने में सक्षम होने के लिए पारंपरिक डीबीएमएस की बजाय वास्तव में एक दस्तावेज़ संग्रहण की आवश्यकता है। लेकिन क्या मोंगोडीबी ग्राहक संवेदनशील जानकारी को स्टोर करने के लिए पर्याप्त विश्वसनीय है यदि मेरे पास एकाधिक डेटाबेस प्रतिकृतियां और मास्टर-गुलाम हैं? जहां तक ​​मुझे पता है कि एक बड़ा नकारात्मक पक्ष यह है कि यह एसीआईडी ​​में डी समझौता करता है। तो मैं इसे कई डेटाबेस के साथ हल करता हूं।

अब डेटा समस्याओं के खोने जैसी बड़ी समस्याएं नहीं हैं?

और किसी ने मुझे बताया कि मोंगोडीबी के साथ एक ग्राहक को दो बार बिल भेजा जा सकता है। क्या कोई इसे प्रबुद्ध कर सकता है?

+3

आप मोंगोडीबी का उपयोग क्यों करना चाहते हैं या आवश्यकता है? आप उन्हें देखकर क्या फायदे हैं? क्यों कहा जाता है, पोस्टग्रेस आपके आवेदन के लिए सही नहीं है? कुछ कंपनियां (दोस्ताना) बस एक आरडीबीएमएस में जेएसओएन स्टोर करती हैं, जो एक सामान्य डीबी के एसीआईडी ​​लाभों के साथ एक लचीला स्कीमा देती है। –

+0

आप कॉच डीबी का भी उपयोग कर सकते हैं, यह एक दस्तावेज़ डीबी भी है। – TTT

+0

@ मार्क। क्योंकि मैं टेबल, कॉलम और पंक्तियों के बजाय ऑब्जेक्ट्स में एम्बेडेड ऑब्जेक्ट्स और ऑब्जेक्ट्स के साथ काम करना पसंद करता हूं। मुझे ओओपी प्रतिमान पसंद है क्योंकि यह मानव सोच के तरीके से फिट बैठता है। एक्सएमएल/जेएसओएन डेटाटाइप इसे प्रतिस्थापित नहीं कर सकते हैं। यह सिर्फ छोटे संरचनाओं को संग्रहित करने के लिए है जो पूरे डेटाबेस संरचना नहीं है। –

उत्तर

7

हां, मोंगोडीबी एप्लिकेशन के एकमात्र डेटा स्टोर के रूप में काम कर सकता है। प्रतिकृति का प्रयोग करें और सुनिश्चित करें कि आप safe writes और w के बारे में जानते हैं।

और किसी ने मुझे बताया कि मोंगोडीबी के साथ ग्राहक को दो बार बिल भेजा जा सकता है। क्या कोई इसे प्रबुद्ध कर सकता है?

मैं अनुमान लगा रहा हूं कि जो भी आपको बताया गया है वह अंतिम स्थिरता के बारे में बात कर रहा था। कुछ नोएसक्यूएल डेटाबेस अंततः संगत होते हैं, जिसका अर्थ है कि आप विरोधाभासी लिख सकते हैं। MongoDB नहीं है, हालांकि, यह दृढ़ता से संगत है (बस एक संबंधपरक डेटाबेस की तरह)।

+0

मुझे सुरक्षित लिखने में कठिनाई होती है। Fsync() और getLastError() के बीच क्या अंतर है? –

+1

सुरक्षित लिखते हैं कि क्या लेखन सफल हुआ (डीबी ऊपर था, आपने एक अद्वितीय क्षेत्र में एक गैर अद्वितीय मूल्य डालने की कोशिश नहीं की थी)। fsync वास्तव में सुनिश्चित करता है कि परिवर्तन डिस्क पर लिखा गया है, न केवल स्मृति में मौजूद है। Http://nosql.mypopescu.com/post/1052759609/mongodb-safe-and-fsync-explained देखें। – kristina

3

क्या यह संभव है? ज़रूर। क्यों नहीं? यदि आप चाहें तो टेक्स्ट फ़ाइलों में एक्सएमएल के रूप में सबकुछ स्टोर करना संभव है।

क्या यह सबसे अच्छा विचार है? यह इस बात पर निर्भर करता है कि आप क्या करने की कोशिश कर रहे हैं, आपके बाकी सिस्टम आर्किटेक्चर, जिस पैमाने पर आपकी साइट हासिल करने का इरादा है, और इसी तरह।

+0

मेरा अपडेट पढ़ें। –

5

आपका आवेदन लचीला है या नहीं, गीलेर के साथ अनुपस्थिति से कुछ भी नहीं है, जिसे आप "नोस्कल", "दस्तावेज़ डीबी" या उचित आरडीबीएमएस का उपयोग करते हैं। आपके आवेदन का उपयोग करने वाले कोई भी किसी भी तरह से परवाह नहीं करेगा।

यदि आपको कोडिंग के दौरान लचीलापन की आवश्यकता है, तो आपको रूबी में ActiveRecord जैसे फ्रेमवर्क में शोध करना चाहिए, जो डीबी-इंटरफेसिंग को अधिक सरल, सामान्य और शक्तिशाली बना सकता है। उस स्तर पर, आप डीबी को बदलने से बहुत कुछ हासिल कर सकते हैं, और आप डीबी-अज्ञेयवादी भी बन सकते हैं, जिसका अर्थ है कि आप को कोड बदलने के बिना डीबी बदल सकते हैं। दरअसल, मुझे सक्रिय उत्पादक को कठोर और त्रुटि-प्रवण "कोड के साथ इंटरमीस्ड कोड" से कम करके मेरी उत्पादकता को बढ़ावा देने के लिए कई गुना मिला है।

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

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

मेरा विश्वास करो, अगर आप किसी भी मूल्य का आवेदन करने जा रहे हैं, तो आप पहले स्थान पर एसक्यूएल, एसीआईडी ​​और अच्छे डेटाबेस-सिद्धांतों को सीखने के सौ गुना बेहतर हैं। बस मूल बातें पढ़ें, और जहां भी हो, वहां से अपना ज्ञान बनाएं। यह हम में से प्रत्येक के लिए समान है, इसमें समय लगता है, लेकिन आप शुरुआत से ही चीजें करना सीखते हैं।

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

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

असली दुनिया में, हम स्थिरता, डेटाबेस डिज़ाइन और कई और अधिक ध्वनि सीएस सिद्धांतों को अनदेखा नहीं कर सकते हैं। यही कारण है कि उन्हें पहले स्थान पर पढ़ना और अधिक से अधिक सीखना एक अच्छा विचार है।

प्रचार में खरीद न करें। आप यहां मोंगोडीबी के बारे में सवाल पूछते हैं, लेकिन इसमें शामिल हैं कि आप वास्तव में इसकी विशेषताओं की आवश्यकता है। 25 वर्षों के कंप्यूटर अनुभव के साथ, मैं बस इसे खरीद नहीं करता हूं। यदि आप रचनात्मक रूप से सोचते हैं, तो जो कुछ भी आप चाहते हैं उसे करने के लिए एक आरडीबीएमएस बनाया जा सकता है, या आपको फ्रेम से त्रुटियों और बर्बाद समय से बचाने के लिए उपयोग किया जा सकता है।

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

संबंधित मुद्दे