【ダグスター】

Dagster とは?

💡 データ資産を中心に考える新しいパイプライン管理
📌 このページのポイント
Dagster - データアセット中心の設計 従来(タスク中心) タスクA タスクB タスクC 何が作られるか不明瞭 Dagster(アセット中心) 売上raw 日次集計 レポート 型安全 入出力に型を定義 実行前にエラー検出 テスト容易 関数単位でテスト可能 ローカル実行が簡単 可観測性 アセットの状態を監視 鮮度・品質を追跡
Dagsterのデータアセット中心設計と主要な特徴
ひよこ ひよこ

DagsterってAirflowと何が違うの?

ペンギン先生 ペンギン先生

一番の違いは設計思想だよ。Airflowは「タスクの実行順序」を中心に考えるけど、Dagsterは「どんなデータアセットを作るか」を中心に考えるんだ。つまりゴール(成果物)から逆算して設計できるよ

ひよこ ひよこ

データアセットって具体的には何?

ペンギン先生 ペンギン先生

たとえば「日次売上集計テーブル」「ユーザーセグメント分類テーブル」みたいな、パイプラインが生み出すデータの成果物のことだよ。Dagsterではこれをコードで宣言的に定義するんだ

ひよこ ひよこ

型安全ってどういうこと?

ペンギン先生 ペンギン先生

たとえば「この処理の入力はDataFrameで、出力はCSVファイル」みたいに入出力の型を定義できるんだ。型が合わないパイプラインは実行前にエラーになるから、本番で予期しない障害が起きにくいよ

ひよこ ひよこ

テストしやすいのはなぜ?

ペンギン先生 ペンギン先生

Dagsterは各処理をPythonの関数として書くから、普通のユニットテストと同じ感覚でテストできるんだ。モックデータを渡してローカルで実行することも簡単だよ

ひよこ ひよこ

Airflowから乗り換える企業は多いの?

ペンギン先生 ペンギン先生

増えてきているね。特にデータエンジニアリングチームが成熟してきた組織で採用が進んでいるよ。ただしAirflowのエコシステムは圧倒的に大きいから、既存のAirflow資産が多い組織では共存させるケースもあるね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Dagster」って出てきたら「データアセット中心の次世代パイプラインツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Dagster」 = DAG + ster(する人)
💬 DAG(有向非巡回グラフ)を扱うツールという意味合いで名付けられたよ
← 用語集にもどる