이미지 크기 825MB 축소: openbb 하위 패키지만 import #13

Open
opened 2026-04-22 00:26:33 +09:00 by xhh · 1 comment
Owner

현재 openbb 전체 설치로 825MB. 실제 쓰는 provider 만 남겨 400MB 이하 목표.

현재 openbb 전체 설치로 825MB. 실제 쓰는 provider 만 남겨 400MB 이하 목표.
Author
Owner

보류 결정 (2026-04-28)

이미지 다이어트 접근을 두 갈래로 검토한 뒤 현 시점 ROI 가 낮다고 판단해 통째로 연기.

두 갈래 검토

길 A — 메타패키지 유지 + Dockerfile 단계에서 미사용 sub-pkg 디렉토리 rm -rf

  • 코드 변경 0, OpenBB 추상화 보존, 미래 provider 활성화 비용 0
  • builder 단계는 그대로 825MB install (uv 가 메타패키지 의존성 강제) → CD 빌드 시간 단축 거의 0
  • 디스크에 sub-pkg 가 남아도 import 안 하면 RAM 점유 0 → 메모리 절감 거의 0
  • 순수 효과: 런타임 이미지 디스크 점유 약 425MB 감소

길 B — openbb 의존성 제거 + yfinance / FRED REST 직접 호출

  • builder 단계 install 대상 31개 → 0개. CD 빌드 시간/캐시 단축
  • 메모리 약간 절감 (정적 인터페이스 import 비용 제거)
  • 디스크 절감 큼
  • 코드 ~80줄 변경 (openbb_collector.py 3개 fetch 함수 + openbb_config.py 정리)
  • 미래 OpenBB provider (예: paid 결정 시 openbb-fmp / openbb-benzinga) 사용 시 의존성 + 코드 양쪽 복귀

실효 ROI 점검

효과 길 A 길 B
CD 빌드 시간 변동 없음 단축 (소폭)
RAM 메모리 변동 없음 소폭 절감
registry pull/push 무의미 (NAS 로컬 빌드, registry 미사용) 무의미
NAS 디스크 (~24TB) 425MB 절감 — 체감 0 동일
CI 캐시 변동 없음 작아짐
코드 변경 0 ~80줄

두 길 모두 현 운영 환경에서 체감 가능한 이익 부족. 길 A 는 디스크만 줄고, 길 B 는 미래 OpenBB provider 복귀 비용을 짐.

향후 OpenBB 활용 가능성 (보류 근거)

CLAUDE.md Phase 2 데이터 소스 중 OpenBB provider 가 자연스러운 후보는 #12 (애널리스트 목표가 — openbb-fmp / openbb-benzinga) 가 유일. 그 외 (#9 ETF flows, #10 TIC/QRA, GDPNow) 는 OpenBB 미제공이거나 직접 REST 가 더 단순.

#12 가 paid 도입 결정 단계이므로 OpenBB 추상화 보존 가치가 살아 있음.

재개 조건

  • registry (Forgejo container registry / Docker Hub 등) 도입 → 이미지 pull 시간이 비용으로 들어옴 → 길 A 또는 B 의 이익이 의미 있어짐
  • #12 가 "paid 도입 안 함 (or 직접 REST 호출 결정)" 으로 종결 → 길 B 의 미래 비용이 사라짐 → 길 B 채택 명분 강해짐
  • NAS 디스크 압박 → 425MB 절감의 체감 가치가 발생

위 셋 중 하나라도 충족되면 본 이슈 재개.

메모

길 A 의 prune 스크립트 시안과 길 B 의 코드 변경 윤곽은 검토만 했고 PR 화하지 않음. 재개 시 이 코멘트의 분석을 출발점으로 다시 구현.

## 보류 결정 (2026-04-28) 이미지 다이어트 접근을 두 갈래로 검토한 뒤 **현 시점 ROI 가 낮다고 판단해 통째로 연기**. ### 두 갈래 검토 **길 A — 메타패키지 유지 + Dockerfile 단계에서 미사용 sub-pkg 디렉토리 `rm -rf`** - 코드 변경 0, OpenBB 추상화 보존, 미래 provider 활성화 비용 0 - builder 단계는 그대로 825MB install (uv 가 메타패키지 의존성 강제) → **CD 빌드 시간 단축 거의 0** - 디스크에 sub-pkg 가 남아도 import 안 하면 RAM 점유 0 → **메모리 절감 거의 0** - 순수 효과: 런타임 이미지 디스크 점유 약 425MB 감소 **길 B — `openbb` 의존성 제거 + yfinance / FRED REST 직접 호출** - builder 단계 install 대상 31개 → 0개. CD 빌드 시간/캐시 단축 ✅ - 메모리 약간 절감 (정적 인터페이스 import 비용 제거) - 디스크 절감 큼 - 코드 ~80줄 변경 (`openbb_collector.py` 3개 fetch 함수 + `openbb_config.py` 정리) - 미래 OpenBB provider (예: paid 결정 시 `openbb-fmp` / `openbb-benzinga`) 사용 시 의존성 + 코드 양쪽 복귀 ### 실효 ROI 점검 | 효과 | 길 A | 길 B | |---|---|---| | CD 빌드 시간 | 변동 없음 | 단축 (소폭) | | RAM 메모리 | 변동 없음 | 소폭 절감 | | registry pull/push | 무의미 (NAS 로컬 빌드, registry 미사용) | 무의미 | | NAS 디스크 (~24TB) | 425MB 절감 — 체감 0 | 동일 | | CI 캐시 | 변동 없음 | 작아짐 | | 코드 변경 | 0 | ~80줄 | → **두 길 모두 현 운영 환경에서 체감 가능한 이익 부족**. 길 A 는 디스크만 줄고, 길 B 는 미래 OpenBB provider 복귀 비용을 짐. ### 향후 OpenBB 활용 가능성 (보류 근거) CLAUDE.md Phase 2 데이터 소스 중 OpenBB provider 가 자연스러운 후보는 **#12 (애널리스트 목표가 — `openbb-fmp` / `openbb-benzinga`) 가 유일**. 그 외 (#9 ETF flows, #10 TIC/QRA, GDPNow) 는 OpenBB 미제공이거나 직접 REST 가 더 단순. #12 가 paid 도입 결정 단계이므로 **OpenBB 추상화 보존 가치가 살아 있음**. ### 재개 조건 - registry (Forgejo container registry / Docker Hub 등) 도입 → 이미지 pull 시간이 비용으로 들어옴 → 길 A 또는 B 의 이익이 의미 있어짐 - #12 가 "paid 도입 안 함 (or 직접 REST 호출 결정)" 으로 종결 → 길 B 의 미래 비용이 사라짐 → 길 B 채택 명분 강해짐 - NAS 디스크 압박 → 425MB 절감의 체감 가치가 발생 위 셋 중 하나라도 충족되면 본 이슈 재개. ### 메모 길 A 의 prune 스크립트 시안과 길 B 의 코드 변경 윤곽은 검토만 했고 PR 화하지 않음. 재개 시 이 코멘트의 분석을 출발점으로 다시 구현.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
xhh/financial-data-platform#13
No description provided.