토스, DW 파이프라인을 도메인별 Airflow·dbt로 점진 이관
토스가 중앙 DW Airflow를 멈추지 않고 도메인별 클러스터와 dbt로 파이프라인을 옮긴 사례를 공개했다. 광고 도메인의 DAG 코드는 2794줄에서 100줄로, 실행 시간은 4시간에서 2시간 30분으로 줄었다고 밝혔다. 9월 말 기준 클러스터 5개·모델 983개가 운영되며, 기존 파이프라인을 대규모로 이관한 도메인은 광고 한 곳이다.
기존·신규 파이프라인을 병행 실행해 결과를 비교한 뒤 전환했다. 이관 중 신규 플랫폼 때문에 기존 배치가 멈춘 날은 없었다고 설명했다.
dbt의 ref 관계를 Cosmos가 Airflow task 의존성으로 변환해 광고 도메인의 수동 연결 코드 180줄을 없앴다.
자체 wrapper가 source yml의 meta.producer 선언을 읽어 원천 적재·외부 Airflow task를 기다리는 sensor와 Spark task를 구성한다. 기존 Spark 잡과 Jenkins 잡은 유지했다.
PR 단계에서 dbt compile, DAG import, 컴파일된 SELECT의 LIMIT 0 실행으로 참조와 컬럼을 검사한다. Airflow connection·pool도 코드로 관리하고 설정 차이를 감지한다.
팀 해커톤에서 지표 정의를 챗봇 지식베이스에 추가하자 테이블 선택은 8문항 기준 25%에서 75%, 설명형 답변은 9문항 기준 22%에서 78%로 개선됐다고 보고했다.
별도 구성의 계산 질문에서는 MetricFlow SQL을 실행하게 해 11문항 중 9개를 맞혔다. 앞선 평가와 문항 구성이 달라 직접 비교할 수 없으며, 소규모 평가의 변동성도 명시했다.
테이블 생성 주체와 의존성을 코드로 기록하면 배포 전 검증뿐 아니라 에이전트의 데이터 계보 탐색에도 같은 정보를 활용할 수 있다.
원문
- 실행은 도메인별로, 문맥은 한 레포에토스 테크 · 원문 2026-10-16