Apa perbedaan praktis antara Maildir dan Mbox?

39

Meskipun saya memahami dasar-dasar dua format penyimpanan (1 file per email di bawah Maildir vs 1 file tunggal per kotak surat di bawah mbox), saya bertanya-tanya apa implikasi praktisnya di sini -

  • Apakah satu format penyimpanan lebih terukur dari yang lainnya?
  • Apakah ada masalah / perbedaan integritas data?
  • Apakah ada situasi yang jelas di mana Anda harus menggunakan satu format di atas yang lain?
olympe26
sumber

Jawaban:

21

Jangan kelola kotak surat dari postfix. Tak pernah. Redirect pesan untuk pengiriman melalui server POP / IMAP yang memiliki fungsi yang sesuai. Dalam hal dovecot ada dovecot-ldaalias deliveryang melakukan segalanya dan banyak lagi, seperti pemfilteran pesan yang dikontrol pengguna, manajemen kuota, autoreplying dan sebagainya.

Pokoknya maildir adalah format yang lebih baru dan lebih disukai karena banyak perbaikan dibandingkan dengan maibox. Maildir memiliki indeks untuk setiap folder yang memungkinkan untuk mengontrol duplikat, waktu kedaluwarsa, dan bahkan pencarian teks lengkap. Juga, maildir secara signifikan lebih cepat di tumpukan besar pesan. Dovecot dapat dengan mudah mengoperasikan maildir dengan 300 ribu pesan di dalamnya tanpa ada kelambatan yang terlihat. Kotak surat sebesar itu merupakan masalah tersendiri. Juga, sebagian besar server POP / IMAP modern memiliki banyak utilitas untuk tugas-tugas umum dalam infrastruktur besar.

Kondybas
sumber
14

Jika Anda menggunakan NFS untuk penyimpanan email, jangan gunakan mbox dalam keadaan apa pun. Dan jika Anda menginginkan solusi yang dapat diskalakan, Maildir adalah jalan yang harus ditempuh.

Masalah utama dengan format mbox adalah penguncian file - jika Anda memiliki lebih dari satu server surat, atau lebih dari satu proses yang mencoba mengakses kotak surat pada saat yang sama, Anda menjalankan risiko besar mendapatkan kotak surat yang rusak. Juga sulit untuk pergi melalui kotak surat dan menghapus sejumlah besar pesan, misalnya ketika Anda menderita badai bouncing.

Maildir dirancang untuk bekerja tanpa kegagalan ketika Anda memiliki beberapa server email, atau beberapa proses pada satu server, mengirimkan email ke akun yang sama pada saat yang sama ketika server IMAP atau POP mengakses akun.

Masalah utama dengan Maildir adalah jika Anda menggunakan sistem file yang melambat saat menangani terlalu banyak inode, dan jika sistem cadangan Anda buruk dalam menangani banyak file. Adapun sistem file, kembali ketika saya melakukan sysadmining email di ISP, VXFS adalah yang terbaik untuk ini. Untuk cadangan, saya tidak punya rekomendasi; sayangnya sebagian besar dari mereka tampaknya dirancang untuk menangani server database daripada satu trilyun file kecil.

Jenny D kata Reinstate Monica
sumber
4

Postfix tidak peduli, kebanyakan. Itu hanya memasukkan email ke beberapa file. Bagian yang memotong datang ketika Anda ingin mengambil surat dari mesin melalui IMAP (atau POP3). Sebagian besar server IMAP (saya mencoba) lebih suka Maildir, karena ini lebih mudah diperpanjang dengan berbagai meta-data yang diinginkan server IMAP, sambil tetap mempertahankan struktur dasar "ini adalah Maildir", sehingga Anda dapat mengganti server IMAP tanpa merusak terlalu banyak (Anda jelas akan kehilangan meta-data, yang juga termasuk bendera surat, jadi Anda harus membaca dokumen migrasi dari server IMAP jika Anda ingin benar-benar beralih).

zhenech
sumber
4

Untuk menjawab pertanyaan spesifik:

