Dagstar란?
Dagster는 데이터 파이프라인을 관리하고 실행하는데 특화된 Python 기반 오픈소스 라이브러리로, asset 기반의 워크플로 오케스트레이션으로 동작한다. 특히 데이터 계보, 옵저빌리티, 선언적 프로그래밍 모델에 대해 높은 용이성을 제공하는 툴이다.
유료 버전인 Dagster+와 자체 인프라에 오픈소스를 배포하는 Dagster OSS 아키텍처를 활용할 수 있다. 이외에도 Hybrid 방식을 통해 클라우드와 온프레미스 방식을 같이 채용할 수도 있다.

시작하기
Dagster는 Python 패키지 형태의 프로젝트를 생성하여 사용할 수 있다. 간단한 생성을 위해 CLI를 제공하기에 이를 통해 Python 패키지 구성이 쉽게 가능하다.
.
├── pyproject.toml
├── README.md
├── src
│ └── dagster_tutorial
│ ├── __init__.py
│ ├── definitions.py
│ └── defs
│ └── __init__.py
└── tests
└── __init__.py
구성 요소

Assets
Dagster의 가장 핵심적인 구성 요소로 Dagster는 Asset 기반 워크플로 오케스트레이션을 지향하고 있다. Asset은 데이터베이스 테이블, 머신러닝 모델, AI 프로세스 등 파이프라인의 구성 요소를 나타낸다. 이러한 Asset은 패키지의 Definitions 객체들은 초기화 단계에서 추가된다.
Resources
데이터베이스 테이블을 통해 Asset의 연결을 나타내는 구성요소로 DuckDB에 연결 로직을 추가하고, 단일 객체에 중앙 집중화할 수 있도록 만든다. Resource는 Dagster 객체지만 직접 실행하지 않고, 다른 객체를 보완하는 역할을 한다. 보통 데이터베이스 연결, API 클라이언트와 같이 외부 컨텍스트를 제공하는 재사용 가능한 객체로써 동작한다.
Asset dependencies
Asset의 종속성을 통해 Asset을 연결하여 DAG를 형성한다. 객체에 다른 Asset을 추가해서 downstream asset을 생성해서 종속성을 만들 수 있다.
Asset checks
어플리케이션 구축 시 예상되는 데이터를 생성하는지 품질 측정을 진행하게 되는데, 이러한 요소를 Dagster에서 Asset check라고 한다. Asset 생성 시 검사 로직에 따라 Asset이 특정 기준을 충족하는지 확인한다.
Automation
Dagster는 자동화를 위해 일정 기반 파이프라인과 이벤트 기반 파이프라인을 모두 지원한다. 대표적으로 cron 기반 스케줄링으로 시간 기반 표현식을 사용할 수 있다.
Custom Component
내장 컴포넌트를 사용하는 경우 일반적인 워크플로나 dbt 또는 Fivertran과 같은 도구에 맞게 생성할 수 있다. 그렇지만 따로 일련의 동작이 필요한 경우 Custom Component를 활용할 수 있다.
Migration, Integrations
Dagster는 단순히 Ariflow에서 Migration하는 방법에 대해 가이드를 제공하고 있으며, 다양한 외부 서비스에 대해 라이브러리를 제공하고 있다. 단순히 Docker나 AWS, GCP 같은 클라우드 라이버러리, dbt나 DuckDB 같은 데이터 관련 라이브러리 외에도 Gemini 라이브러리도 있으며 이 경우 API 호출 크레딧 소비 등을 확인할 수 있다.
참고
Overview | Dagster Docs
Dagster's Documentation
docs.dagster.io
'개인 공부 일지 > 데이터 엔지니어링' 카테고리의 다른 글
| Workflow Orchestration (2) - n8n (0) | 2026.01.03 |
|---|---|
| Workflow Orchestration (1) - Airflow (0) | 2026.01.03 |
| Parquet이란 (0) | 2025.10.26 |
| 메달리온 아키텍처(Medallion Architecture) (0) | 2025.09.10 |