시스템 설계 결 → 수집 결 → 변환 결 → 적재 결
대규모 ETL 시스템을 직접 개발한 경험은 없지만, 개인 프로젝트에서 공공 API에서 데이터를 수집해 정제·적재하는 파이프라인을 처음부터 끝까지 구성해봤습니다. 시스템 설계 자리에서는 수집·변환·적재 세 단계를 분리해서 각 단계가 독립적으로 실행될 수 있게 설계했습니다. 수집 자리에서는 API 호출 실패 시 재시도 로직과 로그 기록을 넣었습니다. 대규모 환경에서는 이 자리가 데이터 유실을 막는 첫 번째 방어선입니다. 변환 자리에서는 원본 데이터를 분석 목적에 맞게 정제하고, 타입 변환이나 결측 처리 로직을 중간 단계에 넣어서 나중에 오류를 추적하기 쉽게 했습니다. 적재 자리에서는 PostgreSQL에 적재할 때 idempotent하게 설계해서 같은 데이터를 두 번 넣어도 중복이 생기지 않게 했습니다. 대규모 ETL에서는 파이프라인 재실행이 자주 발생하기 때문에 이 자리가 중요합니다.