종목 마스터 동기화 전략 선택

상태

승인

후보군

방안설명
A. 초기 시드 + 수동 추가주요 종목 코드를 코드에 하드코딩, 필요 시 API로 추가
B. 전체 bulk 조회알려진 심볼 전체를 배치 조회 (1회성 초기화)
C. 조회 시 자동 등록사용자가 검색·조회한 심볼을 DB에 자동 upsert (lazy population)

결정

세 방안 병행 (단계별 적용)

  1. 앱 최초 기동 시: config.SEED_SYMBOLS에 정의된 주요 종목을 토스 API 배치 조회 → stocks 테이블 초기화
  2. 사용자가 검색 시: 토스 API 검색 결과를 stocks 테이블에 upsert (lazy population)
  3. 일 1회 배치: 기존 stocks 테이블 전체를 토스 API로 재동기화 (필드 갱신)

결정 이유

  • 토스 API의 종목 마스터 bulk 엔드포인트 존재 여부가 불명확하여 단일 방안 의존 위험
  • 초기 시드로 주요 종목을 빠르게 확보하고, lazy upsert로 자동 확장하는 조합이 최적
  • 일 1회 재동기화로 필드 변경에 대응

검토 대안

방안기각 이유
A 단독검색 시 미등록 종목 조회 불가. 수동 관리 부담
B 단독bulk 엔드포인트 부재 시 전체 실패. 초기화 비용 과다
C 단독첫 검색 전까지 DB 비어 있어 초기 리스트 표시 불가

트레이드 오프

  • 득: 초기 로딩 보장 + 자동 종목 확장 + 필드 최신화 세 요소를 모두 충족
  • 실: 3가지 동기화 경로 관리 필요 (시드·lazy upsert·배치), 구현 복잡도 증가