TL

Cloud Service

Azure Databricks

Apache Spark を基盤に ETL から機械学習・BI までを統合する Azure のレイクハウス分析基盤。AWS の EMR や Glue に相当する役割を1つにまとめたフルマネージドサービス。

中級パフォーマンス効率
最終更新: 2026-06-14公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.Spark ベースで ETL・分析・機械学習を1つの基盤に統合するレイクハウス。
  • 2.Delta Lake と Unity Catalog でデータの信頼性とガバナンスを確保する。
  • 3.コンピューティングはクラスター/ジョブ単位で課金され、DBU で計量される。

解決する課題

大量の構造化・半構造化・非構造化データに対し、データエンジニアリング、SQL 分析、機械学習を別々の基盤で運用すると、データの重複やパイプラインの分断、ガバナンスの煩雑さが生じます。Azure Databricks は Apache Spark を中核に据え、これらを単一の「レイクハウス」基盤へ統合します。

  • 大規模データの ETL / ELT バッチ処理 とストリーミング処理を1つの基盤で実行したい
  • データレイク上のファイルに ACID トランザクションと信頼性(Delta Lake)を持たせたい
  • データエンジニア・アナリスト・データサイエンティストが 同じデータを共同利用 したい
  • 機械学習の 実験管理から本番デプロイ(MLflow)までを一貫して扱いたい
  • クラスターの構築・パッチ・スケーリングといった Spark 運用の手間をなくしたい

AWS では EMR や Glue でスパーク基盤や ETL を組み立てますが、Azure Databricks はそれらの役割に加えてノートブック協働、SQL ウェアハウス、MLflow までを束ねた上位レイヤーに近い位置づけです。

主要概念と用語

  • ワークスペース(Workspace): ノートブック、ジョブ、クラスター、データなどをまとめる作業環境の単位
  • クラスター(Cluster): Spark を実行する仮想マシン群。汎用クラスターとジョブ専用クラスターがある
  • ジョブ(Job): ノートブックやスクリプトをスケジュール実行・オーケストレーションする仕組み
  • ノートブック(Notebook): Python・SQL・Scala・R を混在実行できる協働用のコード環境
  • DBU(Databricks Unit): 処理能力の計量単位。コンピューティングのコストは DBU 消費量で測られる
  • Delta Lake: データレイク上のファイルに ACID トランザクション・スキーマ管理・タイムトラベルを与えるストレージレイヤー
  • レイクハウス(Lakehouse): データレイクの柔軟性とデータウェアハウスの信頼性を統合するアーキテクチャ概念
  • Unity Catalog: 複数ワークスペース横断で権限・系統(リネージ)・カタログを一元管理するガバナンス層
  • SQL ウェアハウス(SQL Warehouse): BI / SQL クエリ向けに最適化された計算エンドポイント
  • MLflow: 実験追跡・モデル登録・デプロイを担う機械学習ライフサイクル管理ツール
  • メダリオンアーキテクチャ: データをブロンズ(生)・シルバー(整形)・ゴールド(集計)の層で段階的に洗練する設計

仕様・制限・クォータ

  • コンピューティングは VM のコストと DBU の両方 で課金される。SKU(Standard / Premium など)やワークロード種別で DBU 単価が変わる
  • クラスターは オートスケールアイドル時の自動終了 を設定でき、放置コストを抑えられる
  • ジョブクラスターは実行時に起動して終了時に破棄 されるため、常時稼働の汎用クラスターより安価になりやすい
  • 作成できるクラスター数や同時実行ジョブ数、ノード数にはサブスクリプションや VM クォータに基づく上限がある
  • 利用できる VM サイズやリージョン、機能(Unity Catalog、サーバーレスなど)は提供状況により異なるため、断定せず公式情報で確認する
  • Delta Lake はオープンフォーマット(Parquet +トランザクションログ)であり、特定ベンダーにロックインされにくい
ジョブクラスターを既定に

定期バッチや本番パイプラインでは、常時起動の汎用クラスターではなく ジョブクラスター を使うのが原則です。実行のたびに起動・破棄されるためコストが読みやすく、ジョブ間の干渉も避けられます。

