Como abrir um arquivo MBOX de 50 GB
Arquivos MBOX grandes não derrubam os leitores por estarem corrompidos — derrubam porque a maioria dos leitores carrega o arquivo inteiro na memória antes de mostrar qualquer coisa. O que mudam um analisador em streaming e um índice, com números reais.
Use um leitor que percorra o arquivo em streaming em vez de carregá-lo. Com um deles, uma caixa de correio de 50 GB com cerca de meio milhão de mensagens abre em menos de cinco minutos, fica abaixo de 600 MB de RAM e reabre em menos de um segundo daí em diante. Sem um deles, o tamanho do seu arquivo é irrelevante: o leitor vai cair em algum ponto entre 500 MB e 2 GB de qualquer jeito.
Por que todo o resto engasga?
Porque a maneira direta de escrever um leitor de e-mail é analisar o arquivo, montar uma lista de mensagens na memória e mostrá-la. Isso funciona lindamente nos testes, onde a caixa de exemplo tem 40 MB.
Aí alguém abre uma exportação do Gmail. O analisador agora quer segurar meio milhão de mensagens na RAM ao mesmo tempo, o processo estoura o que a máquina tem, e você fica com uma ampulheta que nunca termina, com o programa fechando sozinho ou — o pior de todos — com uma janela que aparece depois de vinte minutos e trava a cada clique.
O arquivo não é o problema. Um MBOX de 50 GB é um MBOX perfeitamente comum; o formato não tem limite de tamanho e nunca teve. O que tem limite é a suposição de que tudo cabe na memória.
O que streaming quer dizer na prática
Um analisador em streaming percorre o arquivo em pedaços pequenos — o Mbox Viewer usa um buffer de 1 MB — e anota onde cada mensagem começa, em vez de guardar a mensagem em si. O uso de memória depende de quantas mensagens existem, não do tamanho delas, e um cache segura o punhado que você está lendo de fato.
A consequência prática: abrir um arquivo de 50 GB custa mais ou menos a mesma RAM que abrir um de 500 MB. Os números que publicamos, da página de recursos:
| Tamanho | Mensagens | Primeira abertura | Reabertura | RAM |
|---|---|---|---|---|
| 500 MB | ~5.000 | < 5 s | < 1 s | < 100 MB |
| 5 GB | ~50.000 | < 30 s | < 1 s | < 200 MB |
| 50 GB | ~500.000 | < 5 min | < 1 s | < 600 MB |
Por que a segunda abertura é instantânea
Porque aquela primeira passagem produz algo que vale a pena guardar: um índice binário com o ponto em que cada mensagem começa. Reabrir é carregar o índice, não reler 50 GB.
O índice é validado com SHA-256: se a caixa de correio mudar por baixo dele — você trocou o arquivo, ou acrescentou coisas no fim —, o aplicativo percebe e reconstrói, em vez de lhe mostrar uma lista velha. Ele vive fora da sua caixa, que continua byte a byte como estava.
Cinco minutos uma vez, um segundo em todas as outras. Para um arquivo que você consulta de vez em quando ao longo dos anos, essa proporção é toda a diferença entre um arquivo que você usa e um arquivo que você evita.
A busca continua funcionando nesse tamanho?
Continua, e é por ela que vale a pena. Meio milhão de mensagens não é coisa que se role; é coisa que se consulta. from:, to:, subject:, body:, date:, has:attachment, size:>, frases exatas, OR e negação — o guia rápido tem o conjunto completo.
A busca no corpo de fato lê o e-mail, então num arquivo muito grande ela se mede em segundos, e não em instantes. As buscas por cabeçalho — remetente, assunto, data — voltam na hora, e respondem à maioria das perguntas.
Não seria melhor dividir o arquivo?
Às vezes, mas com menos frequência do que se imagina. Dividir compensa quando você precisa mesmo dos pedaços separados — um arquivo por ano para arquivar, ou uma fatia para entregar a alguém. Não compensa só para tornar o arquivo abrível, porque não resolve nada se o problema do seu leitor é o leitor.
Se quiser mesmo dividir, temos um guia para caixas grandes do Thunderbird. E se o que você precisa é entregar um subconjunto, exportar uma seleção como um MBOX novo é mais limpo: busque ou filtre até chegar ao que está no escopo, grave essas mensagens num arquivo novo e deixe o original em paz.
Notas práticas para arquivos muito grandes
- Espaço em disco: você precisa de espaço para o índice, não para uma cópia do e-mail. É uma fração do tamanho da caixa.
- Não deixe o arquivo num compartilhamento de rede na primeira abertura. Streaming quer dizer ler o arquivo inteiro uma vez, e fazer isso por Wi-Fi transforma cinco minutos numa tarde inteira. Copie para o disco local, abra, devolva.
- Exportações do Takeout em várias partes: o Google divide caixas muito grandes em vários arquivos. Cada um abre por conta própria, e dá para fundi-los numa caixa só, com as mensagens duplicadas removidas por Message-ID se as partes se sobrepuserem.
- A versão gratuita abre até 1 GB. Acima disso é uma compra única — sem assinatura, sem conta.
Abra seu arquivo com o Mbox Viewer
App nativo para Mac e Windows. Processa arquivos MBOX e EML de qualquer tamanho, totalmente offline.