Maildir ve Mbox arasındaki pratik farklar nelerdir?


39

Her iki depolama formatının temellerini (Maildir altında e-posta başına 1 dosya, mbox altında posta kutusu başına 1 tek dosya) temel olarak anladığım halde, pratik uygulamaların burada ne olduğunu merak ediyorum -

  • Bir depolama formatı diğerinden daha fazla ölçeklenebilir mi?
  • Veri bütünlüğü endişeleri / farklılıkları var mı?
  • Bir formatı diğerine kullanmanız gereken açıkça tanımlanmış durumlar var mı?

Yanıtlar:


21

Posta kutularını posta ekinden yönetme. Asla. İletileri, uygun işlevselliğe sahip POP / IMAP sunucusu üzerinden gönderilmek üzere yönlendirin. Dovecot durumunda, kullanıcı kontrollü mesaj filtreleme, kota yönetimi, otomatik başvuru vb. Gibi her şeyi ve daha fazlasını yapan dovecot-ldaaka delivervardır.

Yine de maildir, maibox ile karşılaştırmalı olarak birçok geliştirme nedeniyle daha yeni ve tercih edilen bir formattır. Maildir, her klasör için kopyaları, son kullanma zamanlarını ve hatta tam metin aramasını kontrol etmeyi sağlayan bir dizine sahiptir. Ayrıca, maildir çok büyük bir mesaj yığınında çok daha hızlıdır. Dovecot, 300k mesajlarıyla maildir'i gözle görülür bir yavaşlama olmadan kolayca çalıştırabilir. Posta kutusu böyle büyük bir problemdir. Ayrıca, çoğu modern POP / IMAP sunucusu, büyük altyapıdaki ortak görevler için birçok yardımcı programa sahiptir.


14

Eğer posta depolama için NFS kullanıyorsanız, yok olursa olsun hiçbir koşulda mbox'u kullanın. Ve ölçeklenebilir bir çözüm istiyorsanız, Maildir.

Mbox biçimindeki asıl sorun dosya kilitleme sorunudur - birden fazla posta sunucunuz varsa veya aynı anda posta kutusuna erişmeye çalışan birden fazla işleminiz varsa, bozuk bir posta kutusu alma riskiniz büyüktür. Posta kutusundan geçmek ve örneğin bir sıçrama fırtınası yaşadığınızda çok sayıda mesajı silmek zordur.

Maildir, birden fazla posta sunucunuz olduğunda veya bir sunucu üzerinde birkaç işlem olduğunda, IMAP veya POP sunucusu hesaba erişirken aynı hesaba e-posta göndererek sorunsuz çalışacak şekilde tasarlanmıştır.

Maildir ile ilgili asıl sorun, çok sayıda düğümü işlerken yavaşlayan bir dosya sistemi kullanıyorsanız ve yedekleme sisteminiz birden fazla dosyayı işlemede kötüyse. Dosya sistemlerine gelince, bir ISS'de e-postayla e-posta gönderdiğimde VXFS bunun için en iyisiydi. Yedeklemeler için hiçbir tavsiyem yok; Maalesef çoğu, küçük bir dosya yerine, veritabanlarının sunucularını kullanmak için tasarlanmış gibi görünüyor.


4

Postfix, çoğunlukla umursamıyor. Sadece postaları bir dosyaya dolduruyor. İlgi çekici kısım, makineden IMAP (veya POP3) ile posta almak istediğinizde gelir. Çoğu IMAP sunucusu (denedim) Maildir'leri tercih ediyor, çünkü bunlar IMAP sunucusunun isteyebileceği çeşitli meta verilerle genişletilebiliyor, temel "bu bir Maildir" yapısını koruyarak hala IMAP sunucusunu bozmadan değiştirebiliyorsunuz. Çok fazla (açıkça posta bayraklarını da içeren meta verileri kaybedeceksiniz, bu nedenle gerçekten geçiş yapmak istiyorsanız IMAP sunucusunun geçiş belgelerini okumalısınız).


4

Belirli soruları ele almak için:

