SQLite-komprimierte Textverlaufs-Prototypen
OpenAI
Simon Willison stellt seine Idee vor, Revisionsverläufe in SQLite mithilfe komprimierter JSON-Arrays aller vorherigen Versionen zu speichern. Er diskutiert den Prototypen mit dem GPT-Live-Sprachmodus und lässt dann GPT-5.6 Sol Pro experimentelle Prototypen erstellen, die hervorragende Komprimierungsergebnisse zeigen.
Simon Willison interessiert sich für Optionen zur Speicherung von Revisionshistorien in relationalen Datenbanken. Während eines Hundespaziergangs kam ihm eine Idee: den vollständigen Text jeder früheren Version in einem großen JSON-Array aus Zeichenketten zu speichern und das Ganze mit zlib oder zstd zu komprimieren. Er besprach den Prototypen mit dem GPT-Live-Sprachmodus in der ChatGPT-iPhone-App und erklärte, dass eine Historienspalte in einer Tabelle ein Blob sein könnte, der ein komprimiertes JSON-Array aller früheren Dokumente speichert, plus ein separates JSON-Array mit Zeitstempeln, das nicht komprimiert werden muss. Anschließend tippte er eine Textaufforderung an GPT-5.6 Sol Pro, um experimentelle Prototypen in Python zu erstellen. Die Prototypen funktionierten gut: 1.000 simulierte Revisionen eines Dokuments ergaben 20,4 MB rohen Revisionstext, der als Zstandard-komprimiertes JSON-Array auf 80,3 KB komprimiert wurde. Um den Overhead des Dekomprimierens und erneuten Komprimierens des gesamten Arrays bei jeder Bearbeitung zu vermeiden, schlug Sol vor, die Historie in mehrere Zeilen aufzuteilen, wobei jede Zeile maximal entweder 128 Revisionen oder 3 MB unkomprimiertes JSON enthält.
Quelle: Simon Willison —
Original
