오픈소스 생태계의 메타·바이너리·Git 원본을 외부 의존 없이 재현 가능하게 대규모 보존하는 자체 미러 인프라 설계·구축
오픈소스 생태계의 메타정보(npm·PyPI·Maven·Go 패키지, CVE·OSV·SPDX 라이선스), 바이너리(tarball·wheel·jar 등), Git 원본(RAW repo)을 대규모로 수집·보존하는 자체 미러 인프라가 필요했습니다.
모든 데이터를 한 저장소에 몰지 않고, 데이터가 어떻게 수정되는가를 기준으로 저장소를 나눴습니다.
한 번 쓰고 key로 읽는(write-once, read-by-key) 패턴.
SeaweedFS(S3 호환) · 오브젝트 볼륨 파일시스템 XFS잠금·부분수정·ref 갱신·index 재작성이 잦은 패턴.
ZFS 위 bare repo · 미러 자동화는 Forgejo Mirror에 위임Haystack 패킹으로 효율 저장. 객체당 파일 1개인 MinIO는 inode 폭발이 약점이라, 작은 파일 대량 보관에는 SeaweedFS가 유리.checksum/scrub으로 bit rot을 자동 감지·복구하고, LZ4 압축·스냅샷·send/recv 복제가 강점.EC(6+2)로 서버 간 복제.검토했으나 미채택: JuiceFS로 git까지 오브젝트 스토리지에 통합하는 완전 통합 안 — git의 다수 작은 객체 워크로드에서 clone/fetch 성능 저하와 추상화 다중첩(디버깅 난이도)으로 제외.
데이터파트 파트리더로서 저장소 분리 설계 → 기술 선택 근거 정리 → 구축 착수를 주도했습니다. 데이터의 수정 패턴에 맞춰 오브젝트 스토리지와 파일시스템을 나누고, 작은 파일 대량 저장(SeaweedFS·Haystack)과 git 무결성·복제(ZFS·Forgejo)를 각각 최적화해, 외부 의존 없는 확장 가능한 데이터 인프라 기반을 마련했습니다.
2026-05 설계 문서화, 6월 구축 착수.