Databricks でよく使われるコンピューティングの種類(Serverless Job Compute、Jobs Cluster、All-purpose Cluster)には、それぞれ得意な用途とコスト構造があり、使い分けを意識するとパフォーマンスとコスト効率が上がります。
1. Serverless Job Compute
特徴
- サーバーレス型:Databricks がコンピュート環境を完全に管理
- ジョブ開始時に自動でリソースを確保、終了後に自動解放
- 高速な起動(数秒〜数十秒)
- ワークロードに応じて自動スケーリング
- インフラ管理不要(ランタイム、ドライバ/ワーカー構成も自動)
向いているケース
- 短時間で終わるバッチ処理や ETL
- スケジュール実行の ETL パイプライン(Delta Live Tables 含む)
- インフラ構築やクラスター設定を省きたい場合
メリット
- 起動時間が短い
- インフラ管理不要
- 無駄な稼働時間を自動的に削減
注意点
- 対応リージョンやランタイムに制限あり
- 常時稼働させる用途にはコスト的に不向き
2. Jobs Cluster(クラスター・ジョブ専用)
特徴
- ジョブ実行専用の一時クラスター
- ジョブ開始時にクラスターを作成し、ジョブ終了後に自動終了
- コンフィグ(ノード数、ランタイムなど)は手動設定
向いているケース
- 定期実行のバッチ(Airflow, Databricks Jobs スケジューラから実行)
- 実行ごとにクリーンな環境が必要な場合
- Serverless Job Compute が使えないワークロード
メリット
- ジョブ終了後に自動解放
- 環境の再利用による依存関係トラブルを回避
- Serverless よりも設定自由度が高い
注意点
- 起動に 2〜5 分程度かかる
- 設定や管理はユーザーが行う必要あり
3. All-purpose Cluster(汎用クラスター)
特徴
- Notebook、インタラクティブなデータ分析や探索に使う常駐クラスター
- 手動で起動・停止
- 複数ユーザーで共有可能
- 自動スケール設定も可能だが、停止忘れによるコスト増リスクあり
向いているケース
- データ探索、開発、ML モデルの試作
- アドホック分析やクエリ実行
- 複数人で同じクラスターを使って共同作業
メリット
- インタラクティブ操作に向く
- 開発・検証を素早く行える
- ライブラリや依存関係を保持できる
注意点
- 停止し忘れるとコストが増大
- 本番パイプラインには不向き(他のユーザー操作が影響する可能性あり)
使い分けまとめ表
種類 | 用途 | 起動時間 | 管理負担 | コスト効率 | 代表的な利用例 |
---|---|---|---|---|---|
Serverless Job Compute | スケジュールETL、短時間ジョブ | 数秒〜数十秒 | 最小 | 高(短時間実行に最適) | Delta Live Tables、短期ETL |
Jobs Cluster | 定期バッチ、クリーン実行 | 2〜5分 | 中 | 高(長時間でも可) | バッチETL、MLトレーニング |
All-purpose Cluster | 開発・分析 | 即時〜(常時稼働) | 高 | 低(長時間放置NG) | Notebook開発、データ探索 |