2010-08-15 12 views
12

मेरे पास कुछ स्क्लाइट डीबीएस हैं (मैं लगभग 15 जीबी कहूंगा), कुल मिलाकर लगभग 1 मीटर पंक्तियों के साथ - तो बहुत बड़ा नहीं। मैं mongodb देख रहा था, और यह काम करने के लिए बहुत आसान लग रहा है, खासकर अगर मैं डेटाबेस बनाने के दस्तावेजों पर कुछ बुनियादी प्राकृतिक भाषा प्रसंस्करण करने की कोशिश करना और करना चाहता हूँ।Mongodb - विश्वसनीयता अभी भी महत्वपूर्ण मुद्दे हैं?

मैंने पहले भी मोंगो के साथ काम किया कभी नहीं किया है, कोई खरोंच से जानने के लिए होता है (अजगर में काम किया जाएगा)। थोड़ी देर के आसपास घूमने के बाद, मैं मोंगोद रे के बारे में कुछ हद तक भयानक कहानियों में आया। विश्वसनीयता। क्या यह अभी भी एक बड़ी समस्या है? एक क्रंच में, मैं निश्चित रूप से स्क्लाइट बैकअप बनाए रखूंगा, लेकिन मुझे अपने मोंगो डेटाबेस को लगातार पुनर्निर्माण नहीं करना पड़ेगा।

बस सोच किस तरह डेटा भ्रष्टाचार के मुद्दों लोगों को वास्तव में मोंगो साथ हाल ही में सामना करना पड़ा है? क्या यह एक बड़ी चिंता है?

धन्यवाद!

उत्तर

9

हां, स्थायित्व मोन्गो में एक बड़ी समस्या है। आपको स्थायित्व के लिए mongodb में प्रतिकृति सेट का उपयोग करना होगा (आपको कम से कम 2 मशीनों की आवश्यकता है), अन्यथा आप उदाहरण के लिए बिजली विफल होने पर पिछले 1 मिनट तक खो सकते हैं। मोंगो में कोई भी सर्वर स्थायित्व नहीं है, लेकिन मुझे पता है कि यह 1.7-1.8 के लिए विकसित किया जाएगा। एक दुर्घटना के बाद आपको मैन्युअल रूप से डीबी की मरम्मत करनी होगी और यदि आपका डेटा बड़ा है तो रैपर ऑपरेशन में घंटों लग सकते हैं। कोई लेनदेन या एसिड नहीं है, इसलिए यह ईकॉमर्स या बैंकिंग आवेदन के लिए उपयुक्त नहीं है।

आपको मोंगो के विकास संस्करणों का उपयोग नहीं करना चाहिए (अजीब संस्करण संख्या जैसे 1.3.x, 1.5.x, 1.7.x विकास संस्करण हैं) और आप 64 बिट ऑपरेटिंग सिस्टम का उपयोग करना पसंद करते हैं। यदि आप वेब पर मोंगो के बारे में आपदा लेखों में खुदाई करते हैं, तो ज्यादातर मामलों में समस्या का स्रोत इन दोनों में से एक है।

कॉच डीबी, कैसंड्रा और पोस्टग्रेस्क्ल में सभी में मजबूत स्थायित्व है (fsync cassandra और postgresql में डिफ़ॉल्ट रूप से 10 मिलीसेकंड है), इसलिए उनके पास एकल सर्वर स्थायित्व है।

यदि आपको मृत आसान स्केलेबिलिटी, गलती सहनशीलता और लोड संतुलन की आवश्यकता है; कैसंद्रा सबसे अच्छा है, लेकिन खराब क्वेरी विकल्पों के साथ। विफल नोड्स दूर जा सकते हैं और समय के बाद वापस आ सकते हैं, कोई समस्या नहीं, सिस्टम ऑटो खुद मरम्मत करता है।

संपादित करें: mongo 1.8 जर्नलिंग (स्थायित्व की अनुमति देता है) के साथ आया लेकिन यह डिफ़ॉल्ट सेटिंग नहीं है। इसके अलावा, इस http://news.ycombinator.com/item?id=2684423

सादर पर देखने

सर्डर Irmak

+0

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

+1

मोंगो आज सबसे लोकप्रिय नोस्कल समाधान है (कारण यह है कि यह 10gen से फुर्तीली विपणन है)। यदि आप अपनी साइट संदर्भों में digg, ज्यादातर इसका उपयोग कम मूल्य वाले उच्च प्रदर्शन डेटा जैसे विश्लेषिकी के लिए किया जाता है (उदाहरण: रिपोर्टिंग, त्रुटि लॉगिंग, पृष्ठ दृश्य काउंटर, आंतरिक काउंटर, आदि ..)। इसके सभी डेटा के लिए इसका उपयोग करने वाली कुछ (बहुत ज्यादा नहीं) साइटें भी हैं। – sirmak

+2

