목록 보기
당근페이 재무 결산 사례로 보는 백엔드와 데이터의 만남
백엔드

당근페이 재무 결산 사례로 보는 백엔드와 데이터의 만남

당근마켓
당근마켓
2024년 12월 19일

두줄요약

매월 반복되던 재무 결산을 Spring Batch와 코드 중심 구조에서 Airflow와 dbt 기반 데이터 파이프라인으로 전환했습니다. SQL 수정만으로 결산 대응이 가능해져 유연성과 가시성을 높였습니다.

문제 상황

  • 매월 반복되는 재무 결산에서 백엔드 개발자가 SQL 쿼리 작성에 직접 투입되는 비효율
  • 서비스별 기능 추가와 테이블 구조 변경이 결산 로직에 연쇄적으로 영향을 주는 취약한 구조
  • 거래 타입과 비즈니스 규칙 변화가 잦아 결산 오류와 실패 가능성이 커지는 상황

원인 분석

  • Spring Batch와 MySQL 기반 배치가 여러 서비스 DB 구조와 로직을 직접 이해해야 하는 방식
  • 결산 로직이 애플리케이션 코드와 강하게 결합돼 변화 대응 범위가 넓은 점
  • 데이터 검증과 집계 책임이 백엔드 코드에 몰려 있는 점

해결 방법

  • Airflow로 스케줄링하고 dbt로 원장 생성과 일별 집계를 SQL 중심으로 전환
  • 거래타입별 원장과 집계 스키마를 분리해 서비스별 오너십과 유연성 확보
  • dbt YAML 테스트로 null, 양수 조건 등 데이터 무결성 검증 병행

적용해볼 점

  • 결산이나 정산처럼 반복 집계 업무는 코드보다 SQL 기반 데이터 파이프라인으로 분리 검토
  • 데이터 웨어하우스와 기존 Spring JPA 연동으로 조회 계층은 유지하고 적재 계층만 분리하는 방식 고려
  • 스키마 변경과 기능 추가가 잦은 도메인일수록 데이터 검증을 파이프라인 단계에 포함

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...