月曜の朝、営業企画から「先週の商談データがダッシュボードに出ていない」と連絡が来ます。調べると、Salesforceから取り込む自作のPythonスクリプトが、金曜の夜から止まっていました。原因はAPIの認証トークンの期限切れです。直して再実行し、欠けた3日分を埋め終わるころには昼を過ぎています。取り込み先はSalesforceのほかに基幹DB、広告3媒体、会計SaaSの計6つ。面倒を見ているのはデータエンジニア1人です。休めません。

そこへ経営企画から「Fivetranの見積もりを取ったが、月額が使った量で変わると書いてあって稟議が書けない」と相談が来ます。取り込みを任せたい気持ちはある。しかし来年いくらになるか分からない契約は通しにくい。無理もありません。この板挟みは、ツールの機能より先に、費用の伸び方と保守の手間を比べると解けます。

状況別の早見表:まずここで当たりをつける

あなたの状況最初に試す選択肢選んだあとで困りやすいこと
取り込み先の大半がSalesforceやHubSpotなど有名なSaaS。データエンジニアは0〜1人Fivetran行の更新が多いテーブルや履歴保持の設定で、月額が想定より伸びる
データエンジニアが2人以上いて、Kubernetesを運用した経験があるAirbyteの自前運用(Core)本体とコネクタの更新作業が定常業務として残る
費用の上限を先に決めたいが、運用は任せたいAirbyte Cloud(定額のPlusか、容量課金のPro)コミュニティ製コネクタはサポート対象外で、止まっても自分で直す
社内独自のAPIや、どのツールにもコネクタが無いシステムがある自前EL(dltなどのフレームワークを使う)書いた人が異動すると直せる人がいなくなる
すでにTalendなどのETLが安定して動いている新しいソースだけELツールで始める2つの仕組みを並行で見る期間の手間

表の右端には、選んだあとで困りやすいことを書きました。自社の体制で引き受けられるかを、ここで先に確かめます。3つの選択肢は組み合わせて使うことが多く、1つに絞る必要はありません。

ELTに変わって、取り込みは「運ぶだけ」になった

以前は、取り込んだデータを専用のサーバーで整えてからDWHに入れていました。抽出・変換・書き込みの順なのでETLと呼びます。クラウドDWHは計算力を必要なだけ借りられるので、いまは生データをそのままDWHに入れ、変換はDWHの中でdbtなどを使って行う形が一般的です。順番が入れ替わるのでELTと呼び、そのうち取り込みの部分をELと呼びます。

項目ETLELT
変換する場所専用のETLサーバーDWHの中(dbtなど)
DWHに入るデータ変換済みの整ったデータ生データのまま
後から集計の切り口を変えたいときETLの改修が要るDWH上のSQLを直せば済む
運用で重い部分ETLサーバーの管理取り込みの監視と、DWHの計算費用

取り込みが「生データを運ぶだけ」になったので、接続設定だけで動くFivetranのような製品が成り立ちました。DWH側の基本はクラウドDWH入門にまとめています。

費用の伸び方は3者でまったく違う

稟議が通らない理由の多くは、月額の伸び方が読めないことです。料金の単位がそれぞれ違うので、並べて見ます(料金は2026-10-17に各社の公式ページで確認した内容です)。

選択肢課金の単位伸び方の特徴
FivetranMAR(月内に取り込まれた行の数。同じ行を月に何度更新しても1と数える)接続ごとに数える。同じソースを2つの宛先に送ると2回数える。1〜100万MARの接続には月5ドルの基本料金がかかる
Airbyte Cloud Standardクレジット(月20ドルで5クレジット、追加は1クレジット5ドル)処理したデータ量に連動して伸びる
Airbyte Cloud Plus月額固定のクレジット枠(月189ドルで40クレジットから、月4,999ドルで2,000クレジットまで)枠を超えた分は1クレジット5ドル
Airbyte Pro・Enterprise FlexData Workerという計算能力の単位(個別見積もり)データ量が増えても費用が増えない
Airbyte Core(自前運用)ライセンス費用なしサーバー費用と、運用する人の時間がかかる
自前ELライセンス費用なし接続の数と、ソース側の仕様変更の回数に比例して人の時間が伸びる