इन दिनों वास्तविक डेटा के लिए इसका उपयोग करने वाली कई साइटें हैं। http://www.mongodb.org/display/DOCS/ प्रोडक्शन + डिप्लोमेंट्स में बहुत अधिक प्रोफ़ाइल तैनाती हैं; "वास्तविक डेटा" के लिए इसका उपयोग करने वाली कुछ साइटों में सोर्सफोर्ज, फोरस्क्वेयर, वर्डनिक और बिजनेस इनसाइडर शामिल हैं। –

3

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

4

"MongoDB कई नोड्स भर में क्षैतिज स्केलिंग को सक्षम करने, एक स्वचालित sharding वास्तुकला का समर्थन करता है।" - source तो आपको संतुलन और विफलता समर्थन के लिए एकाधिक नोड्स चलाने की आवश्यकता है। यदि आप एक ऐसा इंस्टेंस चलाने की इच्छा रखते हैं जो पावर अचानक खो जाने पर विफल नहीं होगा, तो आपको ACID को couchDB की तरह समर्थन करने की आवश्यकता है। ऐसा कहा जा रहा है कि मैं एक महीने के लिए काम पर मोंगो का उपयोग कर रहा हूं और यह मुझ पर दुर्घटनाग्रस्त नहीं हुआ है, हालांकि हम जल्द ही 6 नोड क्लस्टर में जा रहे हैं।

टिकाऊपन

उत्पादों विभिन्न दृष्टिकोणों स्थायित्व के लिए ले। CouchDB एक "दुर्घटना केवल" डिजाइन जहां db किसी भी समय समाप्त कर देंगे और सुसंगत रह सकते हैं। मोंगो डीबी स्थायित्व के लिए एक अलग दृष्टिकोण लेते हैं। एक मशीन दुर्घटना पर, एक तो एक repairDatabase() आपरेशन चलाने जब फिर से शुरू (MyISAM के समान) हैं। किसी दिए गए सर्वर के रूप में सच्चा स्थायित्व के लिए स्थायी रूप से मृत हो सकता है - या तो लैन या वान - MongoDB प्रतिकृति उपयोग करने की सलाह। संक्षेप में: प्रतिकृति के साथ एक सर्वर का उपयोग करते हुए CouchDB स्थायित्व पर बेहतर है।

mongodb.org की आधिकारिक साइट से उद्धरण।

2

आप SQLite बैकअप में भी एक ही डेटा है तो मैं इस समस्या को नहीं देख पा लेते हैं। आप हमेशा अपने मोंगोडीबी डेटाबेस को फिर से भर सकते हैं। रिफिलिंग में केवल कुछ मिनट लगेंगे।

+0

+1। और आप इस "निरंतर" करने की जरूरत नहीं होगी, लेकिन केवल एक सर्वर बिजली कटौती (या कुछ और कि mongod वजह से अंतिम अद्यतन ऑपरेशन के बाद एक मिनट के भीतर दुर्घटना) के बाद। आपके मामले में, तुम सब पर अपडेट नहीं हैं, है न? – Thilo

10

जैसा कि अन्य ने कहा है, मोंगोडीबी में अभी एकल सर्वर स्थायित्व नहीं है। सौभाग्य से, यह मल्टी-नोड प्रतिकृति सेट अप करने के लिए मृत आसान है। आप किसी अन्य डेटा सेंटर में दूसरी मशीन भी सेट कर सकते हैं और डेटा को स्वचालित रूप से लाइव करने के लिए दोहराया जा सकता है!

तो एक लिखने चाहिए सफल होते हैं तो आप मोंगो कारण एक सम्मिलित/अपडेट करने से वापस नहीं करने के लिए जब तक कि डेटा n दास को दोहराया गया है सकते हैं। यह सुनिश्चित करता है कि आपके पास कम से कम n डेटा की प्रतियां हैं। प्रतिकृति सेट आपको बिना किसी महत्वपूर्ण काम के फ्लाई पर अपने क्लस्टर से नोड्स जोड़ने और निकालने की अनुमति देता है; बस एक नया नोड जोड़ें और यह स्वचालित रूप से डेटा की एक प्रति सिंक हो जाएगा। एक नोड और क्लस्टर rebalances खुद को हटा दें। यह कई मशीनों में इस्तेमाल होने के लिए बहुत अधिक डिज़ाइन किया गया है, जिसमें कई नोड समानांतर में कार्यरत हैं; यह MySQL जैसी किसी चीज़ की तुलना में यह पसंदीदा डिफ़ॉल्ट सेटअप है, जो एक विशाल मशीन पर अपना काम करने की अपेक्षा करता है, जिसे आप स्केल करने के लिए आवश्यक होने पर गुलामों को जोड़ सकते हैं। यह डाटा स्टोरेज और स्केलिंग के लिए एक अलग दृष्टिकोण है, लेकिन यदि आप धारणाओं में इसके अंतर को समझने के लिए समय लेते हैं, और अपनी ताकत पर पूंजीकरण करने वाले आर्किटेक्चर को कैसे विकसित करते हैं, तो यह बहुत ही आरामदायक है।

+0

+1 विस्तृत जानकारी के लिए - एक अलग प्रतिमान की तरह लगता है, बहुत ही रोमांचक! – malangi

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