内部の仕組み

Azure Databricks はコントロールプレーンとコンピューティングプレーンに分かれます。ノートブックやジョブ定義、Web UI などの管理機能は Databricks 側のコントロールプレーンにあり、実際の Spark 処理を行うクラスターの VM は利用者の Azure サブスクリプション側で起動します。データそのものは ADLS Gen2 や Blob Storage などのストレージに置かれ、計算と分離されています。

  • Spark のドライバーノードがジョブを タスクへ分割 し、ワーカーノードのエグゼキューターに分散実行させる
  • 中間結果はメモリを優先しつつディスクへ退避し、シャッフルでノード間を再分配する
  • Delta Lake はデータファイルに加えてトランザクションログを保持し、ACID・スキーマ強制・タイムトラベルを実現する
  • Photon などのネイティブ実行エンジンにより、SQL や DataFrame 処理のスループットを高められる
  • ストレージと計算が分離されているため、計算をゼロにスケールしてもデータは残る

メダリオンアーキテクチャでは、取り込んだ生データをブロンズ層に置き、クレンジング・結合したものをシルバー層へ、分析や BI 向けに集計したものをゴールド層へと、Delta テーブルを段階的に洗練していきます。

設計パターン / ベストプラクティス

  • 取り込み・整形・集計を メダリオンアーキテクチャ(ブロンズ/シルバー/ゴールド)で層別化し、再処理しやすくする
  • 信頼性が要るテーブルは Delta Lake を既定とし、生 Parquet や CSV の直接更新を避ける
  • 宣言的なパイプラインが必要なら Delta Live Tables で依存関係・品質期待値・再試行を自動化する
  • BI / アドホック SQL は専用の SQL ウェアハウス に分離し、ETL クラスターと負荷を分ける
  • ガバナンスは早期に Unity Catalog で統一し、ワークスペースごとの権限分散を避ける
  • 機械学習は MLflow で実験・モデル・デプロイを一元管理し、再現性を確保する

運用・監視

  • ジョブの実行履歴・所要時間・失敗を Databricks の ジョブ UI で確認し、リトライや通知を設定する
  • Spark の処理ボトルネックは Spark UI(ステージ・タスク・シャッフル・スピル)で分析する
  • クラスターやワークスペースのログ・メトリクスを Azure Monitor / Log Analytics へ送り、横断的に可視化する
  • 監査ログや診断設定で操作履歴を保存し、誰がどのデータにアクセスしたかを追跡できるようにする
  • 失敗の典型はメモリ不足・データ偏り(スキュー)・小ファイル過多であり、パーティション設計や最適化処理で対処する
小ファイル問題に注意

ストリーミングや頻繁な追記により小さなファイルが大量に生成されると、読み取り性能が大きく劣化します。Delta テーブルの最適化(コンパクション)やパーティション設計で、ファイルサイズを適正化しておきましょう。

コスト

コストは大きく分けて、ワーカー/ドライバーの VM 利用料 と、それに連動する DBU 消費 の合計です。SKU やワークロード種別、リージョンによって DBU 単価が変わるため、具体的な金額は断定せず構造で捉えるのが要点です。

  • オートスケール自動終了 を必ず設定し、アイドル状態の課金を防ぐ
  • 本番バッチは ジョブクラスター にして常時稼働コストを排除する
  • スポット/低優先度 VM を許容できるワークロードで採用し、VM 単価を下げる
  • 計算とストレージが分離されているため、計算を止めてもデータ保管コストだけにできる
削減策効果向いている場面
自動終了アイドル時間の課金をなくす対話的な開発・検証クラスター
オートスケール負荷に応じてノード数を調整負荷が変動するワークロード
ジョブクラスター実行時のみ起動し破棄する定期バッチ・本番パイプライン
スポット系VMVM単価を下げる中断を許容できる処理

