perf: Daily Job 인메모리 캐시 기반 최적화 — N+1 SQL 제거 #60

병합
htlee develop 에서 main 로 2 commits 를 머지했습니다 2026-02-20 11:39:54 +09:00
소유자

Summary

  • Daily Job을 Hourly와 동일한 L2 캐시 기반 인메모리 병합으로 전환
  • SQL ~20,000건 → ~3건 (99.98% 감소)
  • 소요 시간 24분 → 30~60초 예상

Test plan

  • 내일 01:00 Daily Job 실행 모니터링
  • 소요 시간 24분 → 30~60초 확인
## Summary - Daily Job을 Hourly와 동일한 L2 캐시 기반 인메모리 병합으로 전환 - SQL ~20,000건 → ~3건 (99.98% 감소) - 소요 시간 24분 → 30~60초 예상 ## Test plan - [ ] 내일 01:00 Daily Job 실행 모니터링 - [ ] 소요 시간 24분 → 30~60초 확인
htlee added 2 commits 2026-02-20 11:39:38 +09:00
Hourly Job에 적용된 캐시 기반 병합 패턴을 Daily Job에 동일 적용:
- CacheBasedDailyTrackReader: L2(HourlyTrackCache)에서 읽기 + DB fallback
- DailyTrackMergeProcessor: Java 인메모리 WKT 병합 + 통계 집계
- 비정상 검출: MMSI별 개별 쿼리 → 1회 bulk prefetch
- SQL ~20,000건 → ~3건 (99.98% 감소), 24분 → 30~60초 예상

삭제: DailyTrackProcessor, DailyTrackProcessorWithAbnormalDetection,
      BaseTrackProcessorWithAbnormalDetection (N+1 SQL 프로세서)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
htlee merged commit 14e61e6bd0 into main 2026-02-20 11:39:54 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 1명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

Reference: gc/signal-batch#60
No description provided.