ADR-001 데이터 적재 주체와 저장소 선택

상태

제안 (사용자 확인 대기)

맥락

부 증식의 1순위 병목은 데이터다. 현재 가격 데이터는 요청 시마다 토스에서 일봉 20~40개를 즉석 fetch하고 영속 저장하지 않는다. 백테스트·모델 학습을 하려면 수년치 시계열을 자체 보관해야 한다. 누가 적재하고 어디에 저장할지 결정한다.

결정

BE(Kotlin)가 수집·영속화하고, ml(Python)은 stateless 읽기만 한다. 저장소는 기존 MySQL(3308)에 daily_prices 시계열 테이블을 둔다.

  • KRX 수급 데이터 연동 ADR(BE에서 수집·MySQL 영속화, ml은 stateless)과 동일 패턴을 따른다.
  • 백테스트·모델은 ml에서 수행하되, 데이터는 BE API 또는 직접 조회로 읽는다.

근거

  • 영속화 책임을 BE로 일원화 — ml stateless 원칙 유지.
  • 기존 인프라(MySQL 3308, Flyway, JPA) 재사용 — 신규 시계열 DB 도입 비용 회피.
  • 컨벤션 일치 — marketflow·watchlist 등 기존 도메인과 같은 구조.

고려한 대안

대안미채택 사유
ml이 직접 적재·저장ml stateless 위반, 영속화 이중화
별도 시계열 DB(InfluxDB 등)현 규모(일봉·수백 종목)에 과함. 운영 부담 증가

미결정·재검토 트리거

  • 종목 수·틱 데이터로 규모가 커지면 시계열 DB 재검토.
  • 백필 소스(토스 과거 일봉 제공 범위)가 부족하면 증권사/유료 데이터 벤더 검토.