Airflow・Dagster・Prefect:オーケストレーションツール比較と選び方

データ基盤
読了時間 約13分
データパイプラインのスケジューリング・依存管理・監視を担うオーケストレーションツールを4軸で比較します。Airflow(業界標準・大規模向け)、Dagster(データ資産中心・dbt親和性)、Prefect(シンプル・スモールスタート)の設計思想の違いと、チーム規模・技術スタックに応じた選び方をEvastの現場経験をもとに解説します。

「毎朝6時にETL処理を実行し、失敗したらSlackに通知して自動でリトライしてほしい」「上流のジョブが終わってから下流のジョブを実行する依存関係を管理したい」——データパイプラインがある程度の規模になると、こうした要件が必ず出てきます。

これを解決するのがオーケストレーションツールです。代表的な3つ——Apache Airflow・Dagster・Prefect——はどれも「DAG(有向非巡回グラフ)でパイプラインを定義してスケジュール実行する」という基本機能は同じですが、設計思想が根本的に異なります。


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

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

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

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

ETLツール(trocco・Fivetran等)との違いを整理しておきます。ETLツールは「データをAからBへ運ぶ処理」に特化しており、オーケストレーションツールは「どのタイミングで・どの順番で・何が失敗したらどうするか」を管理する「指揮者」の役割です。両者は補完関係にあり、「troccoでデータを転送するジョブをAirflowでスケジュール管理する」という使い方が一般的です。データパイプライン全体の構成についてはデータパイプラインとは?ETLとの違いと仕組みを図解で解説で解説しています。


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

Apache Airflow

Apache Airflowは2014年にAirbnbが開発し、2019年にApacheのトップレベルプロジェクトになったOSSです。現在も最も広く使われているオーケストレーションツールで、GitHubスター数は3.6万超(2025年時点)。求人検索でも「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は2019年に登場した比較的新しいOSSで、Airflowの課題を解決することを明示的に目標として設計されました。GitHubスター数は1.2万超(2024年時点)。

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は2019年に登場し、「Airflowの複雑さなしに同等の機能を提供する」をコンセプトとして設計されました。GitHubスター数は1.7万超(2024年時点)。

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も同様の規模感です。一方、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のモダンデータスタックを構築したい」

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

Back to Blog

Related Posts

View All Posts
データパイプラインとは?ETLとの違いと仕組みを図解で解説

データパイプラインとは?ETLとの違いと仕組みを図解で解説

データパイプラインとは、データを発生源から利用先まで自動で運び、使える形に整える処理の連なりです。ETLパイプラインとの違い(対立ではなく包含関係)、バッチ・ストリーミングなどの主要パターン、Airflowに代表されるオーケストレーション、監視・リトライ・冪等性という運用の要点までを図解つきで整理します。データ連携の自動化を検討し始めた担当者向けの入門記事です。

データ連携ツールの選び方:コスト・サポート・コネクタ数で比較

データ連携ツールの選び方:コスト・サポート・コネクタ数で比較

SalesforceやkintoneなどのSaaSと社内DBを自動統合するETL/ELTツールを、運用体制・コスト体系・コネクタ要件の3軸で解説します。スモールスタートに向くtrocco、非エンジニア運用に強いASTERIA Warp、クラウドDWH連携重視のFivetranなど主要10ツールの選定ポイントを、Evastの現場経験をもとにまとめました。

DWH(データウェアハウス)とは?データレイクとの違いと選び方

DWH(データウェアハウス)とは?データレイクとの違いと選び方

DWH(データウェアハウス)とは、分析専用に設計されたデータの集約場所です。通常のDB・データレイク・データマートとの違い、列指向ストレージの仕組み、BigQuery・Snowflake・Redshiftの選定ポイント、スタースキーマ・パーティション設計の基本、導入でよくある失敗まで、データ基盤の構築を検討している担当者向けに現場の視点でまとめました。

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

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

ETLとELTの違いを、変換のタイミングと場所・処理性能・コスト構造・柔軟性・セキュリティの5つの軸で比較表つきで整理します。クラウドDWHとdbtの普及によりELTがModern Data Stackの主流になった背景、自社に合う方式を選ぶ判断基準、raw・staging・martのレイヤー設計などELT導入時の注意点まで、データ基盤の方式選定に悩む担当者向けに解説します。