Sự khác biệt thực tế giữa Maildir và Mbox là gì?


39

Mặc dù tôi hiểu những điều cơ bản của hai định dạng lưu trữ (1 tệp cho mỗi email trong Maildir so với 1 tệp duy nhất cho mỗi hộp thư trong mbox), tôi tự hỏi ý nghĩa thực tế ở đây là gì -

  • Là một định dạng lưu trữ có khả năng mở rộng hơn so với định dạng khác?
  • Có mối quan tâm / sự khác biệt toàn vẹn dữ liệu?
  • Có các tình huống được xác định rõ ràng trong đó bạn nên sử dụng một định dạng trên định dạng khác?

Câu trả lời:


21

Đừng quản lý hộp thư từ postfix. Không bao giờ. Chuyển hướng tin nhắn để gửi qua máy chủ POP / IMAP có chức năng phù hợp. Trong trường hợp dovecot, có dovecot-ldaaka deliverlàm mọi thứ và hơn thế nữa, như lọc thư do người dùng kiểm soát, quản lý hạn ngạch, tự động gửi thư, v.v.

Dù sao maildir là định dạng mới hơn và thích hợp hơn do có rất nhiều cải tiến so với maibox. Maildir có một chỉ mục cho mỗi thư mục cho phép kiểm soát các bản sao, thời gian hết hạn và thậm chí tìm kiếm toàn văn. Ngoài ra, maildir nhanh hơn đáng kể trên một đống thư khổng lồ. Dovecot có thể dễ dàng vận hành maildir với 300k tin nhắn trong đó mà không bị chậm lại. Hộp thư lớn như vậy là một vấn đề chính nó. Ngoài ra, hầu hết các máy chủ POP / IMAP hiện đại có rất nhiều tiện ích cho các tác vụ phổ biến trong cơ sở hạ tầng lớn.


14

Nếu bạn đang sử dụng NFS để lưu trữ thư, không sử dụng mbox trong bất kỳ trường hợp nào. Và nếu bạn muốn một giải pháp có thể mở rộng, Maildir là cách tốt nhất.

Vấn đề chính với định dạng mbox là do khóa tệp - nếu bạn có nhiều máy chủ thư hoặc nhiều quá trình cố gắng truy cập hộp thư cùng một lúc, bạn sẽ gặp rủi ro lớn khi nhận được hộp thư bị hỏng. Chẳng hạn, rất khó để đi qua hộp thư và xóa một số lượng lớn thư, ví dụ như khi bạn phải hứng chịu một cơn bão.

Maildir được thiết kế để hoạt động mà không gặp sự cố khi bạn có một số máy chủ thư hoặc một số quy trình trên một máy chủ, gửi email đến cùng một tài khoản cùng lúc với máy chủ IMAP hoặc POP đang truy cập vào tài khoản.

Vấn đề chính với Maildir là nếu bạn đang sử dụng một hệ thống tệp bị chậm khi xử lý quá nhiều nút và nếu hệ thống sao lưu của bạn không tốt trong việc xử lý nhiều tệp. Đối với các hệ thống tệp, trở lại khi tôi gửi email sysadmining tại một ISP, VXFS là tốt nhất cho việc này. Để sao lưu, tôi không có bất kỳ khuyến nghị nào; Thật không may, hầu hết trong số chúng dường như được thiết kế để xử lý các máy chủ databas chứ không phải là một tập tin nhỏ.


4

Postfix không quan tâm, chủ yếu. Nó chỉ nhồi thư vào một số tập tin. Phần xen kẽ xuất hiện khi bạn muốn lấy thư từ máy qua IMAP (hoặc POP3). Hầu hết các máy chủ IMAP (tôi đã thử) thích Maildir, vì chúng dễ mở rộng hơn với nhiều dữ liệu meta khác nhau mà máy chủ IMAP có thể muốn, trong khi vẫn duy trì cấu trúc "đây là Maildir" cơ bản, do đó bạn có thể thay thế máy chủ IMAP mà không bị hỏng quá nhiều (rõ ràng bạn sẽ mất dữ liệu meta, cũng bao gồm các cờ thư, vì vậy bạn nên đọc tài liệu di chuyển của máy chủ IMAP nếu bạn muốn thực sự chuyển đổi).


4

Để giải quyết các câu hỏi cụ thể:

Là một định dạng lưu trữ có khả năng mở rộng hơn so với định dạng khác?

