Airflow・Dagster・Prefect比較|違いと選び方

データ基盤
読了時間 約8分
主要なオーケストレーションツール3つの違いと選び方が分かります。Airflow(業界標準・大規模向け)、Dagster(データ資産中心・dbt親和性)、Prefect(シンプル・スモールスタート)の設計思想を4軸で比較し、チーム規模や技術スタックに応じた選定基準を現場経験から解説します。

「毎朝6時にETL処理を回して、失敗したらSlackに通知して、自動でリトライしてほしい」「上流のジョブが終わってから下流のジョブを走らせる依存関係を管理したい」。

データパイプラインが少し育ってくると、この手の要件が必ず出てきます。cronで組んでいたころは想像しなかったところで、順番の管理や失敗のリカバリが日々の運用を重くしていきます。

正直に言うと、Airflow・Dagster・Prefectの違いは、公式ドキュメントを読み比べただけではなかなかピンときません。3つとも「DAGでパイプラインを定義してスケジュール実行する」という説明が並ぶので、選ぶ側からすると差がぼやけてしまうのです。

現場で感じるのは、この3つの違いは機能表ではなく「どの世界観に体重を預けているか」に出るということ。この記事では、Airflow・Dagster・Prefectの設計思想を4軸で並べ、チームの規模や技術スタックからどう選ぶかを、Evastの現場感覚を交えて見ていきます。


オーケストレーションツールとは

オーケストレーションツールとは

データパイプラインのオーケストレーションツールは、以下を担います。

  • スケジューリング:「毎日午前2時に実行」「1時間おきに実行」といったスケジュール管理
  • 依存関係の制御:「タスクAが完了したらタスクBを開始する」という順序の管理
  • リトライ:失敗したタスクを指定回数・間隔で自動再試行
  • 監視・通知:実行状況の可視化、失敗時のSlack/メール通知
  • バックフィル:過去の日付にさかのぼって処理をまとめて実行し直す機能

ETLツール(trocco・Fivetran等)との違いも整理しておきましょう。ETLツールは「データをAからBへ運ぶ処理」そのものに特化しています。一方のオーケストレーションツールは、その処理を「どのタイミングで・どの順番で・何が失敗したらどうするか」という観点で管理する指揮者の役割を担います。

両者は補完関係にあり、たとえば「troccoでデータを転送するジョブをAirflowでスケジュール管理する」という使い方が一般的です。転送を担うETLツールそのものの選び方はデータ連携ツールの選び方:コスト・サポート・コネクタ数で比較で、データパイプライン全体の構成についてはデータパイプラインとは?ETLとの違いと仕組みを図解で解説で解説しています。


Apache Airflow:業界標準、ただし運用コストが高い

Apache Airflow

Apache Airflowは2014年にAirbnbで開発が始まり、2015年にOSSとして公開、2019年にApache Software Foundationのトップレベルプロジェクトに昇格したツールです。現在も最も広く使われているオーケストレーションツールで、コミュニティとコネクタの数は3つの中で群を抜いています。求人検索でも「Airflow経験者」の需要が圧倒的に多く、エンジニアの採用・育成の観点では有利です。

なお、Airflow 2.0(2020年12月リリース)でスケジューラーが大幅に刷新され、並列実行の安定性とパフォーマンスが改善されています。1.x時代の「スケジューラーが単一障害点になる」という弱点は2.x系では解消されており、現行の評価は2.x前提で行うことが重要です。

Airflowの設計思想:PythonでDAGを定義する

AirflowはパイプラインをDAG(Directed Acyclic Graph、有向非巡回グラフ)としてPythonコードで定義します。タスク間の依存関係を>>演算子で繋ぎ、実行スケジュールをcron式で指定します。

with DAG("daily_etl", schedule_interval="0 2 * * *") as dag:
    extract = PythonOperator(task_id="extract", python_callable=run_extract)
    transform = PythonOperator(task_id="transform", python_callable=run_transform)
    extract >> transform

