Parser strumieniowy
Technika parsowania, która odczytuje plik przyrostowo w małych fragmentach zamiast ładować cały plik do pamięci naraz, umożliwiając narzędziom otwieranie i indeksowanie bardzo dużych plików MBOX — dziesiątek lub setek gigabajtów — przy niskim zużyciu pamięci.
Parser strumieniowy przetwarza plik jako sekwencję bajtów lub linii, utrzymując tylko małą bufor i bieżący stan parsowania w dowolnym momencie. Kontrastuje to z podejściem buforowanym, które odczytuje cały plik do pamięci przed rozpoczęciem parsowania. Dla plików MBOX, parser strumieniowy może identyfikować granice wiadomości (linie separatora "From "), wyodrębniać nagłówki i rejestrować przesunięcia bajtów bez konieczności trzymania w pamięci więcej niż jednej wiadomości naraz.
Praktyczna korzyść polega na tym, że rozmiar pliku przestaje być ograniczeniem. 50 GB eksport MBOX z wieloletniego archiwum Gmail otwiera się w taki sam sposób jak 1 MB plik testowy — parser czyta go sekwencyjnie, budując lekki indeks pozycji wiadomości, a następnie szuka bezpośrednio dowolnej wiadomości po jej wybraniu. Zużycie pamięci pozostaje w przybliżeniu stałe niezależnie od rozmiaru archiwum.
Parser strumieniowy Mbox Viewer jest zaprojektowany do tego przypadku użycia. Przy pierwszym otwarciu pliku MBOX, strumieniuje przez plik w celu zbudowania binarnego indeksu rejestrującego przesunięcie bajtów i kluczowe metadane dla każdej wiadomości. Przy kolejnych otwarciach, indeks jest ładowany w czasie poniżej sekundy, więc parser musi ponownie strumieniować tylko wiadomości, które faktycznie otwierasz.
Powiązane pojęcia
Kompaktowy plik indeksu, który Mbox Viewer zapisuje obok archiwum MBOX po pierwszym parsowaniu, przechowujący przesunięcia bajtów wiadomości i metadane umożliwiające niemal natychmiastowe ponowne otwarcia bez ponownego skanowania całego pliku.
Format pliku tekstowego przechowujący wiele wiadomości e-mail połączonych w jeden plik, z każdą wiadomością poprzedzoną linią separatora "From ". Jest to format generowany przez Google Takeout podczas eksportu archiwum Gmail.