쉬운 설명
회사에는 보통 데이터가 여기저기 흩어져 있습니다. 결제 시스템은 자체 DB에, 마케팅은 구글 광고 콘솔에, 고객은 CRM에, 웹 분석은 GA·믹스패널에. 분석을 하려면 이 흩어진 조각을 한 형식으로 모아야 하고, 그 작업이 ETL입니다.
단계별 의미는 단순합니다. E(추출): 각 소스에서 데이터 끌어오기 — API 호출, DB 덤프, 파일 다운로드. T(변환): 컬럼 이름·단위·시간대를 통일하고, 누락·중복을 정리하고, 필요하면 계산된 컬럼 추가하기. L(적재): 변환한 데이터를 분석 저장소(보통 데이터 웨어하우스나 레이크)에 쌓기.
최근에는 순서가 ELT(추출 → 적재 → 변환)로 바뀌는 경우가 많습니다. 클라우드 웨어하우스 성능이 좋아져, 일단 원본을 빨리 적재하고 SQL로 변환하는 게 더 빠르고 추적이 쉽기 때문입니다. dbt·Fivetran·Airbyte·Stitch 같은 도구가 이 흐름을 자동화해 줍니다.
ETL/ELT는 단순한 스크립트가 아닙니다. 매일 같은 시간에 정확히 돌고, 실패하면 재시도하고, 늦은 데이터가 들어와도 결과가 깨지지 않게 하고, 누가 언제 무엇을 돌렸는지 기록이 남아야 합니다. 그래서 Airflow·Prefect·Dagster 같은 워크플로 도구가 함께 쓰입니다.
주의할 점은 '변환 로직의 신뢰'입니다. 변환 단계에서 어떤 행을 거르고 어떤 컬럼을 만드는지에 따라 같은 원본도 다른 결과가 나옵니다. 그래서 변환 코드는 SQL·코드로 명문화하고 버전 관리하며, 자동 테스트·문서화를 함께 두는 것이 표준입니다. dbt가 이 영역에서 빠르게 사실상 표준이 됐습니다.

비유로 보면
ETL은 여러 슈퍼마켓에서 장을 봐 와 한 부엌에서 다듬는 과정과 비슷합니다. 마트마다 무·당근의 크기가 다르고 가격 단위가 다르지만, 부엌에선 다 같은 단위로 손질해서 한 냄비에 넣어야 요리가 됩니다. 그 손질 과정이 변환이고, 그 결과가 분석 가능한 데이터입니다.
어디에서 만나나
BI 대시보드의 데이터 공급, 머신러닝 모델의 학습 데이터 준비, 마케팅 어트리뷰션 분석, 재무·매출 보고서 자동화, 고객 데이터 통합(CDP). 거의 모든 데이터 분석의 첫 번째 인프라가 ETL/ELT입니다.
작은 예시
쇼핑몰이 매일 밤 결제 시스템·로그·광고 비용을 모아 다음 날 아침 대시보드에 'KPI 일일 보고서'를 띄웁니다. 그 보고서가 새벽에 자동으로 갱신되는 이유는 ETL 파이프라인이 매일 같은 시간에 돌고 있기 때문입니다.
자주 하는 오해
한 줄 정리
ETL의 가치는 '원본의 흐트러짐을 한곳에서 정리한다'에 있습니다. 잘 만든 ETL 하나가 회사 전체 분석의 신뢰성을 결정합니다.
