Skip to content
Mbox Viewer

Streaming parser

파일 전체를 한 번에 메모리에 로드하는 대신 작은 청크로 점진적으로 읽는 파싱 기법으로, 도구가 수십 또는 수백 기가바이트의 매우 큰 MBOX 파일을 낮은 메모리 사용량으로 열고 인덱싱할 수 있게 합니다.

스트리밍 파서는 파일을 바이트 또는 줄의 시퀀스로 처리하며, 어느 순간에도 작은 버퍼와 현재 파싱 상태만 유지합니다. 이는 파싱을 시작하기 전에 전체 파일을 메모리에 읽는 버퍼링 방식과 대조됩니다. MBOX 파일의 경우 스트리밍 파서는 "From " 구분 줄인 메시지 경계를 식별하고, 헤더를 추출하고, 한 번에 하나 이상의 메시지를 메모리에 보유하지 않고 바이트 오프셋을 기록할 수 있습니다.

실용적인 이점은 파일 크기가 더 이상 제한이 되지 않는다는 것입니다. 수년에 걸친 Gmail 아카이브의 50GB MBOX 내보내기는 1MB 테스트 파일과 동일한 방식으로 열립니다. 파서가 순차적으로 읽으면서 메시지 위치의 경량 인덱스를 구축하고, 선택하면 모든 메시지로 직접 이동합니다. 메모리 사용량은 아카이브 크기에 관계없이 대략 일정하게 유지됩니다.

Mbox Viewer의 스트리밍 파서는 이 사용 사례를 위해 설계되었습니다. MBOX 파일을 처음 열면 파일을 스트리밍하여 각 메시지의 바이트 오프셋과 키 메타데이터를 기록하는 바이너리 인덱스를 구축합니다. 이후 열기 시 인덱스가 1초 이내에 로드되므로 파서는 실제로 여는 메시지만 재스트리밍하면 됩니다.

관련 용어

Mac에서 MBOX 파일을 읽어보세요