Kodiqa-Solutions/VaultS3
Go0 / 0
VaultS3는 단일 바이너리로 동작하며 내장 대시보드, AES-256-GCM 암호화, BoltDB 메타데이터와 Raft 기반 메타 복제를 지원하는 경량 S3 호환 오브젝트 스토리지이다.
TL;DR
VaultS3는 단일 바이너리로 동작하는 경량 S3 호환 오브젝트 스토리지로서 BoltDB에 메타데이터를 저장하고 파일 시스템에 객체를 보관해 대규모 객체 집합에서도 일정한 목록 및 통계 응답 지연을 유지한다. AES-256-GCM 기반의 SSE-S3와 SSE-KMS를 지원하고 Reed-Solomon 기반 Erasure Coding과 Raft 기반 메타 복제를 제공해 데이터 보호와 일관성을 확보하며 내장 React 대시보드를 통해 버킷 브라우징, 버전 히스토리, 마이그레이션과 같은 운영 작업을 GUI에서 수행할 수 있다. 소형 파일 패킹과 zstd 압축으로 작은 객체 워크로드의 파일시스템 오버헤드를 줄이는 옵션을 제공하나 이 기능은 암호화·Erasure Coding과는 현재 호환되지 않으며 클러스터링과 액티브-액티브 복제는 베타 단계이므로 운영 전 검증이 권고된다.
핵심 포인트
- 메모리 요구량이 작은 단일 바이너리 아키텍처를 목표로 설계되어 최소 배포에서 <80MB RAM을 지향하며 별도 런타임 의존성을 요구하지 않는다. 이 점은 동일 범주의 대체 오픈소스와 비교해 경량화된 운영과 단순한 배포를 가능하게 한다. 또한 대시보드와 CLI를 동일 바이너리로 포함해 운영 관리를 통합한다.
- 메타데이터를 BoltDB의 정렬 인덱스로 저장해 ListObjectsV2 페이지 응답을 페이지 단위 탐색으로 처리하므로 대규모 객체 집합에서도 페이징 지연이 거의 일정하다. README에서 1M+ 객체 조건에서 통계 응답을 `13s → 0.4ms`로 단축했다고 명시되어 있으며 페이지 지연은 ~0.7ms(1000키 페이징 단위) 수준으로 보고되었다. 이 구조는 파일시스템 전체 스캔을 피하고 대량 객체 환경의 대시보드 응답성을 확보한다.
- 소형 파일 패킹과 zstd 압축, 그리고 BoltDB 오프셋 인덱싱을 결합해 수백만 개의 작은 파일에서 발생하는 파일시스템 오버헤드를 줄이는 옵션을 제공한다. 이 기능은 작은 객체를 대형 볼륨에 프레임으로 적재하고 배경 컴팩션으로 데드스페이스를 회수해 운영 비용을 절감하도록 설계되었다. 다만 현재 암호화나 Erasure Coding과는 조합되지 않으므로 사용자는 구성 상의 트레이드오프를 검토해야 한다.
- S3 호환 API를 통해 AWS CLI, mc, boto3 등 기존 S3 클라이언트와 호환되며 PUT/GET, 멀티파트 업로드, 버킷 정책, 버전 관리 등 표준 S3 연산을 지원한다. 내부적으로 객체는 파일로 저장되고 메타데이터는 BoltDB에 유지되어 고속 목록·통계 응답을 제공한다. 또한 Presigned URL, CORS, ACL, 태깅, 수명 주기 규칙 등 운영에 필요한 부가 기능을 포함한다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| listobjects_page_latency | latency | ~0.7 ms per 1000-key page | — |
| stats_query_latency | latency | 13s → 0.4ms (verified at 1M+ objects) | — |
이미지 분석




1.4k
STARS
68
FORKS
+204
TRENDING
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.