Skip to content
Mbox Viewer

Streaming parser

ファイル全体を一度にメモリに読み込むのではなく、小さなチャンクに分けてインクリメンタルにファイルを読み取る解析技術で、数十〜数百ギガバイトの非常に大きな MBOX ファイルを低メモリ使用量で開き、インデックス化することを可能にします。

ストリーミングパーサーはファイルをバイトまたは行のシーケンスとして処理し、任意の時点で小さなバッファと現在の解析状態のみを維持します。これは解析を始める前にファイル全体をメモリに読み込むバッファリングアプローチとは対照的です。MBOX ファイルに対して、ストリーミングパーサーはメッセージの境界(「From 」セパレーター行)を識別し、ヘッダーを抽出し、一度に複数のメッセージをメモリに保持することなくバイトオフセットを記録できます。

実際的な利点はファイルサイズが制限でなくなることです。数年分の Gmail アーカイブの 50 GB の MBOX エクスポートも、1 MB のテストファイルと同じように開けます—パーサーが順次読み込んでメッセージ位置の軽量インデックスを構築し、選択したメッセージに直接シークします。メモリ使用量はアーカイブサイズに関わらずほぼ一定を保ちます。

Mbox Viewer のストリーミングパーサーはこのユースケースのために設計されています。MBOX ファイルの初回起動時、各メッセージのバイトオフセットとキーメタデータを記録するバイナリインデックスを構築するためにファイルをストリーミングします。以降の起動ではインデックスが1秒未満で読み込まれるため、パーサーは実際に開くメッセージだけを再ストリーミングすれば良くなります。

関連用語

Mac で MBOX ファイルを開く