データ基盤のTCO(総保有コスト)を正確に算出できている組織は、驚くほど少数派です。理由はシンプルで、「見えるコスト(DWH・ストレージ・ツール)」だけを合算し、「見えないコスト(人件費・データ転送・技術的負債・機会損失)」を無視しているからです。これらの隠れコストは、表面的なクラウドコストと同等かそれ以上のインパクトを持ちます。「クラウド費用を減らせ」という指示の下で最適化しても、人件費が倍増していては本末転倒です。
本記事では、データ基盤のTCO構成要素を網羅的に整理し、DWH別コスト比較・隠れコストの詳細・最適化テクニック・予算策定フレームワークまでを解説します。D-01(データガバナンス)やC-03(DWH選定)と併読することで、投資判断の精度が一段上がります。
データ基盤のTCOとは
TCO(Total Cost of Ownership、総保有コスト)とは、ある資産を取得・保有・廃棄するまでに発生するすべてのコストの合計です。データ基盤の場合、初期構築費用、月次のクラウド料金、運用人件費、教育費、技術的負債の返済コスト、廃棄・移行コストまでをすべて含みます。単月のクラウド請求額はTCOの一部に過ぎず、それだけを見て「うちの基盤は月100万円」と言っても、実態とは大きく乖離しているケースが多々あります。
TCOを正確に把握する目的は、(1)投資判断の精度向上、(2)コスト最適化の優先順位付け、(3)ツール選定時の比較、の三つです。C-01(Modern Data Stack)で解説するツール群は、それぞれコストモデルが異なるため、TCO視点での比較が不可欠です。
コスト構成要素の全体像
データ基盤のTCOは、「見える部分」と「見えない部分」に分かれます。氷山の一角が見えているだけで、水面下には見えないコストが大きく広がっている、というイメージです。見える部分は月次請求書で把握できるコスト、見えない部分は請求書に現れない人件費・機会損失・将来コストです。見えないコストを可視化しないと、最適化の優先順位を誤ります。
| カテゴリ | 項目 | 見落としやすさ | TCO概算比率 |
|---|---|---|---|
| 直接 | DWH(コンピュート) | 低 | 15〜30% |
| 直接 | ストレージ | 低 | 5〜10% |
| 直接 | ETL/ELTツール | 低 | 10〜20% |
| 直接 | BIツール | 中 | 5〜15% |
| 間接 | データ転送費(egress) | 高 | 3〜15% |
| 間接 | ネットワーク・VPC | 高 | 2〜8% |
| 人件費 | データエンジニア | 最高 | 20〜40% |
| 人件費 | 運用・オンコール | 高 | 5〜15% |
| 隠れ | 教育・採用コスト | 最高 | 5〜10% |
| 隠れ | 技術的負債返済 | 最高 | 算定困難 |
【TCO構成アイスバーグ】
水面上(見えるコスト:30〜50%)
~~~~~~~~~~~~~~~~~~~~~
|
| [DWH]
| [ストレージ]
| [ETLツール]
| [BIツール]
|
- - - - - - - + - - - - - - - 水面
|
| [データ転送費]
| [人件費(設計・運用)]
| [採用・教育コスト]
| [技術的負債]
| [機会損失]
|
水面下(見えないコスト:50〜70%)
※ 見えないコストの方が大きい場合が多い。
DWH別コスト比較
主要クラウドDWHは、それぞれコストモデルが異なります。Snowflakeはコンピュートとストレージの分離従量課金、BigQueryはスキャン量ベース(オンデマンド)またはスロット定額(Editions)、Redshiftはクラスターサイズの時間課金(Provisioned)またはRedshift Serverlessの従量課金です。ワークロード特性によって最適なモデルが変わるため、「どれが安い」という単純比較は成立しません。B-07(Snowflake入門)およびB-08(BigQuery入門)で各サービスの基礎を押さえた上で、TCO視点での比較を行ってください。
| 観点 | Snowflake | BigQuery | Redshift |
|---|---|---|---|
| コンピュート課金 | 秒単位(ウェアハウス) | スキャン量 or スロット定額 | 時間単位 or Serverless |
| ストレージ課金 | 圧縮後容量 | 圧縮後容量 | ノード内包 or RMS |
| アイドルコスト | オートサスペンドで0化 | 0(真のサーバーレス) | Provisionedは常時発生 |
| バースト対応 | マルチクラスター | 自動スケール | Serverlessなら自動 |
| 予測可能性 | 中 | 定額なら高 | 高 |
| 適するワークロード | 変動型、並行クエリ | 突発的な大規模分析 | 安定型、AWS中心構成 |
-- BigQueryのテーブル別コスト概算(過去30日)
SELECT
destination_table.table_id AS table_name,
SUM(total_bytes_billed) / POW(1024, 4) AS billed_tb,
ROUND(SUM(total_bytes_billed) / POW(1024, 4) * 5, 2) AS cost_usd
FROM `region-us`.INFORMATION_SCHEMA.JOBS
WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
GROUP BY table_name
ORDER BY cost_usd DESC;
隠れコストの詳細
TCOの隠れコストの中で最も大きいのが人件費です。データエンジニア1名の年間コスト(給与・社会保険・研修・PCなど)は1,000万〜1,500万円に達し、チームが3〜5名になるとクラウド費用を簡単に上回ります。人件費を「固定費だから計算から除外」としてしまうと、TCOの半分以上を見失うことになります。
次に見落とされがちなのが「データ転送費(egress)」です。クラウドベンダーは外部・他リージョンへのデータ送出に対して課金するため、ソース・DWH・BIツールがマルチクラウドに分散していると、egress費用が毎月数十万円単位で発生します。F-15(グローバルデータ基盤)で解説するリージョン設計の失敗は、しばしばegressコストの爆発という形で現れます。
「テスト環境のコスト」も忘れがちです。本番と同程度のDWHを開発・ステージング環境として常時稼働させていると、それだけで本番の1.5〜2倍のコストになることがあります。開発環境はスケールダウン、アイドル時はサスペンド、というルールを徹底する必要があります。最後に、「技術的負債の返済コスト」は定量化が難しいものの、TCO全体の10〜20%に相当するという試算もあります。古い設計を抱えたまま運用し続けることは、見えない金利を払い続けるのと同じです。
コスト最適化の実践テクニック
コスト最適化の王道は、「使っていないものを止める」「使っているものを効率化する」「価格モデルを選び直す」の3種類です。「止める」は、未使用テーブルの棚卸し、アイドルウェアハウスのサスペンド、非クリティカルな開発環境の夜間停止など、即効性のある施策です。「効率化する」は、パーティショニング・クラスタリングによるスキャン量削減、不要な結合の除去、中間テーブルの物理化など、クエリ性能の改善です。
「価格モデルを選び直す」は、安定ワークロードならリザーブドインスタンスやEditions定額への切替、変動ワークロードなら従量課金の維持、といった見直しです。BigQueryであれば月次のスキャン量傾向を分析し、一定の閾値を超えた時点でスロットEditionsに切り替えると劇的にコストが下がります。ただし、コスト最適化は「やり過ぎる」と性能劣化や運用負担の増大を招くため、SLA(D-10)とのバランスを常に意識してください。
予算策定のフレームワーク
データ基盤の予算策定は、「ボトムアップ積み上げ」と「トップダウン目標」の両方から行うのが健全です。ボトムアップでは、前述のTCO項目を全部積み上げて、現実的な必要予算を算出します。トップダウンでは、事業規模に対するデータ基盤コスト比率の業界ベンチマーク(売上の0.5〜2%程度)を基に、目標値を設定します。両者に乖離があれば、その差がコスト最適化または追加投資の議論の出発点となります。
D-02(ガバナンス体制)で触れるデータ基盤チームの体制設計とあわせて、予算配分の透明化を進めると、事業部門との建設的な対話が可能になります。「なぜこのコストが必要か」を事業価値に結びつけて説明できることが、継続的な投資確保の鍵です。
まとめ
データ基盤のTCO算出は、見えるコストと見えないコストの両方を対象とする必要があります。人件費・データ転送・技術的負債といった隠れコストこそがTCOの過半を占めることを認識し、月次のクラウド請求書だけに囚われない視点で最適化を進めましょう。予算策定ではボトムアップとトップダウンの両面からアプローチし、透明性を高めることが継続的な投資獲得につながります。
よくある質問
Q. データ基盤のTCOで最も見落とされるコストは?
人件費(エンジニアの採用・教育)、データ転送費(クラウド間のegress費用)、技術的負債の返済コストの3つが見落とされがちです。いずれも月次請求書には明示的に現れないため、TCO計算時に意識的に積み上げる必要があります。特に人件費はTCOの20〜40%を占めることが多いです。
Q. SnowflakeとBigQueryのコストはどう違いますか?
Snowflakeはコンピュートとストレージ分離の従量課金、BigQueryはスキャン量課金(オンデマンド)またはスロット課金(定額)です。ワークロード特性で最適解が変わるため、「どちらが安い」と一概には言えません。並行クエリが多ければSnowflake、突発的な大規模分析が多ければBigQuery、予算の予測可能性を重視するなら定額プランが向きます。
Q. データ基盤のコストを下げるには?
パーティショニング・クラスタリングによるスキャン量削減、未使用テーブルの棚卸し、オートサスペンド設定、リザーブドインスタンスの活用が効果的です。まずは「止められるものを止める」ところから始めると、短期間で目に見える効果が出ます。次に「効率化」、最後に「価格モデル見直し」と段階的に進めましょう。