コードで管理できるため、Gitでバージョン管理でき、PRレビューのフローに乗せられます。

Airflowの強みと弱点

強み:

  • エコシステムが成熟。Salesforce・BigQuery・S3など数百のProvider(コネクタ)が公式提供
  • 求人・学習リソースが豊富
  • カスタマイズ性が高く、複雑な要件にも対応できる

弱点:

  • スケーラビリティ:タスク数が増えると(目安として500タスク/日超え)スケジューラーの応答が遅くなる。スケーラブルな運用にはCeleryやKubernetesエグゼキューターの設定が必要
  • セルフホスト前提の構成コスト:Airflowを使うには自前でサーバーを立てる必要がある(Managed AirflowとしてCloud Composer、Amazon MWAAもあるが費用が高い)
  • デバッグのしにくさ:失敗タスクのログが深い階層に埋まっており、原因特定に時間がかかる

Evastの現場でも、Airflowの「スケジューラーが重くなる問題」は何度か遭遇しています。タスク数が1,000を超えてきた段階でKubernetesエグゼキューターへの移行を検討することが多いです。


Dagster:データ資産中心の設計、モダンデータスタック向け

Dagster

Dagsterは2018年に開発が始まり2019年にOSSとして公開された比較的新しいツールで、開発元はDagster Labs(旧Elementl)です。Airflowの課題を解決することを明示的に目標として設計されました。

Dagsterの設計思想:「ジョブ」ではなく「データ資産」を中心に

AirflowがTaskを中心に考えるのに対し、DagsterはSoftware-Defined Assets(SDA)という概念が核心です。「このJobを実行する」ではなく「このデータ資産(テーブル・ファイル・MLモデル等)を最新状態に保つ」という考え方でパイプラインを定義します。

@asset
def raw_orders(context):
    return fetch_from_salesforce()

@asset
def mart_orders(raw_orders):
    return transform(raw_orders)

この設計の利点は、データリネージ(データの流れの可視化)が自動で生成されることです。「mart_ordersはraw_ordersから生成され、raw_ordersはSalesforceから来る」という関係が、コードから自動的にグラフとして可視化されます。

Dagsterの強みと弱点

強み:

  • データリネージの自動可視化:どのデータがどこから来て、どこへ流れるかが常に把握できる
  • テストの書きやすさ:アセットの入出力が明確なため、ユニットテストが書きやすい
  • dbtとの統合:dbtのモデルをDagsterアセットとして管理できる(dbt-dagsterインテグレーション)
  • UIが直感的:Airflowのログ画面に比べ、失敗箇所とデータフローが見やすい

弱点:

  • Airflowに比べると学習コストが高く、「Dagster経験者」の採用は難しい
  • コミュニティとエコシステムはAirflowより小さい
  • SDAの概念に慣れるまでに一定の学習期間が必要

dbt + Dagsterの組み合わせは、モダンデータスタックで採用が増えています。dbtで変換・Dagsterでオーケストレーションという分業が自然に機能します。dbtそのものの仕組みについてはdbtとは?SQLでデータ変換を行うツールの基本と導入メリットで解説しています。


Prefect:シンプルさと運用しやすさを重視

Prefect

Prefectは2018年創業のPrefect Technologiesが開発したツールで、「Airflowの複雑さなしに同等の機能を提供する」をコンセプトとして設計されました。

Prefectの設計思想:普通のPythonコードがそのままフローになる

Airflowが専用のDAG定義構文を必要とするのに対し、Prefectは既存のPythonコードに@flow@taskデコレータを追加するだけでオーケストレーションが機能します。

@task
def extract():
    return fetch_data()

@task
def transform(data):
    return process(data)

@flow
def etl_pipeline():
    data = extract()
    transform(data)

既存のPythonスクリプトをほぼそのままPrefectに移行できるため、学習コストと移行コストが3つの中で最も低いです。

