선박 항적 실시간 수집 및 배치 집계 시스템 (Spring Boot + Spring Batch)
Hourly 집계의 N+1 DB 쿼리 패턴(60K+)을 인메모리 병합으로 교체. 5분 트랙 적재 시 FiveMinTrackCache에 보관하고 hourly job에서 캐시 기반으로 좌표 병합/통계 집계/간소화를 수행하여 DB 쿼리를 0~2회로 감소. - FiveMinTrackCache: Caffeine 캐시 (TTL 75분, maxSize 500K) - CacheBasedHourlyTrackReader: 캐시 기반 Reader + DB fallback - HourlyTrackMergeProcessor: Java WKT 병합 + 비정상 검출 bulk prefetch - @ConfigurationProperties 중복 해결 (프로그래밍 방식 Hikari 바인딩) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .githooks | ||
| .mvn | ||
| docs | ||
| scripts | ||
| sql | ||
| src | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .sdkmanrc | ||
| CLAUDE.md | ||
| mvnw | ||
| mvnw.cmd | ||
| pom.xml | ||
| run-on-query-server-dev.sh | ||
| vessel-batch-control.sh | ||