대형 바이너리와 대규모 팀을 위한 오픈소스 버전관리 Lore
Lore는 대형 바이너리 자산과 스케일 아웃 팀을 염두에 둔 중앙집중형 콘텐츠 주소형 오픈소스 버전관리 시스템이다.
TL;DR
Lore는 Epic Games가 공개한 중앙집중형 오픈소스 버전관리 시스템으로, 대규모 팀과 대형 바이너리 자산을 대상으로 설계되었다. 로컬 데모로 빠르게 시작할 수 있고 UEFN의 내장 VCS로 사용된다는 언급이 있다. Lore는 콘텐츠 주소화된 Merkle 트리와 해시 기반의 불변 리비전 체인을 사용해 무결성을 보장하고, 파일을 청크 단위로 분할해 중복 제거와 인덱싱을 수행한다. 온디맨드 하이드레이션과 스파스 워크스페이스로 필요한 데이터만 내려받아 작업하며 중앙 서버는 캐시를 통해 처리량을 확장한다. 결과적으로 대형 바이너리 중심 워크플로의 저장·전송 비용을 줄이고 브랜치 작업을 경량화하나, 현재 1.0 이전(프리릴리스) 상태로 온디스크 포맷·API가 변경될 수 있어 프로덕션 도입 전 호환성·안정성 검증이 필요하다.
주요 기능
- 즉시 설치하고 로컬 데모 서버를 실행
- 데이터를 콘텐츠 주소 방식으로 저장하고 Merkle 트리로 무결성 검증
- 분할해 대형 파일의 중복을 제거하고 재사용 가능한 청크로 전송 효율화
- 경량화해 브랜치 생성과 전환을 빠르게 수행
어떻게 동작하는가
Lore는 콘텐츠 주소화(content-addressed)된 Merkle 트리로 리포지토리 상태를 표현하고, 파일을 인덱싱된 청크로 분할해 중복 제거와 재사용을 수행한다. 클라이언트는 온디맨드 하이드레이션(필요한 데이터만 다운로드)과 스파스 워크스페이스를 사용하고 중앙 서버는 캐시를 앞세워 대규모 처리량을 확장한다.
해결 문제
대형 바이너리 중심 프로젝트와 대규모 팀에서 발생하는 저장 공간 낭비, 느린 전송, 전체 체크아웃 비용 문제를 줄여 효율적 버전 관리를 제공한다.
지금 주목받는 이유
Epic Games가 오픈소스로 공개했고 UEFN(언리얼 에디터 for Fortnite)의 내장 VCS로 사용된다는 점에서 업계 관심을 받고 있음.
차별점
- 대형 바이너리 우선 설계로 파일을 청크화해 중복 제거·재사용을 기본으로 구현
- 온디맨드 하이드레이션과 스파스 워크스페이스로 로컬 전체 다운로드 없이 작업 가능
- 리비전 체인을 해시 기반으로 묶어 변경 무결성·변조 탐지(immutable revision chain)를 보장
사용 사례
- 게임 개발 리포지토리에서 대용량 에셋(텍스처·오디오·영상)을 효율적으로 저장·동기화
- 아티스트와 개발자가 섞인 대규모 팀에서 스파스 체크아웃으로 로컬 저장소 부담을 줄이며 협업
- 중앙 서버 캐시를 활용해 대역폭 제한 환경에서 대규모 동시 접속 처리
시작하기
macOS/Linux: curl -fsSL https://raw.githubusercontent.com/EpicGames/lore/main/scripts/install.sh | bash -s -- --demo Windows (PowerShell): $env:LORE_DEMO=1; irm https://raw.githubusercontent.com/EpicGames/lore/main/scripts/install.ps1 | iex
요구사항
- 빌드/기여를 위해 Rust toolchain 필요 (README에 "Built with Rust" 배지 표기)
- macOS, Linux, Windows(예시 PowerShell 명령 포함)에서 실행 가능
6.9k
Stars
288
Forks
+289
Trending
4
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.