종목 마스터 동기화 전략 선택
상태
승인
후보군
| 방안 | 설명 |
|---|---|
| A. 초기 시드 + 수동 추가 | 주요 종목 코드를 코드에 하드코딩, 필요 시 API로 추가 |
| B. 전체 bulk 조회 | 알려진 심볼 전체를 배치 조회 (1회성 초기화) |
| C. 조회 시 자동 등록 | 사용자가 검색·조회한 심볼을 DB에 자동 upsert (lazy population) |
결정
세 방안 병행 (단계별 적용)
- 앱 최초 기동 시:
config.SEED_SYMBOLS에 정의된 주요 종목을 토스 API 배치 조회 →stocks테이블 초기화 - 사용자가 검색 시: 토스 API 검색 결과를
stocks테이블에 upsert (lazy population) - 일 1회 배치: 기존
stocks테이블 전체를 토스 API로 재동기화 (필드 갱신)
결정 이유
- 토스 API의 종목 마스터 bulk 엔드포인트 존재 여부가 불명확하여 단일 방안 의존 위험
- 초기 시드로 주요 종목을 빠르게 확보하고, lazy upsert로 자동 확장하는 조합이 최적
- 일 1회 재동기화로 필드 변경에 대응
검토 대안
| 방안 | 기각 이유 |
|---|---|
| A 단독 | 검색 시 미등록 종목 조회 불가. 수동 관리 부담 |
| B 단독 | bulk 엔드포인트 부재 시 전체 실패. 초기화 비용 과다 |
| C 단독 | 첫 검색 전까지 DB 비어 있어 초기 리스트 표시 불가 |
트레이드 오프
- 득: 초기 로딩 보장 + 자동 종목 확장 + 필드 최신화 세 요소를 모두 충족
- 실: 3가지 동기화 경로 관리 필요 (시드·lazy upsert·배치), 구현 복잡도 증가