파이프라인이 가질 수 있는 가장 가치 있는 단일 속성
Idempotent 파이프라인은 한 번이든, 두 번이든, 스무 번이든 같은 결과를 만들어. 한번 이 속성 가지면 디버깅이 더는 무섭지 않아 — "그냥 다시 돌려" 가 희망 섞인 기도 대신 진짜 답이 돼. 없으면 모든 retry 가 주사위 굴리기.
파이프라인을 idempotent 로 만드는 네 가지 실용 패턴
- Path 인코딩 immutability raw lake 에.
raw/orders/2026/04/30/run_20260430120000.json.gz. Path 자체에 run timestamp 포함. 두 번째 run 이 옆에 새 파일 작성; downstream stage 가 사전 순으로 최신 읽음. - Partition replace 분석 테이블에.
warehouse/orders/date=2026-04-30/. 다시 돌리면 atomic 하게 partition 교체 (stage + swap). - Primary key 로 upsert OLTP 모양 destination 에.
INSERT ... ON CONFLICT (order_id) DO UPDATE. 같은 key 가 이김; 다시 돌리면 결과 no-op. - Idempotent side effect 데이터 아닌 거 — 이메일, 웹훅, 알림 — 에. dedup key ("2026-04-30 의 Q1 매출 임계 알림") 와 추적 테이블 사용.