선박 항적 실시간 수집 및 배치 집계 시스템 (Spring Boot + Spring Batch)
Go to file
htlee 82ae4d9ef5 perf: Hourly Job 인메모리 병합 전환 — N+1 SQL 제거
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>
2026-02-19 10:11:55 +09:00
.claude refactor: SNP API 전환 및 레거시 코드 전면 정리 2026-02-19 09:59:49 +09:00
.githooks chore: 팀 워크플로우 v1.2.0 초기 구성 (java-maven) 2026-02-18 20:52:38 +09:00
.mvn chore: 팀 워크플로우 v1.2.0 초기 구성 (java-maven) 2026-02-18 20:52:38 +09:00
docs refactor: SNP API 전환 및 레거시 코드 전면 정리 2026-02-19 09:59:49 +09:00
scripts refactor: SNP API 전환 및 레거시 코드 전면 정리 2026-02-19 09:59:49 +09:00
sql refactor: SNP API 전환 및 레거시 코드 전면 정리 2026-02-19 09:59:49 +09:00
src perf: Hourly Job 인메모리 병합 전환 — N+1 SQL 제거 2026-02-19 10:11:55 +09:00
.editorconfig chore: 팀 워크플로우 v1.2.0 초기 구성 (java-maven) 2026-02-18 20:52:38 +09:00
.gitattributes feat: REST V2 캐시 우선 조회 + Semaphore 부하 제어 + 응답 포인트 상한 2026-02-11 06:43:02 +09:00
.gitignore chore: 팀 워크플로우 v1.2.0 초기 구성 (java-maven) 2026-02-18 20:52:38 +09:00
.sdkmanrc refactor: SNP API 전환 및 레거시 코드 전면 정리 2026-02-19 09:59:49 +09:00
CLAUDE.md chore: 팀 워크플로우 v1.2.0 초기 구성 (java-maven) 2026-02-18 20:52:38 +09:00
mvnw feat: REST V2 캐시 우선 조회 + Semaphore 부하 제어 + 응답 포인트 상한 2026-02-11 06:43:02 +09:00
mvnw.cmd Initial commit 2025-11-19 16:03:16 +09:00
pom.xml refactor: SNP API 전환 및 레거시 코드 전면 정리 2026-02-19 09:59:49 +09:00
run-on-query-server-dev.sh feat: 대기열 기반 쿼리 관리 및 타임아웃 최적화 (Phase 5) 2026-02-06 15:34:02 +09:00
vessel-batch-control.sh feat: 대기열 기반 쿼리 관리 및 타임아웃 최적화 (Phase 5) 2026-02-06 15:34:02 +09:00