Apakah satu format penyimpanan lebih terukur dari yang lainnya?

mbox cenderung menjadi sulit untuk dikelola semakin besar. Karena ia menyimpan semuanya dalam satu gumpalan besar, mungkin akan sulit untuk membuat cadangan secara bertahap, dan akses tersebut akan mengunci mbox terhadap penulisan ketika itu terjadi. Jika ada beberapa korupsi, jauh lebih sulit untuk mencoba memperbaiki atau memulihkan - yang bisa Anda katakan adalah risiko yang meningkat karena menyimpan lebih banyak surat.

Maildir bergantung pada sistem file yang mendasarinya untuk skalabilitasnya, karena secara karakteristik akan membuat banyak file kecil, satu per pesan. Jika Anda memiliki banyak email, Maildir biasanya lebih mudah dan lebih cepat untuk dihadapi.

Apakah ada masalah / perbedaan integritas data?

Ya, yang utama adalah bahwa mbox memerlukan penguncian file baca / tulis pada seluruh arsip, artinya membaca harus menunggu untuk ditulis, dan setiap individu menulis harus menunggu semua akses lainnya. Jika itu digunakan sedemikian rupa sehingga penguncian tidak mungkin, seperti lebih dari bagian NFS, arsip dapat rusak. Setiap korupsi acak dapat mempengaruhi seluruh arsip daripada satu pesan.

Dengan Maildir, penguncian dapat dilakukan pada tingkat pesan individu, untuk sebagian besar operasi, dan korupsi dalam file apa pun hanya akan memengaruhi pesan itu. Setiap indeks ke dalam pesan dapat dibangun kembali jika diperlukan dari pesan itu sendiri.

Apakah ada situasi yang jelas di mana Anda harus menggunakan satu format di atas yang lain?

Maildir mulai menggantikan mbox sebagai format yang lebih disukai secara universal, tanpa kekurangan yang signifikan.

Keterbatasan utamanya adalah pembuatan banyak, banyak file kecil, yang memiliki kemampuan untuk membuat ketegangan pada beberapa sistem file dan / atau tidak efisien tergantung pada ukuran cluster sistem file. Ini bukan masalah dengan sistem file modern. Ini juga dapat menginformasikan strategi cadangan Anda, tetapi secara keseluruhan itu memberikan lebih banyak fleksibilitas untuk pilihan strategi cadangan Anda.

thomasrutter
sumber
3

Mbox cepat ketika mencari teks di dalam kotak surat dan menambahkan surat baru ke dalam file surat, tetapi rentan terhadap korupsi surat dan mungkin memiliki masalah dengan sistem file jaringan. Selain itu, penguncian file mungkin menjadi masalah.

Dengan Maildir, mengambil surat tertentu lebih cepat, dan tidak memiliki masalah karena penguncian file atau sistem file jaringan (Contoh: Dengan Maildir, Anda dapat menyimpan folder surat yang berbeda di bagian NFS yang berbeda, ini tidak dapat dicapai dengan Mbox). Anda dapat memiliki masalah dengan Maildir ketika sistem file tidak efisien menangani sejumlah besar file.

Saya memahami bahwa Anda memerlukan solusi yang skalabel, sebelum Anda memilih satu atau yang lain, pastikan untuk membaca dokumen ini: (Bahkan jika Anda tidak menggunakan Kurir)

Membandingkan mbox dengan maildir

Gabriel Talavera
sumber
Untuk meletakkan segala sesuatu dalam perspektif, tolok ukur itu terutama merupakan tolok ukur antara dua server IMAP yang berbeda, dan dilakukan oleh penulis server IMAP Courier (yang menggunakan Maildir), dan dilakukan pada tahun 2001 hingga 2003. "Komputer canggih" itu diuji pada adalah era Pentium-II Celeron dengan 256MB PC-100 SDRAM, dengan sistem file ext2. Pernyataan yang dibuatnya tentang skalabilitas Maildir, bagaimanapun, mungkin bahkan lebih benar hari ini daripada sebelumnya.
thomasrutter