セキュリティ

  • 認証は Microsoft Entra ID と統合し、ワークスペースやデータへのアクセスを一元管理する
  • データアクセス権限は Unity Catalog でカタログ・スキーマ・テーブル単位に細かく制御する
  • ストレージへのアクセスは マネージド ID を用い、資格情報のハードコードを避ける
  • VNet インジェクション やプライベートリンクでネットワークを閉域化し、公開アクセスを制限する
  • 保存データと転送データは暗号化され、Premium 系では カスタマーマネージドキー にも対応する
アンチパターン

ストレージアカウントのキーやアクセストークンをノートブックに直書きするのは厳禁です。マネージド ID と Unity Catalog の権限 を使えば、資格情報の管理・ローテーション・漏洩リスクを排除できます。

Well-Architected の観点

性能効率(Performance Efficiency)の観点では、Azure Databricks は計算リソースをワークロードに合わせて伸縮できる点が中心になります。

  • オートスケールと適切な VM サイズ選択で、負荷に対して過不足のない計算量を割り当てる
  • Photon や Delta の最適化(データスキッピング、コンパクション)でクエリスループットを高める
  • ETL と BI を別クラスター/ウェアハウスに分離し、相互の性能干渉を避ける
  • ジョブクラスターと自動終了により、性能とコストのバランスを保つ

試験で問われるポイント

頻出
  • Azure Databricks は Apache Spark ベース の統合分析・機械学習基盤であり、ETL・SQL 分析・ML を1つで扱える点を押さえる
  • Delta Lake がデータレイクに ACID・スキーマ強制・タイムトラベルを与えるストレージレイヤーであること
  • Unity Catalog が複数ワークスペース横断のガバナンス(権限・系統・カタログ)を担うこと
  • コンピューティングは DBU で計量され、VM 料金と合算で課金されること
  • 本番バッチには常時稼働の汎用クラスターではなく ジョブクラスター が適すること
  • 大規模データ変換は Databricks、ノーコード寄りのデータ統合は Azure Data Factory という棲み分け

関連サービス・比較

データ加工・分析の選択肢として Azure Synapse Analytics や Azure Data Factory と比較されます。AWS では EMR や Glue が近い役割を担います。

観点Azure DatabricksAzure Synapse Analytics
中核エンジンApache Spark 中心SQL とSpark の両プール
主な強みSpark処理・機械学習・協働ノートブックデータウェアハウス・統合分析
機械学習MLflow で一貫管理外部サービスと連携が中心
データ信頼性Delta Lake が標準専用SQLプール/Delta対応
AWSの相当EMR や Glue の統合上位に近いRedshift と関連分析群に近い
Data Factory との使い分け

ノーコード/ローコードでデータ移動やオーケストレーションを組むなら Azure Data Factory、大規模なコードベースのデータ変換や機械学習なら Azure Databricks。両者を組み合わせ、Data Factory から Databricks ノートブックを呼び出す構成も一般的です。

ハンズオン / CLI例

# リソースグループを作成
az group create --name demo-rg --location japaneast

# Azure Databricks ワークスペースを作成(Premium SKU)
az databricks workspace create \
  --resource-group demo-rg \
  --name demo-adb-ws \
  --location japaneast \
  --sku premium

# 作成したワークスペースの情報を確認(URL などを取得)
az databricks workspace show \
  --resource-group demo-rg \
  --name demo-adb-ws \
  --query "{name:name, url:workspaceUrl, sku:sku.name}" \
  --output table

# 不要になったら削除してコストを止める
az databricks workspace delete \
  --resource-group demo-rg \
  --name demo-adb-ws \
  --yes

Azure Service

Azure Databricksを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

分析

比較で見る軸

クラウド: Azure / カテゴリ: 分析 / 難易度: intermediate

導入後に効く点

Delta Lake と Unity Catalog でデータの信頼性とガバナンスを確保する。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
Azure
カテゴリ
分析
難易度
intermediate
関連資格
設計柱
performance

判断チェックリスト

  • 自社の用途が「分析 / performance」に近いか確認する。
  • 強みである「Spark ベースで ETL・分析・機械学習を1つの基盤に統合するレイクハウス。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

分析performance