Git auf Objektspeicher läuft – wenn man die Packfiles neu erfindet
You can run Git on object storage if you re-make packfiles
Tigris baut einen Open-Source-Git-Server auf Objektspeicher. Der erste Ansatz – ein Dateisystem-Shim über dem Bucket – scheiterte an echten Repositorys: Git-Packfiles sind auf mmap und lokale Plattenzugriffe optimiert, während ein Netzwerk-Roundtrip millionenfach langsamer ist. Die Lösung ist ein eigenes, objekt-speicher-natives Packfile-Format mit spaltenbasiertem Cue-Sheet, das ohne Client-Änderungen auskommt und auch das Linux-Kernel-Repo mit 11,8 Millionen Objekten stemmt.
Ich musste am Ende mein eigenes Packfile-Format mit einem columnar Store erfinden, das objekt-speicher-nativ ist.