BigQuery の上で SQL の変換パイプラインを作り始めた、1 人目のデータ担当の方向けの記事です。dbt の無料プランが自分のモデル数と実行回数で足りるのか、人が増えたら dbt と Dataform で費用がどう分かれるのかを、公式の料金表から計算しました。読み終わると、今の規模と来年の人数から、どれを選べばよいかを数字で説明できるようになります。
この記事で分かること:
- dbt の無料プラン(月 3,000 ビルド)が尽きるモデル数を、1 日の実行回数ごとに計算した結果
- 1〜5 人 × 1 日 1〜4 回で、dbt Developer・dbt Starter・dbt Core の自前実行・Dataform の月額がどう分かれるか
- 費用以外に何を見て選ぶか、と選ぶ順番
ざっくり言うと
筆者が 2026-11-07 時点の料金表から計算した結果、1 人で 1 日 1 回実行するなら、無料枠が尽きるのは 100 モデル(31 日の月は 96 モデル)でした。1 日 4 回に増やすと、25 モデルで壁に当たります。
ただし、費用の差を一番大きく分けるのはモデル数ではなく人数です。無料の Developer プランは席(ツールを使える人の枠)が 1 つだけなので、2 人目が入った時点で、ビルド数に関係なく有料の Starter プラン(1 人あたり月 100 ドル)になります。
一方、dbt Core を Google Cloud の Cloud Run jobs で自分で動かす方法と、Google の Dataform は、今回の仮定ではツールの費用が 0 ドルのままでした。どの方法でも BigQuery のクエリ費用は同じようにかかります。
そのため、今回の仮定(Cloud Run の無料枠に収まる規模)では、大きな差がつくのは「席の費用」です。定期起動の Cloud Scheduler など、料金を確認できていない部品は別に残ります。
なぜ人数と実行頻度で比べるのか
2026-11-05 の記事では、データ量を軸に月額を試算しました。しかし BigQuery のクエリ費用は dbt でも Dataform でも同じようにかかるため、データ量の軸では両者の差が見えません。
dbt の有料プランは「席の数」と「月のビルド数」で決まります(dbt の課金ドキュメント)。そこで今回は、人数と実行頻度を軸にして比べます。
料金の部品:4 つの選択肢は何にお金がかかるか
まず、比べる 4 つの選択肢を確認します。dbt(SQL で書いた変換処理を順番に実行し、テーブルを作るツール)には、dbt Labs が提供するクラウドサービスの dbt platform(無料の Developer と有料の Starter などのプランがある) と、自分の環境に入れて動かす版があります。
| 選択肢 | 席 | 月のビルド上限 | 月額 |
|---|---|---|---|
| dbt Developer | 1 | 3,000 | 0 ドル |
| dbt Starter | 5 | 15,000 | 1 ユーザーあたり 100 ドル |
| dbt Core(Cloud Run jobs) | 料金表なし | 数え方の対象外 | Cloud Run の実行時間分 |
| Dataform | 料金表なし | 料金表に記載なし | 0 ドル |
上 2 行の出典は dbt 料金ページです。dbt のインストールのページは、通常の dbt v2 を「無料で使える」と説明し、Apache 2.0(自由に使える条件のオープンソースのライセンス)の版を「dbt OSS」として別に用意しています。この記事では、自分の環境で動かすこれらの版をまとめて「dbt Core」と呼びます。
Dataform は、BigQuery でクエリを実行してテーブルやビューを作る Google Cloud のサービスです。Dataform の料金ページは「Dataform は無料のサービス」と書き、実行したクエリは BigQuery 側で課金されると説明しています。
Cloud Run jobs(Google Cloud で、決まった処理を起動して終わらせる仕組み)は、使った CPU とメモリの秒数で課金されます。最小の課金は 1 分です(Cloud Run 料金)。
図 1 は、4 つの選択肢の月額がどの部品でできているかを並べたものです。今回の仮定(無料枠内)では、大きな差がつくのは一番上の「席の費用」の行だと分かります。
「モデルビルド」の数え方
dbt platform の上限にある「ビルド」は、正確には「成功したモデルビルド」です。モデルとは、dbt で 1 つのテーブルやビューを作る SQL のファイルのことです。
dbt の課金ドキュメントによると、数えるのは dbt のオーケストレーション(実行の段取りを管理する仕組み)を通して、本番などのデプロイ環境で成功したモデルです。定期実行(スケジューラ)、PR(変更の取り込み依頼)ごとの CI(自動チェック)、API から起動した実行が含まれます。
| 種類 | 数えるか |
|---|---|
| View・Table・Incremental のモデル | 数える |
| Ephemeral のモデル、tests、seeds、snapshots | 数えない |
| 開発環境(Studio IDE など)でのビルド | 数えない |
| 途中で失敗した実行のうち、成功した分 | 数える |
この定義から、dbt platform を通さずに自分の環境で動かす dbt Core の実行は、数え方の対象外だと考えられます。ただし、dbt Core に席やビルドの上限が無いと明記した公式の記述は、今回の資料では確認できませんでした。
試算 1:3,000 / 15,000 ビルドの壁はモデル数いくつで来るか
計算に使った式は次のとおりです。
月のビルド数 = モデル数 × 1 日の実行回数 × 30 日
壁のモデル数 = 上限(3,000 または 15,000) ÷ (1 日の実行回数 × 30)
図 2 は、横軸をモデル数、縦軸を月のビルド数にした折れ線グラフです。実行回数が多いほど線が急になり、早く 3,000 の線を越えます。
筆者が dbt 料金ページの上限から計算した、壁のモデル数は次のとおりです。31 日の月は 1 日分ビルドが増えるため、壁が少し手前に来ます。
| 1 日の実行回数 | 3,000 の壁(30 日) | 3,000 の壁(31 日) | 15,000 の壁(30 日) | 15,000 の壁(31 日) |
|---|---|---|---|---|
| 1 回 | 100 モデル | 96 モデル | 500 モデル | 483 モデル |
| 2 回 | 50 モデル | 48 モデル | 250 モデル | 241 モデル |
| 4 回 | 25 モデル | 24 モデル | 125 モデル | 120 モデル |
図 2 の値を表にすると、次のようになります(30 日、単位はビルド)。
| モデル数 | 25 | 50 | 75 | 100 | 125 | 150 | 175 | 200 |
|---|---|---|---|---|---|---|---|---|
| 1 日 1 回 | 750 | 1,500 | 2,250 | 3,000 | 3,750 | 4,500 | 5,250 | 6,000 |
| 1 日 2 回 | 1,500 | 3,000 | 4,500 | 6,000 | 7,500 | 9,000 | 10,500 | 12,000 |
| 1 日 4 回 | 3,000 | 6,000 | 9,000 | 12,000 | 15,000 | 18,000 | 21,000 | 24,000 |
この表には CI のビルドが入っていません。PR を出すたびに CI でモデルを作る運用なら、その分だけ壁はさらに手前に来ます。
試算 2:人数 × 実行頻度で、どのプランになるか
次に、モデル数を 50 に固定し、人数 1〜5 人と 1 日 1・2・4 回の組み合わせで、どのプランになるかを調べました。50 モデルの月のビルド数は、1 日 1 回で 1,500、2 回で 3,000、4 回で 6,000 です。
図 3 のとおり、プランを分けるのは実行回数より人数です。dbt platform の月額は次の表のとおりで、Starter は「1 ユーザーあたり月 100 ドル」に人数を掛けて計算しました。
| 人数 | 1 日 1 回 | 1 日 2 回 | 1 日 4 回 | dbt Core(自前実行) | Dataform |
|---|---|---|---|---|---|
| 1 人 | Developer 0 ドル | Developer 0 ドル(上限ちょうど) | Starter 100 ドル | 0 ドル | 0 ドル |
| 2 人 | Starter 200 ドル | Starter 200 ドル | Starter 200 ドル | 0 ドル | 0 ドル |
| 3 人 | Starter 300 ドル | Starter 300 ドル | Starter 300 ドル | 0 ドル | 0 ドル |
| 4 人 | Starter 400 ドル | Starter 400 ドル | Starter 400 ドル | 0 ドル | 0 ドル |
| 5 人 | Starter 500 ドル | Starter 500 ドル | Starter 500 ドル | 0 ドル | 0 ドル |
1 人・1 日 2 回のマスは、30 日の月でちょうど 3,000 ビルドです。31 日の月は 3,100 ビルドになり、上限を超えます。
dbt Core の 0 ドルは、次の仮定で計算しました。1 回の実行を 5 分・1 vCPU(CPU 1 個分)・1 GiB のメモリとし、Cloud Run の単価と無料枠(毎月最初の 240,000 vCPU 秒と 450,000 GiB 秒)を当てはめています。
| 1 回の実行時間 | 1 日の回数 | 月の vCPU 秒 | 無料枠ありの月額 | 無料枠なしの月額(目安) |
|---|---|---|---|---|
| 5 分 | 1 回 | 9,000 | 0 ドル | 0.18 ドル |
| 5 分 | 2 回 | 18,000 | 0 ドル | 0.36 ドル |
| 5 分 | 4 回 | 36,000 | 0 ドル | 0.72 ドル |
| 30 分 | 4 回 | 216,000 | 0 ドル | 4.32 ドル |
1 回 30 分の重い処理を 1 日 4 回動かしても、CPU の無料枠に収まりました。5 分の実行なら、無料枠を使い切るのは月 800 回(1 日約 27 回)です。
無料枠なしの値は、料金ページの既定の単価(1 vCPU 秒 0.000018 ドル、1 GiB 秒 0.000002 ドル)で出した目安です。この単価で公式の計算例を計算し直すと公式の金額と一致せず、地域で単価が違うためと考えられます。東京の単価は確認できていません。
試算 3:円換算の年額(為替 3 水準)
この試算の為替は、1 ドル 140 円・150 円・160 円の 3 つを仮定した値です。公表された相場で換算したものではありません。最新の相場は、週ごとの平均値を掲載している税関の外国為替相場のページなどで確かめてください。
図 4 のとおり、Starter の年額は人数に比例して増えます。計算は「月 100 ドル × 人数 × 12 か月 × 為替」です。
| 人数 | 年額(ドル) | 1 ドル 140 円 | 1 ドル 150 円 | 1 ドル 160 円 |
|---|---|---|---|---|
| 1 人 | 1,200 | 168,000 円 | 180,000 円 | 192,000 円 |
| 2 人 | 2,400 | 336,000 円 | 360,000 円 | 384,000 円 |
| 3 人 | 3,600 | 504,000 円 | 540,000 円 | 576,000 円 |
| 4 人 | 4,800 | 672,000 円 | 720,000 円 | 768,000 円 |
| 5 人 | 6,000 | 840,000 円 | 900,000 円 | 960,000 円 |
比べると、dbt Core を 5 分・1 日 4 回で動かす場合、無料枠を使わなくても年 8.64 ドル(1 ドル 150 円で約 1,300 円)でした。
BigQuery の費用は、どれを選んでも同じ
変換の SQL は、どの選択肢でも BigQuery の中で実行されます。BigQuery の料金ページによると、オンデマンド料金(読んだデータ量に応じて払う方式)は 1 TiB あたり 6.25 ドルで、毎月 1 TiB までは無料です。月 2 TiB 読めば 6.25 ドル、5 TiB なら 25 ドルで、この額は 4 つの選択肢すべてに同じように足されます。
費用以外の判断軸
費用だけなら、dbt Core の自前実行と Dataform が有利に見えます。ただ、選ぶときは次の点も比べる必要があります。
| 判断軸 | dbt platform | dbt Core(自前実行) | Dataform |
|---|---|---|---|
| 使うデータベース | 公式資料で確認 | 公式資料で確認 | BigQuery |
| 実行環境の準備 | dbt platform が受け持つ | Cloud Run jobs などを自分で用意 | Google Cloud の中で動く |
| 開発する人数 | Developer 1 人、Starter 5 人まで | 料金表に席の決まりなし | 料金表に席の決まりなし |
Dataform は BigQuery でクエリを実行するサービスです(Dataform 料金)。だから、BigQuery 以外も同じ仕組みで変換したい場合は dbt 側を検討します。dbt の対応先は今回確かめていないため、dbt の公式資料で確認してください。
dbt Core を選ぶと席の費用はかかりませんが、Cloud Run jobs の設定や定期起動の仕組みを自分で作って保守する手間が残ります。この手間を誰が担当するかを、費用と一緒に決めておくと安心です。
選び方のフロー
ここまでの計算を、判断の順番にまとめたのが図 5 です。上から順に答えていくと、候補が絞れます。
- BigQuery だけを使うかを確かめます(他も使うなら Dataform は外れます)。
- 変換の SQL を dbt で書くかを決めます。dbt を使わないなら、Dataform を候補にします。
- dbt を使うなら人数を数えます。2 人以上なら、実行環境込みの Starter か、実行環境を自分で用意・保守する dbt Core の自前実行です。
- 1 人なら月のビルド数を計算し、CI の分を足しても 3,000 以下なら Developer で始めます。
5 人か月 15,000 ビルドを超える場合は、個別見積もりの Enterprise プランが対象です(dbt 料金ページ)。
つまずきやすい点
失敗した実行でも、成功した分は数えられる
dbt の課金ドキュメントの例では、100 モデルの実行が 51 件目で失敗すると、成功した 51 件が数えられます。失敗して実行し直すと、その分もビルド数に積み上がります。
CI と 31 日の月で、上限ちょうどの計画は超える
PR ごとの CI のビルドも数に入ります。さらに、集計は月単位(UTC、協定世界時)なので、31 日の月は 30 日で計算した値より多くなります。上限ちょうどの計画は、実際には超えると考えておくのが安全です。
3,000 を超えたときに実行が止まるのか、追加の請求になるのかは、今回の資料では確認できませんでした。契約前に dbt の公式資料で確かめてください。
Starter の「5 席」が人数分の契約かは、契約前に確かめる
料金ページには「1 ユーザーあたり月 100 ドル」と「開発者席 5」の両方が書かれています。5 席未満で契約できるのか、5 席分が固定なのかは、ページからは断定できませんでした。この記事の表は人数分の額で計算しているため、5 席分が固定なら 1 人でも月 500 ドルになる可能性があります。
Dataform も BigQuery の走査は課金される
「Dataform は無料」は、Dataform というサービスの料金が 0 という意味です。実行したクエリは BigQuery で課金されます。また、実行の記録に使う Cloud Logging は既定で有効で、必須です(Dataform 料金)。その料金は今回確認していません。
Cloud Run の無料枠は他の処理と分け合う
Cloud Run の無料枠は「毎月最初の」秒数に適用されます。同じ請求先で他の Cloud Run の処理を動かしていれば、その分も無料枠から引かれると考えられます。
まとめ
- 1 人で 1 日 1 回なら、dbt の無料枠は 100 モデル(31 日の月は 96)で尽き、1 日 4 回なら 25 モデルで尽きます。2026-11-07 時点の dbt 料金ページから筆者が計算しました。
- 費用を一番大きく分けるのは人数です。2 人目が入ると Developer(1 席)は使えず、Starter の月 100 ドル × 人数になり、5 人で年 84〜96 万円(1 ドル 140〜160 円)です。
- dbt Core の自前実行と Dataform は、今回の仮定ではツールの費用が 0 ドルで、BigQuery の費用はどれも共通です。選ぶときは費用より、使うデータベースと実行環境を誰が保守するかを先に決めます。
次の一歩
自社のモデル数・実行回数・人数で試算し直したい方や、dbt と Dataform のどちらで始めるか相談したい方は、お問い合わせからご連絡ください。変換パイプラインの SQL が定義どおりか第三者の目で確かめたい場合は、BigQuery SQL レビューパックもご利用いただけます。
参考にした一次情報
いずれも 2026-11-07 に内容を確認しました。