Prefectの強みと弱点

強み:

  • 学習コストが最低:Pythonが書けるエンジニアなら数時間でフローを動かせる
  • Prefect Cloud:マネージドサービスが充実しており、インフラ管理を最小化できる
  • 動的なDAG:実行時にタスク数が変わる動的なパイプラインが書きやすい
  • ローカル開発のしやすさflow.run()でローカルでもそのまま実行できる

弱点:

  • AirflowほどのProviderエコシステムはなく、独自実装が必要なケースもある
  • Prefect Cloudの利用(マネージドサービス)を前提とした設計のため、完全セルフホストは若干手間
  • Dagsterほどのデータリネージ可視化機能はない

4軸比較まとめ

比較軸AirflowDagsterPrefect
学習コスト高(独自概念多い)中〜高(SDA概念)低(Pythonそのまま)
スケーラビリティ△(大規模は要設定)
データリネージ△(別途設定)◎(自動生成)
dbt連携○(BashOperator等)◎(ネイティブ統合)
マネージドサービスCloud Composer / MWAADagster CloudPrefect Cloud
マネージド費用感高(Composer: 月3〜10万円〜)中(OSS無料、Cloudは従量)中(OSS無料、Cloudは従量)
エコシステム◎(最大)
採用・求人
向いている環境大規模・長期運用モダンデータスタックスモールスタート・小規模チーム

費用についても補足しておきましょう。AirflowのマネージドサービスであるCloud Composer(GCP)は、最小構成でも月3〜10万円程度のインフラ費用がかかります。Amazon MWAA(AWS)も同様の規模感です。

一方、DagsterとPrefectはOSS版をセルフホストすれば初期費用を抑えられます。Prefect CloudはFreeプラン(月間クレジット制限あり)で試験導入も可能です。セルフホストが難しい、あるいはインフラ管理を最小化したいという場合は、DagsterやPrefectのマネージドサービスの方がコスト予測がしやすいでしょう。


どれを選ぶか:3つのパターン

既存チームの規模が大きく、長期運用を前提とするなら → Airflow

求人・学習リソース・エコシステムの成熟度でAirflowが最も安全な選択です。複雑な要件にも対応でき、将来的に担当者が変わっても知見が受け継がれやすいです。ただしKubernetes等のインフラ管理コストは覚悟が必要です。

dbt + モダンデータスタックで構築するなら → Dagster

dbtとの統合、データリネージの自動可視化、テストの書きやすさ。これらを重視するなら、Dagsterはモダンデータスタックのオーケストレーションとして最も適した選択です。「どのデータがどこから来るか」を常に把握したい組織に向いています。

小さなチームでスピード重視・シンプルに始めたいなら → Prefect

Pythonのコードにデコレータを追加するだけで動き始めるシンプルさは、Prefectの最大の強みです。データエンジニアが1〜2名のスタートアップや、まずスモールスタートで試したい場合に最適です。

Evastでは規模と目的に応じて3つを使い分けています。小規模PoC段階でPrefectを使い、本番移行時にAirflowへ切り替えた事例もありますが、移行コストが発生するため、最初から想定スケールを考慮してツールを選ぶことをお勧めします。

ETLツールとオーケストレーションの組み合わせ方についてはETLとは?データ統合の基礎と選定ポイントを解説も参照してください。


データ基盤構築のご相談はEvastへ

株式会社Evastでは、Airflow・Dagster・Prefectすべてのオーケストレーションツールでのデータパイプライン構築実績があります。チームの規模や技術スタックを踏まえたツール選定から、実際の構築・移行までご相談いただけます。

  • 「どのオーケストレーションツールが自社に合うか選定を相談したい」
  • 「Airflowのスケーラビリティ問題を解決したい」
  • 「dbt + Dagsterのモダンデータスタックを構築したい」

データ基盤構築サービスを見る無料相談を申し込む

よくある質問

