Quais são as diferenças práticas entre o Maildir e o Mbox?

35

Embora eu entenda o básico dos dois formatos de armazenamento (1 arquivo por e-mail no Maildir vs. 1 arquivo único por caixa de correio no mbox), estou imaginando quais são as implicações práticas aqui -

  • Um formato de armazenamento é mais escalável que o outro?
  • Existem preocupações / diferenças de integridade de dados?
  • Existem situações claramente definidas em que você deve usar um formato sobre o outro?
por olympe26 01.01.2014 / 15:44

5 respostas

19

Não gerencie caixas de correio do postfix. Nunca. Redirecionar mensagens para entrega via servidor POP / IMAP que tenha funcionalidade apropriada. No caso do dovecot, há dovecot-lda aka deliver que faz tudo e muito mais, como filtragem de mensagens controladas pelo usuário, gerenciamento de cotas, autoreplying e assim por diante.

De qualquer forma, o maildir é um formato mais novo e preferível devido às muitas melhorias comparativamente à maibox. O Maildir possui um índice para cada pasta que permite controlar duplicatas, tempos de expiração e até mesmo pesquisa de texto completo. Além disso, maildir é significativamente mais rápido em uma enorme pilha de mensagens. O Dovecot pode facilmente operar o maildir com 300k mensagens sem qualquer lentidão visível. A caixa de correio tão grande é um problema em si. Além disso, a maioria dos servidores POP / IMAP modernos tem muitos utilitários para tarefas comuns em grandes infraestruturas.

    
por 01.01.2014 / 16:05
13

Se você estiver usando o NFS para armazenamento de mensagens, não use o mbox sob nenhuma circunstância. E se você quiser uma solução escalável, o Maildir é o caminho a ser seguido.

O principal problema com o formato mbox é o de bloqueio de arquivo - se você tiver mais de um servidor de e-mail ou mais de um processo tentando acessar a caixa de correio ao mesmo tempo, você corre um grande risco de obter uma caixa de correio corrompida . Também é difícil passar por uma caixa de correio e excluir um grande número de mensagens, por exemplo, quando você sofre uma tempestade.

O Maildir foi projetado para funcionar sem falhas quando você tem vários servidores de e-mail ou vários processos em um servidor, entregando e-mails para a mesma conta ao mesmo tempo em que o servidor IMAP ou POP acessa a conta.

O principal problema com o Maildir é se você estiver usando um sistema de arquivos que fica lento ao manipular muitos inodes, e se o seu sistema de backup é ruim para manipular vários arquivos. Quanto aos sistemas de arquivos, quando eu fazia o e-mail sysadmining em um ISP, o VXFS era o melhor para isso. Para backups, não tenho nenhuma recomendação; infelizmente, a maioria deles parece ter sido projetada para lidar com servidores de banco de dados, em vez de usar um zilhão de arquivos pequenos.

    
por 02.01.2014 / 10:36
4

O postfix não se importa, principalmente. Apenas insere o email em algum arquivo. A parte intersting vem quando você quer buscar o correio da máquina via IMAP (ou POP3). A maioria dos servidores IMAP (eu tentei) preferem Maildirs, pois eles são mais facilmente extensíveis com vários meta-dados que o servidor IMAP pode querer, mantendo uma estrutura básica "isso é um Maildir", então você pode substituir o servidor IMAP sem quebrar demais (obviamente, você perderá os meta-dados, que também incluem sinalizadores de email, portanto, você deve ler os documentos de migração do servidor IMAP se quiser realmente mudar).

    
por 01.01.2014 / 16:06
3

Para abordar as questões específicas:

Is one storage format more scalable than the other?

O mbox tende a tornar-se difícil de gerenciar quanto maior ele recebe. Como ele armazena tudo em um grande blob, pode ser difícil fazer backup incrementalmente, e esse acesso bloqueará a mbox contra gravações enquanto isso acontece. Se houver alguma corrupção, é muito mais difícil tentar reparar ou recuperar - o que você pode dizer é um risco que aumenta à medida que armazena mais e-mails.

O Maildir conta com o sistema de arquivos subjacente para sua escalabilidade, pois caracteristicamente cria muitos arquivos pequenos, um por mensagem. Se você tem muitos e-mails, o Maildir geralmente é mais fácil e rápido de lidar.

Are there data integrity concerns / differences?

Sim, a principal é que o mbox requer o bloqueio de arquivos de leitura / gravação em todo o archive, o que significa que as leituras devem aguardar gravações e cada gravação individual deve aguardar todos os outros acessos. Se ele foi usado de forma que o bloqueio não seja possível, como em um compartilhamento NFS, o arquivo está sujeito a corrupção. Qualquer corrupção aleatória pode afetar todo o arquivo, em vez de uma única mensagem.

Com o Maildir, o bloqueio pode estar no nível da mensagem individual, para a maioria das operações, e a corrupção em qualquer arquivo afetará apenas essa mensagem. Quaisquer índices nas mensagens podem ser reconstruídos, se necessário, a partir das próprias mensagens.

Are there clearly defined situations where you should use one format over the other?

É mais o caso que o Maildir está começando a substituir o mbox como o formato preferido universalmente, sem inconvenientes significativos.

Sua principal limitação é a criação de muitos, muitos arquivos pequenos, que tinham a capacidade de sobrecarregar alguns sistemas de arquivos e / ou serem ineficientes dependendo do tamanho do cluster do sistema de arquivos. Este é um problema menor em sistemas de arquivos modernos. Ele também pode informar sua estratégia de backup, mas, no geral, oferece mais flexibilidade à sua escolha de estratégia de backup.

    
por 10.10.2017 / 00:53
2

O Mbox é rápido ao pesquisar um texto dentro de uma caixa de correio e anexar um novo e-mail ao arquivo de mensagens, mas é propenso a corrupção de mensagens e pode ter problemas com os sistemas de arquivos da rede. Além disso, o bloqueio de arquivos pode ser um problema.

Com o Maildir, a recuperação de e-mails específicos é mais rápida e não causa problemas devido ao bloqueio de arquivos ou sistemas de arquivos de rede (Exemplo: Com o Maildir, você pode armazenar pastas de e-mail diferentes em compartilhamentos NFS diferentes, isso não pode ser feito com o Mbox). Você pode ter problemas com o Maildir quando um sistema de arquivos não é eficiente ao lidar com um grande número de arquivos.

Eu entendo que você precisa de uma solução escalável, antes de escolher um ou outro, não deixe de dar uma lida neste documento: (mesmo que você não esteja usando o Courier)

Comparação entre mbox e maildir

    
por 01.01.2014 / 16:07