Fivetranには月50万MARまで使える無料プランがあり、新しい接続は最初の14日間が無料です。公式の料金ページには、Facebook Adsの接続で月34,479 MARなら月22.06ドルという計算例が載っています。小さく始めたときの金額は読みやすいということです。怖いのはその先です。伸びるのは、更新の多いテーブルを足したときです。

自前ELの「タダ」は、人の時間で払っている

自前ELはライセンス費用がかかりません。しかし保守の時間は確実にかかります。冒頭の会社の数字で、1年分を見積もってみます。時間の数字は説明のための仮定です。

項目仮定年間の時間
ソース側の仕様変更・認証切れへの対応6接続 × 年3回 × 1回8時間144時間
止まっていないかの確認と再実行週2時間 × 48週96時間
新しい接続の追加年2本 × 1本40時間80時間
合計320時間

データエンジニアの年収を700万円とすると、会社が負担する総コストはその約3倍の2,100万円です。年1,900時間で割ると時給は約11,000円。320時間なら年約350万円を、取り込みの保守に払っている計算になります。

この350万円と、マネージドツールの見積もりを比べます。比べるときは、浮いた320時間を何に使うかも書いておきます。「取り込みの面倒を見る時間が、営業向けの分析に回る」と書ければ、稟議は費用の比較だけで終わりません。

Fivetranを選ぶなら、月額が跳ねる3つの原因を先に潰す

Fivetranの強みは、接続情報を入れれば差分取り込みが始まり、コネクタの保守もFivetranが受け持つことです。公式ドキュメントでは、差分取り込みが失敗しても次回は直前のチェックポイントから再開すること、ソース側のスキーマに合わせてコネクタを保守するのはFivetranの責任であることが書かれています。公式の料金ページでは、700以上のマネージドコネクタを掲げています。運用する人が少ないチームほど効きます。冒頭の会社はまさにこれです。

月額が想定を超えるのは、たいてい次のどれかです。

原因何が起きるか契約前にやること
履歴を残す設定(History Mode)行が変わるたびに新しい行が積まれ、その行がすべてMARとして数えられる履歴が本当に要るテーブルだけで有効にする
使わないテーブルまで同期しているソースの全テーブルを対象にすると、誰も見ないテーブルでMARを使う接続ごとに、取り込むテーブルを画面で絞る
同じソースを複数の宛先に送っているMARは宛先ごと・接続ごとに別々に数えられる検証環境への送り先を本番と分けて考える

14日間の無料期間に、主要な接続のMARを実際に測っておくと、見積もりの前提が「推測」から「実測」に変わります。稟議にはその実測値と、更新が多い月の上振れ幅を書きます。

なお、Fivetranは2026年6月1日にdbt Labsとの合併を完了しています。dbtで変換を書いているチームは、取り込みと変換の契約が同じ会社になる点も、契約の見直しの時期に確認しておくとよい材料です。

Airbyteは「誰が直すか」をコネクタごとに確かめる

Airbyteは、自社のサーバーで動かすCoreと、マネージドのCloudを選べます。公式の料金ページでは700以上のコネクタを掲げています。

注意したいのは、コネクタごとに保守する人が違うことです。公式ドキュメントでは、Airbyteが保守するコネクタのほかに、コミュニティが保守する「Marketplace」のコネクタがあり、こちらはサポートの対象外で、本番で使う前に検証するよう書かれています。基幹業務に効く接続ほど、Airbyteが保守するコネクタかどうかを先に確認します。止まってから調べても遅いからです。

