Streaming-Parser
Eine Analysetechnik, die eine Datei inkrementell in kleinen Blöcken liest, anstatt die gesamte Datei auf einmal in den Speicher zu laden. Sie ermöglicht es Werkzeugen, sehr große MBOX-Dateien – Dutzende oder Hunderte von Gigabyte – mit geringem Speicherverbrauch zu öffnen und zu indizieren.
Ein Streaming-Parser verarbeitet eine Datei als Folge von Bytes oder Zeilen, wobei er jederzeit nur einen kleinen Puffer und den aktuellen Analysezustand vorhält. Dies steht im Gegensatz zu einem gepufferten Ansatz, der die gesamte Datei in den Speicher liest, bevor die Analyse beginnt. Bei MBOX-Dateien kann ein Streaming-Parser Nachrichtengrenzen (die "From "-Trennzeilen) erkennen, Kopfzeilen extrahieren und Byte-Offsets aufzeichnen, ohne jemals mehr als eine Nachricht gleichzeitig im Speicher zu halten.
Der praktische Nutzen besteht darin, dass die Dateigröße kein Hindernis mehr darstellt. Ein 50-GB-MBOX-Export aus einem jahrelangen Gmail-Archiv öffnet sich genauso wie eine 1-MB-Testdatei – der Parser liest ihn sequenziell durch, baut einen leichtgewichtigen Index der Nachrichtenpositionen auf und springt dann direkt zu jeder Nachricht, die ausgewählt wird. Der Speicherverbrauch bleibt unabhängig von der Archivgröße nahezu konstant.
Mbox Viewers Streaming-Parser ist für diesen Anwendungsfall konzipiert. Beim ersten Öffnen einer MBOX-Datei liest er sie durch, um einen Binärindex aufzubauen, der den Byte-Offset und wichtige Metadaten jeder Nachricht aufzeichnet. Bei nachfolgenden Öffnungen wird der Index in unter einer Sekunde geladen, sodass der Parser nur noch Nachrichten neu einlesen muss, die tatsächlich geöffnet werden.
Verwandte Begriffe
Eine kompakte Indexdatei, die Mbox Viewer nach dem ersten Analysieren neben einem MBOX-Archiv schreibt. Sie speichert Nachrichten-Byte-Offsets und Metadaten, um nahezu sofortige Neuöffnungen zu ermöglichen, ohne die gesamte Datei erneut zu scannen.
Ein Klartextdateiformat, das mehrere E-Mail-Nachrichten hintereinander speichert, wobei jede Nachricht mit einer "From "-Trennzeile beginnt. Es ist das Format, das Google Takeout beim Export eines Gmail-Archivs erzeugt.