Maildir और Mbox के बीच व्यावहारिक अंतर क्या हैं?


39

यद्यपि मैं दो संग्रहण स्वरूपों की मूल बातें समझता हूं (Maildir बनाम ईमेल के तहत 1 फ़ाइल बनाम मेलबॉक्स के तहत 1 मेलबॉक्स प्रति एकल फ़ाइल), मैं सोच रहा हूं कि यहां व्यावहारिक प्रभाव क्या हैं -

  • क्या एक संग्रहण प्रारूप दूसरे की तुलना में अधिक मापनीय है?
  • क्या डेटा अखंडता चिंता / अंतर हैं?
  • क्या स्पष्ट रूप से परिभाषित स्थितियां हैं जहां आपको एक प्रारूप का दूसरे पर उपयोग करना चाहिए?

जवाबों:


21

पोस्टफ़िक्स से मेलबॉक्स का प्रबंधन न करें। कभी नहीँ। पीओपी / आईएमएपी सर्वर के माध्यम से वितरण के लिए संदेशों को पुनर्निर्देशित करें जिसमें उपयुक्त कार्यक्षमता हो। कबूतर के मामले में dovecot-ldaउर्फ है deliverकि सब कुछ और बहुत कुछ करते हैं, जैसे उपयोगकर्ता-नियंत्रित संदेश फ़िल्टरिंग, कोटा प्रबंधन, ऑटोरेस्प्लेिंग और इतने पर।

वैसे भी मेलबिर नए और बेहतर स्वरूप के कारण बहुत से सुधारों के कारण है। Maildir में प्रत्येक फ़ोल्डर के लिए एक इंडेक्स है जो डुप्लिकेट, समाप्ति समय और यहां तक ​​कि पूर्ण-पाठ खोज को नियंत्रित करने की अनुमति देता है। साथ ही, संदेशों के विशाल ढेर पर maildir काफी तेज है। Dovecot आसानी से किसी भी दृश्य मंदी के बिना इसमें 300k संदेशों के साथ maildir संचालित कर सकता है। मेलबॉक्स इतना बड़ा एक समस्या ही है। इसके अलावा, अधिकांश आधुनिक पीओपी / आईएमएपी सर्वरों में बड़े बुनियादी ढांचे में सामान्य कार्यों के लिए बहुत सारी उपयोगिताओं हैं।


14

यदि आप मेल भंडारण के लिए NFS का उपयोग कर रहे हैं, तो किसी भी परिस्थिति में mbox का उपयोग करें। और अगर आप एक स्केलेबल समाधान चाहते हैं, तो Maildir जाने का रास्ता है।

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

Maildir को विफलता के बिना काम करने के लिए डिज़ाइन किया गया है जब आपके पास कई मेल सर्वर, या एक सर्वर पर कई प्रक्रियाएं होती हैं, उसी समय ईमेल को एक ही खाते में पहुंचाना जैसे कि IMAP या POP सर्वर खाते तक पहुंच रहा है।

Maildir के साथ मुख्य समस्या यह है कि यदि आप एक फाइल सिस्टम का उपयोग कर रहे हैं जो बहुत सारे इनसाइड्स को हैंडल करते समय धीमा हो जाता है, और यदि आपका बैकअप सिस्टम कई फाइलों को संभालने में खराब है। फ़ाइल सिस्टम के लिए, जब मैंने ISP पर ईमेल sysadmining किया था, तो इसके लिए VXFS सबसे अच्छा था। बैकअप के लिए, मेरे पास कोई सिफारिश नहीं है; दुर्भाग्य से उनमें से अधिकांश को गज़िलियन छोटी फ़ाइलों के बजाय डेटाबेस सर्वर को संभालने के लिए डिज़ाइन किया गया लगता है।


4

