
실행은 도메인별로, 문맥은 한 레포에
두줄요약
중앙 DW Airflow를 멈추지 않고 도메인별 클러스터와 dbt 선언형 파이프라인으로 단계적으로 이전했습니다. 단일 레포에 의존성·지표 문맥을 모아 운영 복잡도와 에이전트 탐색 비용을 낮췄습니다.
문제 상황
- 단일 DW Airflow 클러스터의 400여 DAG로 인한 도메인 간 배치 지연·장애 영향 전파
- 테이블 생성 주체와 의존 관계가 SQL·DAG·operator 등에 분산된 구조
해결 방법
- Strangler Fig 방식으로 기존 중앙 DW를 유지한 채 도메인별 Airflow 클러스터와 dbt 기반 파이프라인 병행 구축
- 신규·기존 결과를 병렬 실행과 비교로 검증한 뒤 도메인 단위 순차 전환
- dbt
ref()기반 모델 의존성, source yml의 producer 메타데이터, wrapper로 sensor·Spark task 자동 생성
구조와 흐름
- 실행 환경은 ads·foundation·finops·fmd·dw-core 등 도메인별 클러스터로 분리하고 코드는 단일 레포에서 공동 관리
- 도메인별 main DAG가 날짜를 통일하고, 원천 적재 메타 또는 외부 Airflow task로 클러스터 간 선행 작업 대기
- 모델·source yml에 품질 테스트, 지표 정의, 생산자 정보, Spark 레시피를 함께 선언
성능/운영 포인트
- 광고 도메인 DAG 코드 2,794줄에서 100줄, 수동 의존성 코드 180줄에서 0줄, 파이프라인 시간 4시간에서 2시간 30분
- dbt compile, DAG import, LIMIT 0 검증과 Airflow connection·pool drift 검사 기반 CI
- 구조화된 모델·지표 문맥과 MetricFlow 시맨틱 레이어를 통한 데이터 챗봇 정확도 개선 시도