Asset 으로 생각하면 뭐가 바뀌나
Dagster (2026.8 기준 1.13) 는 "무슨 task 를 돌리지?" 대신 "무슨 데이터 asset 을 만들지?" 를 묻는 orchestrator 야. Asset 은 함수가 materialize 하는 논리적 데이터 객체고 — 테이블, Parquet 디렉토리, ML 모델, 리포트. DAG 는 asset 들이 서로를 참조하는 방식에서 저절로 떠올라.
작은 전환처럼 들리지. 실전에선 대화 자체가 바뀌어. "orders 가 stale 인 건 upstream 의 customers asset 이 화요일 이후로 refresh 가 안 돼서야" — Dagster UI 는 이런 문장을 말할 줄 알아. Airflow 에선 task status 를 보고 그게 데이터한테 무슨 뜻인지를 직접 추론해야 하고.
Dagster 프로젝트의 모양
- Asset —
@asset을 단 Python 함수. Materialize 된 객체를 반환하거나 IO manager 를 통해 써. - IO Manager — asset 을 어떻게 읽고 쓸지 갈아 끼우는 전략 (S3 의 Parquet, Postgres, in-memory 등).
- Resource — asset 에 주입되는 재사용 config (DB 연결, API 클라이언트).
- Sensor / schedule — asset 을 언제 다시 materialize 할지.