Coreを自前で動かす場合、公式のクイックスタートはKubernetes上で動かす前提で、4CPU以上・メモリ8GB以上を推奨しています。コネクタが無いソースは、画面上でコネクタを組み立てるConnector Builderで作れます。構成の詳細と運用の勘どころはAirbyteとはで扱っています。

自前ELは「どこにもコネクタが無い」ときだけ選ぶ

自前ELが本当に必要になるのは、社内独自のAPI、特殊な認証、取り込む前に複雑な加工が要るファイル連携などです。FivetranかAirbyteに公式のコネクタがあるものを自前で書くと、上で試算した保守の時間を自分から増やすことになります。

書くなら、フレームワークに乗せます。dltはPythonの関数にデコレータを付けると、差分の取り込みとDWHへの書き込みを受け持ってくれます。

import dlt
import requests

@dlt.resource(primary_key="id", write_disposition="merge")
def items(
    updated_at=dlt.sources.incremental("updated_at", initial_value="2026-01-01T00:00:00Z")
):
    # 前回取り込んだ最新の updated_at 以降だけを取りに行く
    resp = requests.get(
        "https://api.example.com/v1/items",
        params={"updated_since": updated_at.last_value},
        timeout=30,
    )
    resp.raise_for_status()
    yield resp.json()["items"]

pipeline = dlt.pipeline(
    pipeline_name="my_api",
    destination="snowflake",
    dataset_name="raw",
)
print(pipeline.run(items()))

write_disposition="merge" と primary_key を指定すると、同じidの行は上書きされ、新しい行は追加されます。dlt.sources.incremental は前回の取り込み位置を覚えておき、次の実行ではそこから先だけを取りに行きます。

フレームワークに乗せても、本番に出す前に次の5つが揃っているかは自分で確かめます。

確認すること揃っていないと起きること
差分取り込みの方式を決めたか(更新日時・IDの最大値・Webhook)データが増えたとき、全件取り直しで処理が終わらなくなる
失敗したときに再試行するか一時的なAPIエラーで1日分が欠ける
失敗を誰に通知するか冒頭のように、週明けまで誰も気づかない
APIトークンをコードの外で管理しているか漏えいと、期限切れの見落とし
データが届いた時刻を監視しているか止まってはいないが、昨日の分が来ていない状態に気づけない

cronで動かして放置するのは避けます。冒頭の事故はこれでした。Airflow・Dagster・Prefectなどのオーケストレーターに載せると、再試行・通知・ログを他のジョブとまとめて扱えます。選び方はオーケストレーションツールの選び方にまとめています。

乗り換えは「一番手間のかかる接続」から1本ずつ

全部を一度に入れ替える必要はありません。冒頭の会社なら、次の順に進めます。

時期やること終わったと言える目安
1か月目6つの接続を、止まった回数と直すのにかかった時間で並べる手間のかかる上位2本が分かっている
2か月目上位2本をマネージドツールで並行稼働させ、MARやクレジットを実測する1か月分の実測値で月額を出せる
3か月目取り込み先のテーブル名と列名を旧来と揃え、dbtの参照先を切り替えるダッシュボードの数字が旧来と一致する
4〜6か月目残りの接続を、コネクタの有無で「移す」「自前で残す」に分ける自前で残す接続に、上の5つの確認が揃っている

切り替えで一番事故が起きやすいのは3か月目です。理由は単純です。テーブル名や列の型が変わると、その先のdbtモデルとダッシュボードが一斉に壊れます。取り込んだ生データは、メダリオン構成でいえば最初の層にあたります。層ごとの役割はメダリオンアーキテクチャを参照してください。

よくある質問(FAQ)

Fivetranの月額は、契約前にどう見積もればいいですか?

新しい接続には14日間の無料期間があるので、主要な接続をその間に動かしてMARを実測します。MARは月内に取り込まれた行の数で、同じ行を何度更新しても1と数えます。ただし接続ごと・宛先ごとに数えるので、検証用の宛先にも送ると二重に数えられます。履歴を残す設定を有効にした場合も増えるため、実測は本番と同じ設定で行います。