mbox có xu hướng trở nên khó quản lý càng lớn. Vì nó lưu trữ mọi thứ trong một đốm lớn, nên có thể khó sao lưu tăng dần và truy cập như vậy sẽ khóa mbox chống lại việc ghi trong khi nó xảy ra. Nếu có một số tham nhũng, sẽ khó hơn rất nhiều để cố gắng sửa chữa hoặc khôi phục - điều mà bạn có thể nói là rủi ro tăng lên khi lưu trữ nhiều thư hơn.

Maildir dựa vào hệ thống tệp cơ bản cho khả năng mở rộng của nó, vì nó sẽ tạo ra nhiều tệp nhỏ, mỗi tệp một cách đặc trưng. Nếu bạn có nhiều email, Maildir thường dễ dàng hơn và nhanh hơn để xử lý.

Có mối quan tâm / sự khác biệt toàn vẹn dữ liệu?

Có, cái chính là mbox yêu cầu khóa đọc / ghi tệp trên toàn bộ kho lưu trữ, nghĩa là đọc phải chờ ghi và mỗi lần ghi riêng lẻ phải chờ cho tất cả các truy cập khác. Nếu nó được sử dụng theo cách mà việc khóa không thể thực hiện được, chẳng hạn như trên một chia sẻ NFS, thì kho lưu trữ có thể bị tham nhũng. Bất kỳ tham nhũng ngẫu nhiên nào cũng có thể ảnh hưởng đến toàn bộ kho lưu trữ hơn là một tin nhắn.

Với Maildir, việc khóa có thể ở cấp độ của từng thư, đối với hầu hết các hoạt động và tham nhũng trong bất kỳ tệp nào sẽ chỉ ảnh hưởng đến thư đó. Bất kỳ chỉ mục nào trong các tin nhắn đều có thể được xây dựng lại nếu cần từ chính các tin nhắn.

Có các tình huống được xác định rõ ràng trong đó bạn nên sử dụng một định dạng trên định dạng khác?

Thêm nữa là trường hợp Maildir đang bắt đầu thay thế mbox thành định dạng được ưa thích trên toàn cầu, không có nhược điểm đáng kể.

Hạn chế chính của nó là tạo ra nhiều, rất nhiều tệp nhỏ, có khả năng gây căng thẳng cho một số hệ thống tệp và / hoặc không hiệu quả tùy thuộc vào kích thước cụm hệ thống tệp. Đây không phải là một vấn đề với các hệ thống tập tin hiện đại. Nó cũng có thể thông báo chiến lược sao lưu của bạn, nhưng về tổng thể, nó mang lại sự linh hoạt hơn cho lựa chọn chiến lược sao lưu của bạn.


3

Mbox rất nhanh khi tìm kiếm một văn bản trong hộp thư và nối thêm một thư mới vào tệp thư, nhưng nó dễ bị hỏng thư và có thể có vấn đề với hệ thống tệp mạng. Ngoài ra, khóa tệp có thể là một vấn đề.

Với Maildir, việc truy xuất thư cụ thể nhanh hơn và không gặp sự cố do khóa tệp hoặc hệ thống tệp mạng (Ví dụ: Với Maildir, bạn có thể lưu trữ các thư mục thư khác nhau trong các chia sẻ NFS khác nhau, điều này không thể đạt được với Mbox). Bạn có thể gặp sự cố với Maildir khi hệ thống tệp không hiệu quả khi xử lý một số lượng lớn tệp.

Tôi hiểu rằng bạn cần một giải pháp có thể mở rộng, trước khi bạn chọn cái này hay cái khác, hãy chắc chắn đọc một tài liệu này: (Ngay cả khi bạn không sử dụng Chuyển phát nhanh)

Điểm chuẩn mbox so với maildir


Để đặt mọi thứ vào viễn cảnh, điểm chuẩn đó chủ yếu là điểm chuẩn giữa hai máy chủ IMAP khác nhau và được thực hiện bởi tác giả của máy chủ Courier IMAP (sử dụng Maildir) và được thực hiện vào năm 2001 đến 2003. "Máy tính cao cấp" nó đã được thử nghiệm trên chiếc Celeron thời Pentium-II với 256 MB PCRAM 100, với hệ thống tập tin ext2. Tuy nhiên, những khẳng định mà nó đưa ra về khả năng mở rộng của Maildir, tuy nhiên, có lẽ thậm chí còn đúng hơn ngày nay so với trước đây.
thomasrutter
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.