Blockchain
celestia-node 'file' 패키지 분석
Celestia 패키지의 ODS/ODSQ4 저장 전략과 성능 포인트를 정리합니다.
celestia-node 'file' 패키지 분석
Celestia store/file 패키지는 EDS 저장을 디스크 친화적으로 다루는 핵심 레이어입니다. 핵심 아이디어는 "모든 걸 항상 저장하지 않고, 필요한 형태만 저장한다"입니다.
핵심 데이터 단위
- ODS: 원본 데이터 사각형(Q1)
- EDS: ODS를 확장한 데이터 사각형
- Q4: 복구/샘플링 최적화에 쓰이는 사분면
저장 전략
1) ODS 저장
- 저장량이 작음(대략 EDS 대비 1/4)
- 오래된 블록, 아카이브에 유리
2) ODSQ4 저장
- ODS + Q4를 저장(대략 EDS 대비 1/2)
- 최근 블록의 샘플링/복구에서 계산 부담 감소
즉, 시간축으로 저장 정책을 다르게 가져가 디스크와 CPU를 균형화합니다.
코드 구조에서 중요한 타입
ODS: 기본 접근자/스트리머 구현q4: Q4 전용 파일 접근ODSQ4: ODS + Q4 조합 접근자headerV0: 파일 포맷 메타데이터codecCache: Reed-Solomon 인코더 캐시
운영 포인트
- 가용성 윈도우 기준으로 ODS/ODSQ4 정책을 분리
- Q4는 lazy loading으로 시작 지연 최소화
- 파일 크기/해시 검증 실패를 즉시 격리
- 인코더 캐시 hit율을 모니터링해 CPU 급등을 방지
결론
이 패키지는 단순 파일 저장소가 아니라, DAS와 복구 비용을 운영 가능한 수준으로 맞추기 위한 스토리지 전략 계층입니다.