自前ELとマネージドツールの費用は、どう比べればいいですか?

自前ELは、保守にかかる人の時間を金額にして比べます。時給は、社会保険の会社負担や賞与、設備などを含めた会社の総コスト(年収の約3倍)を年1,900時間で割って出します。年収700万円なら時給は約11,000円で、年320時間の保守なら約350万円です。これをマネージドツールの年額と並べます。

Airbyteの自前運用(Core)は、どんなチームなら現実的ですか?

Kubernetesを運用した経験があり、本体とコネクタの更新を定常業務として引き受けられる人が2人以上いるチームです。公式のクイックスタートは4CPU以上・メモリ8GB以上を推奨しています。1人で回していると、その人が休んだ週に止まります。運用を任せたいならCloudを選びます。

dltとAirbyteのConnector Builderは、どう使い分けますか?

すでにAirbyteで他の接続を動かしているなら、Connector Builderで作ると監視や再実行をAirbyteにまとめられます。Airbyteを使っていない、またはオーケストレーターから直接動かしたいなら、Pythonのライブラリとして組み込めるdltのほうが取り回しが軽くなります。

既存のETLツールは、すぐに置き換えるべきですか?

安定して動いているなら急ぐ必要はありません。新しいデータソースを足すたびに開発の手間が膨らんでいる、クラウドDWHへの移行でETLが足を引っ張っている、といった状況になってから、新しいソースだけELツールで始めます。両方を見る期間の手間はかかりますが、一度に入れ替えるより事故が少なく済みます。

出典

  • Fivetran Docs: Usage-based pricing(2026-10-17 参照:MARの定義(同じ行の複数回更新は1)、接続・宛先ごとに数えること、1〜100万MARの接続に月5ドルの基本料金、新規接続は14日間無料)
  • Fivetran: Pricing(2026-10-17 参照:Free/Standard/Enterprise/Business Criticalのプラン名、無料プランの50万MAR、700以上のマネージドコネクタ、Facebook Ads 34,479 MARで月22.06ドルの計算例)
  • Fivetran Docs: History mode(2026-10-17 参照:History Modeで変更ごとに新しい行が作られ、それがMARとして数えられること)
  • Fivetran Docs: Core concepts(2026-10-17 参照:差分同期が失敗しても直前のチェックポイントから再開すること、コネクタとスキーマの保守がFivetranの責任であること)
  • Fivetran: Press release(Fivetranとdbt Labsの合併完了)(2026-10-17 参照:2026年6月1日に合併が完了したこと)
  • Airbyte: Pricing(2026-10-17 参照:Core/Standard/Plus/Pro/Enterprise Flexの課金方式、Standard月20ドルで5クレジット・追加1クレジット5ドル、Plus月189ドル40クレジット〜月4,999ドル2,000クレジット、Data Workerによる容量課金、700以上のコネクタ)
  • Airbyte Docs: Connector support levels(2026-10-17 参照:Marketplaceのコネクタはコミュニティ保守でサポートSLAの対象外、本番前に検証を求めていること)
  • Airbyte Docs: Quickstart(Core)(2026-10-17 参照:abctlで導入しKubernetes上で動くこと、4CPU以上・メモリ8GB以上の推奨)
  • Airbyte Docs: Connector Builder(2026-10-17 参照:画面上でコネクタを組み立てる機能で、コネクタが無いときの最初の手段とされていること)
  • dlt Docs: Incremental loading(2026-10-17 参照:write_dispositionのappend/replace/merge、mergeがprimary_key/merge_keyで動くこと)
  • dlt Docs: Cursor-based incremental loading(2026-10-17 参照:dlt.sources.incrementalとinitial_valueの書き方)

自作スクリプトの保守とマネージドツールの見積もり、どちらが安いかを自社の接続数で一緒に試算するところからご相談ください。初回相談(30分・無料)で一緒に整理できます。