피드로 돌아가기
InfoQDevOps
원문 읽기
Git Delta Compression 최적화 통한 Monorepo 크기 77% 감축
Dropbox Collaborates with GitHub to Reduce Monorepo Size from 87GB to 20GB
AI 요약
Context
Backend 서비스와 공유 라이브러리를 통합 관리하는 Monorepo 규모 확장에 따른 저장소 효율 저하 발생. Git 내부의 Compression Heuristics가 대규모 파일 집합을 처리하는 과정에서 Suboptimal Packfiles를 생성하여 87GB까지 비대해진 저장소 구조 설계.
Technical Solution
- 단순 데이터 삭제가 아닌 Git의 Storage 및 Delta Compression 모델의 비효율성 분석을 통한 접근
- Delta Window 및 Depth 동작 최적화를 통한 Object Delta 구조 재설계
- 서버 사이드 Packing 성능 향상을 위해 GitHub 인프라 팀과 협력하여 튜닝 파라미터 조정
- 운영 리스크 최소화를 위해 Mirror 환경에서 사전 검증 후 Production 적용
- 버전 관리 시스템을 단순 도구가 아닌 핵심 Production Infrastructure로 정의한 관리 체계 도입
실천 포인트
- Monorepo 크기 증가 속도가 실제 코드 변경량과 비례하는지 정기적 모니터링 - Git Packfile의 효율성 저하 의심 시 Delta Window 및 Depth 설정값 검토 - 대규모 저장소 운영 시 VCS 벤더사와의 협력을 통한 Server-side Tuning 가능성 확인