You can run Git on object storage if you re-make packfiles
Thread
Unofficial Hacker News client; not affiliated with Y Combinator.
You can run Git on object storage if you re-make packfiles
Unofficial Hacker News client; not affiliated with Y Combinator.
pierrebarre · · focus · HN ↗
Works pretty awesomely with git workloads, even Linux sized trees.
jeremyjh · · focus · HN ↗
What you are saying sounds like an assertion that the problem described here[1] - by Vicent Marti - that packfiles aren't contiguous blocks of data and so every fetch fans out to more fetches from the client - is not actually a problem? Or is there an innovation in zerofs that somehow solves this for git? From what I can see it offers NFS and NBD interfaces and GitHub tried and rejected both of those very early on.
The problem he described seems consistent with known patterns from datalake storage architectures, its a big part of why columnar storage is the only game in town for most use cases.
This is why TFA has a lot of interest here - he has changed the storage layout of git packfiles to a columnar model to address this challenge.
[1] <a href="https://cursor.com/blog/git-at-any-scale#git-without-packfiles" rel="nofollow">https://cursor.com/blog/git-at-any-scale#git-without-packfil...
pierrebarre · · focus · HN ↗
If Git repos were routinely terabytes in size, this would be a much harder problem. But the vast majority of repos are <1GB, and at that scale caching dominates. Even with imperfect locality, you can cache enough of the working set that those reads don’t turn into s3 round trips.
In a low-latency environment, I haven’t found filesystem round trips themselves to be an issue for Git workloads either.