Databricks Certified Data Engineer Associate 教科書
第1章 Databricks Intelligence Platform(6%)
🎯 この節の学習目標
Databricks の土台にあるのはレイクハウス(Lakehouse)という設計思想です。従来、企業のデータ基盤は次の2つに分かれており、それぞれに強みと弱みがありました。
| データレイク | データウェアハウス(DWH) | |
|---|---|---|
| 得意なこと | あらゆる形式(構造化・半構造化・非構造化)のデータを低コストで大量に貯められる。機械学習との相性が良い | トランザクションの信頼性、高速なSQL分析、スキーマ管理、BIとの相性が良い |
| 弱点 | 信頼性が低い(不整合・破損データが混ざりやすく「データスワンプ」化しがち) | コストが高い。非構造化データや機械学習ワークロードに不向き |
レイクハウスは、クラウドオブジェクトストレージ上のデータレイクの柔軟性・低コストを保ったまま、その上に Delta Lake というストレージ層を重ねることで、DWH が持っていた信頼性(ACIDトランザクション・スキーマ管理)を実現します。1つのプラットフォームで BI・SQL 分析から ETL、機械学習・AI までを扱えるため、「データレイクと DWH を別々に運用して同じデータを二重管理する」必要がなくなります。Databricks はこのレイクハウスに AI によるインテリジェンス層を加えたものを Data Intelligence Platform と呼んでいます。
Databricks のアーキテクチャを理解するうえで最初に押さえるべきなのが、コントロールプレーン(control plane)とコンピュートプレーン(compute plane)という2層の分離です。
| レイヤー | どこで動くか | 含まれるもの |
|---|---|---|
| コントロールプレーン | Databricks が管理するクラウドアカウント内 | Web UI(ワークスペース)、ノートブックの管理、ジョブのスケジューリング・管理、クラスタ管理、REST API の受け口 |
| コンピュートプレーン | クラシック:顧客のクラウドアカウント内 サーバーレス:Databricks アカウント内 | クラスタ(仮想マシン群)、SQL ウェアハウス。実際のデータ処理はここで行われる |
ポイントは、データそのものと、それを処理する計算資源は基本的に顧客側(またはサーバーレス環境)にあり、Databricks が管理するのはあくまで「管理・調整の仕組み」だという点です。ノートブックのコードや設定情報はコントロールプレーンに保存されますが、テーブルデータの実体は顧客のクラウドストレージ(S3 / ADLS / GCS など)に置かれます。
📝 試験のポイント
「クラスタ(コンピュート)はどこで動作するか」「ノートブックやジョブの管理はどこが担うか」という対応付けが試験で問われやすい論点です。UI・ジョブ管理・ノートブック管理=コントロールプレーン(Databricks管理)、クラスタでのデータ処理=コンピュートプレーン(顧客クラウドまたはサーバーレス)と整理しておきましょう。サーバーレスコンピュートの場合は計算資源も Databricks アカウント側で動きますが、その場合でもデータの実体は顧客のストレージに残る点は変わりません。
Data Intelligence Platform は複数のコンポーネントの組み合わせでできています。データエンジニアとしてまず押さえるべきは次の4つです。
| コンポーネント | レイヤー | 役割 |
|---|---|---|
| Delta Lake | ストレージ層 | データレイク上のテーブルに ACID トランザクション・タイムトラベル・スキーマ強制を提供するオープンなストレージフォーマット(詳細は 1-2) |
| Unity Catalog | ガバナンス層 | テーブル・ビュー・ファイルなどへのアクセス制御、監査、リネージ(系譜)、検出を一元管理する |
| コンピュート | 計算層 | All-purpose クラスタ・Job クラスタ・SQL ウェアハウス・サーバーレスなど、ワークロードに応じた計算資源(詳細は 1-3) |
| Lakeflow | データエンジニアリング層 | 取り込み(Lakeflow Connect)・変換(Lakeflow Spark Declarative Pipelines、旧 Delta Live Tables)・オーケストレーション(Lakeflow Jobs、旧 Workflows/Jobs)を担う統合サービス群 |
Lakeflow は 2026 年時点の名称で、旧名称(Delta Live Tables、Workflows/Jobs)で覚えている資料も多く残っています。試験対策としては「Lakeflow Spark Declarative Pipelines = 旧 Delta Live Tables」「Lakeflow Jobs = 旧 Workflows/Jobs」という対応関係を押さえておくと、どちらの名称で出題されても対応できます。
Unity Catalog(UC)は、プラットフォーム全体のガバナンス(誰が・何に・どうアクセスできるか)を一元管理する層です。UC ではすべてのオブジェクトを3レベルの名前空間で識別します。
-- catalog.schema.object の3階層で完全修飾する
SELECT * FROM main.sales.orders;
-- main = カタログ(最上位の入れ物)
-- sales = スキーマ(データベースとも呼ばれる)
-- orders = オブジェクト(ここではテーブル)
階層の全体像は次のとおりです。
| 階層 | 名前 | 説明 |
|---|---|---|
| 0 | メタストア(metastore) | UC の最上位コンテナ。リージョンごとに1つ作成し、複数のワークスペースにアタッチして共有できる(名前空間には含まれない) |
| 1 | カタログ(catalog) | スキーマの入れ物。環境(dev/prod)や事業部門ごとに分けることが多い |
| 2 | スキーマ(schema) | テーブルなどの入れ物。従来の「データベース」に相当する |
| 3 | オブジェクト | テーブル、ビュー、Volume(非表形式ファイルの置き場)、関数(UDF)、モデルなど |
UC が管理するのはテーブルだけではありません。ビュー・Volume・関数・機械学習モデルまで同じ権限モデルと監査の仕組みで扱えることが、「ガバナンスの一元化」と呼ばれる理由です。CSV や画像などの生ファイルも Volume として UC の管理下に置けます。
💡 具体例:3レベル名前空間の操作
-- カタログとスキーマを作成する
CREATE CATALOG IF NOT EXISTS dev;
CREATE SCHEMA IF NOT EXISTS dev.bronze;
-- 既定のカタログ・スキーマを設定すると、以降は短い名前で書ける
USE CATALOG dev;
USE SCHEMA bronze;
CREATE TABLE raw_orders (order_id BIGINT, amount DOUBLE);
-- 完全修飾名ならどこからでも同じテーブルを一意に参照できる
SELECT count(*) FROM dev.bronze.raw_orders;
チームで共有するノートブックやジョブでは、環境の違いによる取り違えを防ぐために完全修飾名(catalog.schema.table)で書く習慣をつけると安全です。
ここまでのコンポーネントを、データが流れる順に1枚の図にまとめます。データエンジニアの仕事は、この流れ全体を設計・実装・運用することです。
図:Data Intelligence Platform のデータフロー。Unity Catalog は特定の段階ではなく、流れ全体を横断して統制する
ブロンズ→シルバー→ゴールドと段階的にデータ品質を高めていく設計はメダリオンアーキテクチャと呼ばれ、第3章で詳しく学びます。ここでは「取り込み → Delta Lake 上で段階的に精製 → BI/AI で消費、全体を Unity Catalog が統制」という大きな絵を掴んでおけば十分です。
✅ この節のまとめ
問1. レイクハウスアーキテクチャの説明として最も適切なものはどれか。
正解:B
レイクハウスは「レイクの柔軟性+DWH の信頼性」を Delta Lake などのオープンなストレージ層で両立させる考え方です。Aは信頼性の仕組みがなく「データスワンプ」化する従来のデータレイク運用そのものです。Cは二重管理のコストと不整合が残る、レイクハウスが解決しようとした構成です。Dは非構造化データや機械学習ワークロードに対応できません。
問2. Databricks のクラシック(サーバーレスでない)構成において、コントロールプレーンとコンピュートプレーンの説明として正しいものはどれか。
正解:C
クラシック構成では、管理機能(UI・ジョブ管理・ノートブック管理)は Databricks 管理のコントロールプレーン、実際のデータ処理を行うクラスタは顧客クラウド内のコンピュートプレーンで動きます。AとBは両プレーンの説明が逆です。Dはコントロールプレーンが Databricks 管理である点と矛盾します。なお、サーバーレスコンピュートでは計算資源が Databricks アカウント側で動きますが、その場合もデータの実体は顧客ストレージに置かれます。
問3. Data Intelligence Platform のコンポーネントと役割の組み合わせとして誤っているものはどれか。
正解:D
Lakeflow Spark Declarative Pipelines(旧 Delta Live Tables)は、宣言的にデータ変換パイプラインを構築するサービスであり、可視化ツールではありません。BI・可視化は Databricks SQL のダッシュボードや外部 BI ツールの領域です。A・B・Cはいずれも正しい対応付けで、この「コンポーネント名 → 役割」のマッチングは試験で問われやすい形式です。
問4. Unity Catalog の名前空間に関する説明として正しいものはどれか。
正解:B
UC は catalog.schema.object の3レベル名前空間を採用し、最上位コンテナであるメタストアはリージョンごとに1つ作成して複数ワークスペースにアタッチできます。Aは UC 以前のワークスペースローカルな Hive メタストアの世界観です。Cはメタストアの共有可能性と矛盾します。Dは誤りで、UC はテーブルのほかビュー・Volume(非表形式ファイル)・関数・モデルも管理対象にします。