부가세 예상세액 계산 경로 재설계
한국신용데이터 (캐시노트) · 2025.06 ~ 2025.09
부가세 신고 시기마다 약 100만 사업장의 예상세액을 계산해 알림을 보내는데, 계산 배치가 19시간 41분이 걸려 알림이 하루 이상 지연되었습니다. 100만 사업장을 개별 조회하는 구조에서 DB I/O 병목이 원인이었습니다.
코루틴 병렬화만으로는 DB I/O 병목을 해소하기 어려워, 데이터실과 함께 접근 방식을 바꿨습니다. 데이터실은 PySpark 집계 파이프라인과 Delta Tables를, 장부팀 서비스는 계산 규칙과 조회를 각각 담당하도록 책임을 나누고, Databricks 기반 부가세 전용 집계 데이터셋을 새로 만들었습니다. 서비스는 사전 집계 결과만 조회하도록 경로를 전환하고, 매출세액·매입세액·경감공제는 Delta Tables 증분 처리로 분리했습니다.
배치 시간을 19시간 41분 → 30분 내외로 단축해 부가세 알림톡이 마감일 내에 안정적으로 발송되도록 했습니다. 같은 Databricks 파이프라인 구조를 비용 자동분류(902만건 이관), 매출 예측, 연말결산 데이터 적재까지 확장했습니다.
- 애플리케이션 병렬화 대신 데이터 경로를 바꾼 이유는 코루틴 동시성을 높여도 DB I/O 병목이 해소되지 않아 100만 사업장 마감을 보장하기 어려웠기 때문.
- 데이터실과 집계 파이프라인 스키마 설계와 증분 처리 범위를 함께 정의하고, 주 단위로 결과를 크로스 체크.
- 증분 처리는 시간을 크게 줄였지만, 집계 스키마 변경 시 데이터 파이프라인과 서비스 로직을 함께 조정해야 하는 트레이드오프가 있음.