Bir depolama formatı diğerinden daha fazla ölçeklenebilir mi?

mbox daha da büyürken yönetimi zorlaşır. Her şeyi büyük bir blokta sakladığından, artımlı olarak yedekleme yapmak zor olabilir ve bu tür bir erişim olurken mbox'ı yazmaya karşı kilitler. Bazı yolsuzluklar varsa, onarmaya veya kurtarmaya çalışmak çok daha zordur - bunun daha fazla posta depoladığı için artan bir risk olduğunu söyleyebilirsiniz.

Maildir, karakteristik olarak mesaj başına bir çok küçük dosya yaratacağından ölçeklenebilirliği için temel dosya sistemine güvenir. Çok fazla e-posta adresiniz varsa, Maildir genellikle başa çıkmak için daha kolay ve hızlıdır.

Veri bütünlüğü endişeleri / farklılıkları var mı?

Evet, en önemlisi, mbox'ın tüm arşivde okuma / yazma dosyalarının kilitlenmesini gerektirdiği, yani okumaların yazmayı beklemesi ve her yazma işleminin diğer tüm erişimler için beklemesi gerektiğidir. NFS paylaşımında olduğu gibi kilitlemenin mümkün olmadığı bir şekilde kullanılmışsa, arşiv yolsuzluğa maruz kalır. Herhangi bir rastgele bozulma, tek bir mesaj yerine tüm arşivi etkileyebilir.

Maildir ile kilitleme, çoğu işlem için ayrı mesaj düzeyinde olabilir ve herhangi bir dosyadaki bozulma yalnızca bu mesajı etkileyecektir. Mesajların içindeki indeksler, mesajların kendisinden gerektiğinde yeniden oluşturulabilir.

Bir formatı diğerine kullanmanız gereken açıkça tanımlanmış durumlar var mı?

Maildir'in mbox'ı evrensel olarak tercih edilen format olarak değiştirmeye başlaması daha da önemli dezavantajlara yol açıyor.

Temel sınırlaması, bazı dosya sistemlerini zorlama ve / veya dosya sistemi küme boyutuna bağlı olarak verimsiz olma yeteneğine sahip birçok küçük dosya oluşturulmasıdır. Bu, modern dosya sistemlerinde sorun değil. Ayrıca yedekleme stratejinizi de bilgilendirebilir, ancak genel olarak seçtiğiniz yedekleme stratejisine daha fazla esneklik kazandırır.


3

Mbox, bir posta kutusunun içindeki bir metni ararken ve posta dosyasına yeni bir posta eklerken hızlıdır, ancak posta bozulmasına neden olabilir ve ağ dosya sistemlerinde sorun yaşayabilir. Ayrıca, Dosya kilitleme bir sorun olabilir.

Maildir ile belirli postaları almak daha hızlıdır ve dosya kilitleme veya ağ dosya sistemleri nedeniyle herhangi bir sorun yaşar (Örnek: Maildir ile farklı posta klasörlerini farklı NFS paylaşımlarında saklayabilirsiniz, bu Mbox ile elde edilemez). Bir dosya sistemi çok sayıda dosyayı işlemede etkin olmadığında Maildir ile ilgili sorunlar yaşayabilirsiniz.

Ölçeklenebilir bir çözüme ihtiyacınız olduğunu biliyorum, birini veya diğerini seçmeden önce bu belgeyi okuduğunuzdan emin olun: (Courier kullanmasanız bile)

Maildir ve mbox karşılaştırması


İşleri perspektife koymak için, bu kıyaslama öncelikle iki farklı IMAP sunucusu arasında bir kriterdir ve Courier IMAP sunucusunun (Maildir kullanan) yazarı tarafından yapılır ve 2001 - 2003 yılları arasında yapılmıştır. ext2 dosya sistemine sahip 256 MB PC-100 SDRAM içeren bir Pentium-II dönemi Celeron üzerinde test edildi. Maildir ölçeklenebilirliği ile ilgili iddiaları, bugün muhtemelen onlardan daha da doğrudur.
thomasrutter
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.