Git packfiles use delta compression, storing only the diff when a 10MB file changes by one line, while the objects table stores each version in full. A file modified 100 times takes about 1GB in Postgres versus maybe 50MB in a packfile. Postgres does TOAST and compress large values, but that’s compressing individual objects in isolation, not delta-compressing across versions the way packfiles do, so the storage overhead is real. A delta-compression layer that periodically repacks objects within Postgres, or offloads large blobs to S3 the way LFS does, is a natural next step. For most repositories it still won’t matter since the median repo is small and disk is cheap, and GitHub’s Spokes system made a similar trade-off years ago, storing three full uncompressed copies of every repository across data centres because redundancy and operational simplicity beat storage efficiency even at hundreds of exabytes.
Global news & analysis
,推荐阅读搜狗输入法下载获取更多信息
Developers should have the right to create and distribute software without submitting to unnecessary surveillance or scrutiny.,详情可参考旺商聊官方下载
关于进一步落实航经阿曼湾、霍尔木兹海峡、波斯湾海域船舶信息报送工作的通知