पोस्टफिक्स की परवाह नहीं है, ज्यादातर। यह सिर्फ मेल को किसी फाइल में भर देता है। इंटरस्टिंग हिस्सा तब आता है जब आप मशीन से IMAP (या POP3) के जरिए मेल लाना चाहते हैं। अधिकांश IMAP- सर्वर (मैंने कोशिश की) Maildirs पसंद करते हैं, क्योंकि ये विभिन्न मेटा-डेटा के साथ आसान विस्तार योग्य हैं जिन्हें IMAP- सर्वर चाह सकता है, जबकि अभी भी एक बुनियादी "यह एक Maildir" संरचना है, इसलिए आप IMAP- सर्वर को तोड़ने के बिना बदल सकते हैं बहुत अधिक (आप स्पष्ट रूप से मेटा-डेटा खो देंगे, जिसमें मेल फ्लैग भी शामिल हैं, इसलिए यदि आपको वास्तव में स्विच करना है तो आपको IMAP सर्वर के माइग्रेशन डॉक्स को पढ़ना चाहिए)।


4

विशिष्ट प्रश्नों को संबोधित करने के लिए:

क्या एक संग्रहण प्रारूप दूसरे की तुलना में अधिक मापनीय है?

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

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

क्या डेटा अखंडता चिंता / अंतर हैं?

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

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

क्या स्पष्ट रूप से परिभाषित स्थितियां हैं जहां आपको एक प्रारूप का दूसरे पर उपयोग करना चाहिए?

यह अधिक मामला है कि Maildir mbox को सार्वभौमिक रूप से पसंदीदा प्रारूप के रूप में बदलना शुरू कर रहा है, जिसमें कोई महत्वपूर्ण कमियां नहीं हैं।

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


3

मेलबॉक्स के अंदर एक पाठ की खोज करते समय और मेल फ़ाइल में एक नए मेल को जोड़ने पर एमबॉक्स तेज होता है, लेकिन इससे मेल भ्रष्टाचार होता है और नेटवर्क फ़ाइल सिस्टम के साथ समस्या हो सकती है। इसके अलावा, फ़ाइल लॉकिंग एक समस्या हो सकती है।

Maildir के साथ, विशिष्ट मेल पुनर्प्राप्त करना अधिक तेज़ है, और फ़ाइल लॉकिंग या नेटवर्क फ़ाइल सिस्टम के कारण कोई समस्या नहीं है (उदाहरण: Maildir के साथ, आप विभिन्न NFS शेयरों में विभिन्न मेल फ़ोल्डर संग्रहीत कर सकते हैं, यह Mbox के साथ प्राप्त नहीं किया जा सकता है)। जब एक फाइलसिस्टम एक बड़ी संख्या में फाइलों को संभालने में कुशल नहीं होता है, तो आप मेलडिर के साथ समस्या कर सकते हैं।

मैं समझता हूं कि आपको एक स्केलेबल समाधान की आवश्यकता है, इससे पहले कि आप एक या दूसरे का चयन करें, इस दस्तावेज़ को पढ़ना सुनिश्चित करें: (भले ही आप कूरियर का उपयोग नहीं कर रहे हों)

बेंचमार्किंग मेलबॉक्स बनाम मेलडिर


चीजों को परिप्रेक्ष्य में रखने के लिए, बेंचमार्क मुख्य रूप से दो अलग-अलग आईएमएपी सर्वरों के बीच एक बेंचमार्क है, और यह कूरियर आईएमएपी सर्वर (जो मेलडिर का उपयोग करता है) के लेखक द्वारा किया गया है, और यह 2001 में 2003 के माध्यम से किया गया था। "उच्च अंत कंप्यूटर" यह परीक्षण किया गया था कि एक पेंटियम- II युग सेलेरोन है जिसमें 256MB PC-100 SDRAM, ext2 फाइलसिस्टम के साथ है। हालांकि, यह मेलडिर स्केलेबिलिटी के बारे में बताता है, हालांकि, शायद वे आज भी उससे कहीं ज्यादा सच हैं।
22
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.