Kim Seogyu
Blockchain

celestia-node 'file' 패키지 분석

Celestia 패키지의 ODS/ODSQ4 저장 전략과 성능 포인트를 정리합니다.

Published 2025년 12월 27일1 min read177 words

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 인코더 캐시

운영 포인트

  1. 가용성 윈도우 기준으로 ODS/ODSQ4 정책을 분리
  2. Q4는 lazy loading으로 시작 지연 최소화
  3. 파일 크기/해시 검증 실패를 즉시 격리
  4. 인코더 캐시 hit율을 모니터링해 CPU 급등을 방지

결론

이 패키지는 단순 파일 저장소가 아니라, DAS와 복구 비용을 운영 가능한 수준으로 맞추기 위한 스토리지 전략 계층입니다.

Share

Related Articles

Comments

이 블로그는 제가 알고 있는 것들을 잊지 않기 위해 기록하는 공간입니다.
직접 작성한 글도 있고, AI의 도움을 받아 정리한 글도 있습니다.
정확하지 않은 내용이 있을 수 있으니 참고용으로 봐주세요.

© 2026 Seogyu Kim