Airflow에서 Dagster로: 1년 운영 회고
· Data Platform Team · #Dagster #Airflow #데이터파이프라인
왜 옮겼나
Airflow에서 다음 문제가 누적되고 있었다.
- 태스크 간 데이터 의존성이 코드로 명시되지 않음
- 로컬 개발과 프로덕션 환경 차이가 커서 디버깅이 어려움
- 백필(backfill) 시 의도치 않은 다운스트림 영향
Dagster의 강점
Asset 중심 모델이 가장 컸다. "이 잡이 어떤 데이터를 만드는가"를 1급 객체로 다루기 때문에, 의존성 그래프가 자연스럽게 데이터 리니지가 된다.
@asset(deps=[raw_events])
def cleaned_events(context, raw_events):
return raw_events.filter(...).dropna()
아쉬운 점
- 커뮤니티 자료가 Airflow보다 적다
- 일부 운영 도구(센서, SLA)가 Airflow만큼 성숙하지 않다
- 학습 곡선이 의외로 가파르다
결론
다시 선택해도 Dagster로 갈 것이다. 다만 팀이 5명 미만이면 Airflow가 여전히 합리적인 선택일 수 있다.