파트너 정산 잔액 변동 감사 이력 추적 기능 신설
목차
감사 이력 테이블을 신설하고 관련 로직을 구현했음. 파트너 잔액 변동 감사 이력 테이블(tb_partner_balance_audit) 추가.
왜 감사 이력이 필요한가
잔액이나 정산 관련 데이터는 "언제, 누가, 무엇을, 얼마나 변경했는가"를 추적할 수 있어야 함. 이슈가 생겼을 때 원인 파악과 책임 추적을 위해 필수임. 특히 금융 도메인에서는 감사 추적이 기본 요건임.
테이블 설계 원칙
-- 감사 이력 테이블 기본 구조
CREATE TABLE tb_system_revenue_audit (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
source_id BIGINT NOT NULL COMMENT '원본 레코드 ID',
action VARCHAR(20) NOT NULL COMMENT 'INSERT/UPDATE/CONFIRM/CANCEL',
delta_amount BIGINT COMMENT '변동액 (음수=차감)',
actor VARCHAR(50) COMMENT '처리 주체',
idempotent_key VARCHAR(100) UNIQUE COMMENT '멱등성 키',
created_dt DATETIME NOT NULL
);
멱등성 처리
동일 이벤트가 여러 번 처리되더라도 중복 적재가 되지 않도록 idempotent_key를 unique key로 설정했음. INSERT 시 중복이면 무시(INSERT IGNORE)로 처리.
백필(Backfill)
신규 테이블 생성 후 기존 데이터를 소급해서 채웠음. 백필 SQL은 별도 마이그레이션 파일로 관리해서 운영 적용 이력을 추적할 수 있게 했음.
활용
감사 이력이 쌓이면 "특정 시점의 잔액은 얼마였는가"를 재현할 수 있음. 이슈 발생 시 이벤트 순서를 역추적하는 데도 활용됨.
다음
댓글 0
첫 댓글 달아줘.