MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

क्या मोंगोडब की जर्नल फ़ाइल को हटाना सुरक्षित है?

टीएल; डीआर:आपके पास दो विकल्प हैं। --smallfiles . का प्रयोग करें जर्नल फ़ाइलों के आकार को 128MB तक सीमित करने के लिए MongoDB प्रारंभ करते समय स्टार्टअप विकल्प, या --nojournal का उपयोग करके जर्नलिंग बंद करें विकल्प। --nojournal का उपयोग करना उत्पादन में आमतौर पर एक बुरा विचार है, और विकास में भी विभिन्न लेखन चिंताओं का उपयोग करना अक्सर समझ में आता है ताकि आपके पास देव और उत्पाद में अलग कोड न हो।

लंबा उत्तर :नहीं, जर्नल फ़ाइल को हटाना सुरक्षित नहीं है। जर्नलिंग का विचार यह है:

एक लेखन आता है। अब, उस लेखन को लगातार (और डेटाबेस टिकाऊ) बनाने के लिए, लेखन को किसी तरह डिस्क पर जाना चाहिए।

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

अब डेटा फ़ाइलों को स्वयं लिखने के बजाय, और प्रत्येक अनुरोध के लिए इसे करने के बजाय, डेटाबेस केवल एक जर्नल फ़ाइल में संलग्न होगा जहां यह उन सभी कार्यों को संग्रहीत करता है जो अभी तक वास्तविक डेटा फ़ाइलों के लिए प्रतिबद्ध नहीं हैं। यह बहुत तेज़ है, क्योंकि फ़ाइल पहले से ही 'गर्म' है क्योंकि यह हर समय पढ़ी और लिखी जाती है, और यह केवल एक फ़ाइल है, फाइलों का एक समूह नहीं है, और अंत में, क्योंकि यह हर 100ms पर एक बैच में सभी लंबित संचालन लिखता है। डिफ़ॉल्ट रूप से। किसी चीज़ के बीच में इस फ़ाइल को हटाना कहर बरपाता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $nin क्वेरी ऑपरेटर

  2. $lookup Mongodb . के लिए लोकलफ़ील्ड में स्ट्रिंग को ऑब्जेक्ट में कैसे बदलें?

  3. समय के साथ दस्तावेज़ सम्मिलित करते समय डिफ़ॉल्ट तिथि निर्धारित करें। समय क्षेत्र

  4. मोंगो क्वेरी के आउटपुट को एक सीएसवी फ़ाइल में रीडायरेक्ट करें

  5. उल्का में उदाहरण चलाने में समस्या