Airflow・Dagster・Prefectはどう違いますか?
3つともDAG(有向非巡回グラフ)でパイプラインを定義してスケジュール実行する点は共通ですが、設計思想が異なります。Airflowは業界標準でエコシステムが最大、大規模・長期運用向きです。Dagsterはデータ資産(テーブルやファイル)を中心に考える設計でdbtとの親和性が高く、Prefectは既存のPythonコードにデコレータを足すだけで動くシンプルさが特徴です。
初心者やスモールスタートにはどれが向いていますか?
学習コストの低さで選ぶならPrefectが向いています。Pythonが書けるエンジニアなら数時間でフローを動かせ、学習コストと移行コストが3つの中で最も低いとされます。データエンジニアが1〜2名の小規模チームや、まず試してみたい場合に適しています。
Airflowの弱点は何ですか?
タスク数が増えるとスケジューラーの応答が遅くなる点が代表的な弱点です。目安として1日500タスクを超えるとスケーラブルな運用にCeleryやKubernetesエグゼキューターの設定が必要になります。また自前でサーバーを立てるセルフホストが前提で、失敗タスクのログが追いにくくデバッグしにくい面もあります。
dbtと組み合わせるならどのツールがよいですか?
dbtを中心としたモダンデータスタックを構築するならDagsterが最も適しています。dbtのモデルをDagsterのアセットとして管理でき、データリネージ(データの流れ)が自動で可視化されます。AirflowやPrefectでもdbt連携は可能ですが、ネイティブな統合という点ではDagsterが優れています。
マネージドサービスの費用感はどのくらいですか?
Airflowのマネージドサービスである Cloud Composer(GCP)は最小構成でも月3〜10万円程度のインフラ費用がかかり、Amazon MWAA も同様の規模感です。DagsterとPrefectはOSS版をセルフホストすれば初期費用を抑えられ、Prefect CloudはFreeプランで試験導入も可能です。
Back to Blog

Related Posts

View All Posts
データパイプラインとは?2026年版 仕組み・ETLとの違い・設計3軸を図解

データパイプラインとは?2026年版 仕組み・ETLとの違い・設計3軸を図解

データパイプラインとは何か、ETLとの違い(包含関係)はどこにあるのか、そして2026年時点でどう設計するのが定石か。処理タイミング(バッチ/ストリーミング)・変換の場所(ETL/ELT)・責任分担(マネージド/自作)の3軸で設計判断を整理し、Airflowによるオーケストレーション、監視・リトライ・冪等性の運用要点、AI連携で変わる新常識、Evastの現場で見た落とし穴3つまでを図解でまとめます。手作業のデータ集計を自動化したい情シス・データ担当者向け。

ETLとELTの違いとは?5つの比較軸とELTが主流になった理由

ETLとELTの違いとは?5つの比較軸とELTが主流になった理由

ETLとELTの違いと、自社に合う方式の選び方が分かります。変換のタイミングと場所・処理性能・コスト・柔軟性・セキュリティの5軸で比較表つきに整理し、ELTがModern Data Stackの主流になった背景や、raw・staging・martのレイヤー設計など導入時の注意点まで解説します。

Excel集計の限界サイン7つ|データ基盤移行の3アプローチと費用相場

Excel集計の限界サイン7つ|データ基盤移行の3アプローチと費用相場

毎月の売上集計にExcelで30〜60時間かかる、共有ファイルが壊れる、関数エラーで会議が延びる。100〜1000名規模の企業でよく起こる「表計算の限界」を、構造・共同編集・自動化・信頼性の4方向から整理し、データ基盤(DWH)への移行アプローチ3種類、3〜6か月のステップ、費用の目安、よくある落とし穴までまとめました。ラーメンチェーン・ディスカウントストア・ブランドリユースの実案件で、集計時間をほぼゼロにした数値も掲載。情シス・DX推進・経営企画のマネージャーが、次の一歩を判断するための実務記事です。