Databricks

Databricks SQL完全解説|サーバーレスSQLウェアハウス

2026-03-21
更新: 2026-03-27
NicheeLab編集部

Databricks SQLは、BIアナリストやSQLユーザー向けに設計された SQL分析環境です。SQLウェアハウス(専用コンピュート)・SQLエディタ・ダッシュボード・ アラート機能を統合的に提供し、Lakehouse上で従来のデータウェアハウス製品 (Snowflake・BigQuery・Redshift等)に匹敵するSQL分析体験を実現します。 この記事ではSQLウェアハウスの種類からPhotonエンジン、ダッシュボード、 クエリフェデレーション、Query Profile、Unity Catalog統合、 試験出題ポイントまで網羅的に解説します。

Databricks SQLの概要

Databricks SQLは、Databricks Lakehouse Platform上でSQL分析を行うための統合環境です。データエンジニアがノートブックでETL処理を行う環境とは別に、SQLに特化した以下のコンポーネントで構成されています。

  • SQLウェアハウス:SQLクエリを実行するための専用コンピュートリソース(Classic / Pro / Serverless)
  • SQLエディタ:クエリの作成・実行・保存・共有を行うWebベースのエディタ。オートコンプリートとスキーマブラウザ搭載
  • ダッシュボード:クエリ結果を可視化してインタラクティブなレポートを作成・共有
  • アラート:クエリ結果が条件を満たした場合にメール・Slack・Webhookで自動通知
  • クエリ履歴:過去に実行されたクエリのパフォーマンス・実行時間・スキャン量を参照

SQL Warehouse 3タイプ比較

Databricks SQLでは3種類のSQLウェアハウスが提供されています。ワークロードの特性・起動速度・コスト・機能要件に応じて適切なタイプを選択します。

特性ClassicProServerless
起動時間5〜10分5〜10分数秒
Photonエンジン有効有効有効
クエリフェデレーション非対応対応対応
Predictive Optimization非対応対応対応
インフラ管理ユーザー管理ユーザー管理Databricks管理
オートスケーリング手動設定手動設定完全自動
DBU単価
推奨用途基本的なSQLクエリ高度な分析・フェデレーションアドホッククエリ・ダッシュボード

2026年現在、DatabricksはServerless SQL Warehouseを推奨しています。起動が数秒と高速なためアドホッククエリの待ち時間が大幅に削減され、アイドル時は課金されないため断続的な利用パターンではコスト効率も優れます。

Photonエンジン

PhotonはDatabricksがC++で開発した次世代のベクトル化クエリ実行エンジンです。すべてのSQLウェアハウスでデフォルト有効であり、ユーザーのSQL/コード変更なしでクエリが透過的に高速化されます。

  • ベクトル化実行:行単位ではなくバッチ単位(カラムナ形式)でデータを処理し、CPU SIMD命令を最大活用
  • C++ネイティブ実装:JVMのGCオーバーヘッドを回避し、メモリレイアウトを最適化
  • Delta Lake最適化:Parquetファイルのデコード・フィルタリング・集計を特別に最適化
  • Sparkとの完全互換:既存のSpark SQLクエリがそのまま動作し、結果に差異なし

ベンチマークでは従来のSparkエンジンと比較して2〜8倍の高速化が報告されており、特にスキャン・フィルタ・集計・ジョインの大量データ処理で効果が顕著です。

ダッシュボード作成・共有

Databricks SQLダッシュボードは、SQLクエリの結果をビジュアライゼーション(グラフ・表)として配置し、インタラクティブなレポートを作成する機能です。2026年改定でAIアシスタントによるダッシュボード自動生成機能も追加されました。

  • ビジュアライゼーション:棒グラフ・折れ線グラフ・円グラフ・散布図・ヒートマップ・カウンター・テーブルなど多種類に対応
  • フィルタウィジェット:ドロップダウン・日付範囲・テキスト入力のフィルタで閲覧者がデータを動的に絞り込み可能
  • クエリパラメータ:{{param_name}}のプレースホルダでSQLクエリに動的な値をバインド。SQLインジェクションを防ぐ安全なパラメータ化を実現
  • 自動更新スケジュール:1分〜24時間の間隔でクエリを自動再実行し、ダッシュボードを最新データで更新
  • 共有:URLリンクの共有・iframeでの埋め込み・PDFエクスポートに対応。閲覧権限はUnity Catalogと連動しデータアクセスも制御

アラート設定

SQLアラートは、指定したSQLクエリを定期実行し、結果が条件(しきい値)を満たした場合に自動通知する機能です。データ品質の監視・ビジネスKPIの閾値アラート・異常検知に活用されます。

-- アラート用クエリの例: 過去1時間のAPIエラー率が5%を超えたら通知
SELECT
  COUNT(CASE WHEN status_code >= 500 THEN 1 END) * 100.0
    / NULLIF(COUNT(*), 0) AS error_rate_pct
FROM prod_catalog.logs.api_requests
WHERE request_timestamp > current_timestamp() - INTERVAL 1 HOUR

-- アラート条件: error_rate_pct > 5
-- 通知先: Slackチャンネル #data-alerts
-- 評価間隔: 15分ごと

アラートの評価結果は3状態(TRIGGERED / OK / UNKNOWN)で管理され、TRIGGEREDからOKに回復した場合にも通知を送信する設定が可能です。

クエリフェデレーション(Lakehouse Federation)

クエリフェデレーション(Lakehouse Federation)は、外部データベース(PostgreSQL・MySQL・SQL Server・Snowflake・BigQuery等)のデータをDatabricks SQLから直接クエリできる機能です。データの移動やETLパイプラインを構築せずに、異種データソースを横断したクエリが可能になります。

-- 1. 外部データベースへの接続を作成
CREATE CONNECTION pg_production
TYPE POSTGRESQL
OPTIONS (
  host 'prod-db.example.com',
  port '5432',
  user secret('db_scope', 'pg_user'),
  password secret('db_scope', 'pg_password')
);

-- 2. 外部カタログの登録
CREATE FOREIGN CATALOG pg_catalog
USING CONNECTION pg_production
OPTIONS (database 'production');

-- 3. 外部テーブルとDelta Lakeテーブルの横断クエリ
SELECT c.customer_name, o.order_total, o.order_date
FROM prod_catalog.sales.customers c
JOIN pg_catalog.public.orders o
  ON c.customer_id = o.customer_id
WHERE o.order_date >= '2026-01-01'
ORDER BY o.order_total DESC;

フェデレーションはPro SQL WarehouseまたはServerless SQL Warehouseで利用可能です。外部テーブルの接続情報はUnity Catalogで一元管理され、アクセス権限もGRANT文で制御できます。

Query Profile

Query Profileは、SQLクエリの実行計画と各オペレータの処理時間・スキャン行数・シャッフル量を視覚的に表示する機能です。クエリのボトルネックを特定し、パフォーマンスチューニングに活用します。

  • オペレータツリー:Scan → Filter → Aggregate → Sortなどの実行計画をツリー形式で表示
  • 処理時間の比率:各オペレータの処理時間を色分けで表示し、最もコストの高い操作を特定
  • スキャン統計:読み込んだファイル数・行数・バイト数を表示。述語プッシュダウンの効果を確認可能
  • スピル情報:メモリ不足によるディスクスピルの発生箇所を特定

DAA試験ではQuery Profileの読み方が出題範囲に含まれており、「どのオペレータがボトルネックか」「述語プッシュダウンが適用されているか」を判断する問題が出題されます。

Unity Catalog統合

Databricks SQLはUnity Catalogと完全に統合されており、SQLウェアハウスからアクセスするすべてのデータはUnity Catalogの3レベル名前空間(catalog.schema.table)で管理されます。

  • アクセス制御:GRANT / REVOKE文でテーブル・ビュー・関数レベルの権限管理が可能。ダッシュボード閲覧者には裏側のSQLクエリが参照するテーブルへのSELECT権限が必要
  • データリネージ:SQLクエリの実行を通じてテーブル間のデータの流れが自動追跡される。ダッシュボードのデータソースの依存関係も可視化可能
  • 列マスキング・行フィルタ:Unity Catalogの列マスキング関数と行フィルタポリシーにより、同じテーブルに対してユーザーごとに異なるデータを表示可能
  • 監査ログ:SQLウェアハウスで実行されたクエリの監査ログがSystem Tablesに記録され、コンプライアンス要件への対応が可能

試験出題ポイント(DEA / DAA)

Databricks SQLは複数の試験で出題されます。試験ごとに問われる深さが異なるため、受験する試験に応じたポイントを押さえましょう。

Data Engineer Associate(DEA)の出題ポイント

  • SQLウェアハウスの3タイプ(Classic / Pro / Serverless)の違いと選定基準
  • Photonエンジンの基本的な特徴(C++実装・ベクトル化・自動適用)
  • ダッシュボードとアラートの基本的な用途と設定手順
  • Unity Catalogとの連携(3レベル名前空間でのテーブル参照)

Data Analyst Associate(DAA)の出題ポイント

  • SQLエディタでのクエリ作成・パラメータ化クエリの構文
  • ダッシュボードの作成手順(ビジュアライゼーション追加・フィルタ設定・共有)
  • Query Profileの読み方(ボトルネック特定・スキャン統計の解釈)
  • アラートの条件設定と通知先の構成
  • クエリフェデレーションの概念(CONNECTION / FOREIGN CATALOG)

サンプル問題

DEA - SQL Warehouse

問題 1

データアナリストチームがアドホッククエリを頻繁に実行する環境で、クエリ実行までの待ち時間を最小化しつつ、使用していない時間のコストも削減したい場合、最も適切なSQL Warehouseタイプはどれですか?

  1. Classic SQL Warehouse(2X-Large)をAuto-stop無効で常時起動する
  2. Pro SQL Warehouseを最小サイズで起動し、Auto-stop 5分に設定する
  3. Serverless SQL Warehouseを使用し、アイドル時は自動停止させる
  4. All-Purpose ClusterでSQLクエリを実行する

正解: C

Serverless SQL Warehouseは起動が数秒と高速なため、アドホッククエリの待ち時間が最小化されます。アイドル時はDatabricksが自動管理する共有リソースプールにウェアハウスが戻るため、使用していない時間の課金は発生しません。Classic/Proは起動に5〜10分かかるため、Auto-stopを設定すると再起動時の待ち時間が長くなるジレンマがあります。常時起動(A)はコストが増大し、All-Purposeクラスタ(D)はSQLウェアハウスと比べてSQL分析に最適化されていません。DEA試験ではSQL Warehouseタイプの選定基準を問う問題が出題されます。

Databricks SQL ベストプラクティス

  • ウェアハウスサイズの選定:小規模なアドホッククエリには2X-Small〜Small、本番ダッシュボード(同時ユーザー多数)にはMedium以上を選択
  • Auto-stopの活用:アイドル時間経過後の自動停止でコストを削減。Serverlessは自動管理のためAuto-stop設定不要
  • クエリキャッシュの活用:同一クエリの再実行時にキャッシュ結果が返されるため、ダッシュボードの複数ユーザーによる同時閲覧時に効果的
  • パラメータ化クエリの使用:ダッシュボードフィルタには{{param}}のクエリパラメータを使用してSQLインジェクションを防止し安全に値をバインド
  • Delta Lake + Liquid Clusteringの併用:頻繁にフィルタされるカラムにLiquid Clusteringを設定すると、SQLウェアハウスのスキャン量が大幅に削減されクエリ高速化とコスト削減を両立

よくある質問(FAQ)

Databricks SQLとSpark SQLはどう違うのですか?

Spark SQLはApache Sparkの分散SQL処理エンジンで、ノートブックやジョブからSQLを実行する機能です。Databricks SQLはSQLに特化した完全な分析環境で、SQLウェアハウス(専用コンピュート)・SQLエディタ・ダッシュボード・アラート機能を含みます。BIアナリストやSQLユーザー向けに設計されており、Photonエンジンによる高速クエリ実行が特徴です。Spark SQLはデータエンジニア向け・Databricks SQLはデータアナリスト向けという位置付けです。

Serverless SQL WarehouseとPro SQL Warehouseのコスト差はどの程度ですか?

Serverless SQL WarehouseはPro SQL Warehouseと比べてDBU単価が約1.4〜1.7倍高いですが、起動が数秒(Proは数分)と高速で、アイドル時は課金されません。アドホッククエリや断続的な利用ではServerlessの方がトータルコストが低くなることが多く、常時稼働の高負荷ダッシュボードではProの方がコスト効率が良い場合があります。ウェアハウスのAuto-stop設定(デフォルト15分)も合わせて調整しましょう。

Databricks SQLは試験でどのドメインから出題されますか?

Data Engineer Associate(DEA)試験ではSQLウェアハウスの種類比較(Classic/Pro/Serverless)、ダッシュボード・アラートの用途、Unity Catalogとの連携が出題されます。Data Analyst Associate(DAA)試験ではより実践的なSQL構文・ダッシュボード作成手順・パラメータ化クエリ・Query Profileの読み方が出題範囲に含まれます。Photonエンジンの基本的な特徴はDEA・DAAの両方で問われる可能性があります。

Databricks SQLの問題に挑戦

SQLウェアハウス・ダッシュボード・フェデレーションの理解度を確認

無料で問題を解く

関連記事

Spark SQL完全ガイド

SparkのSQL処理基盤を徹底解説

Serverless Compute解説

サーバーレス実行環境の詳細

Unity Catalog完全解説

データガバナンスとアクセス制御

Databricks資格の勉強方法

最短合格ルートと学習時間の目安

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

無料で問題を解いてみる
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Databricks

Databricks資格一覧|全7試験・難易度・勉強法

Databricks認定資格全7試験の一覧・難易度・出題範囲・合格ラインを徹底解説。2026年最新版の公式試験ガイドに準...

Databricks

Databricks試験の難易度ランキング|全7資格を徹底比較

Databricks認定全7試験の難易度をランキング形式で徹底比較。合格率・学習時間・出題傾向から難易度を分析。...

Databricks

Databricks資格の勉強方法|最短合格ルートと学習時間の目安

Databricks認定資格に最短で合格するための勉強方法を完全ガイド。公式リソース・問題集・学習スケジュールを徹底解説...

Databricks

Databricks Data Engineer Associate完全解説|出題範囲・問題例・合格戦略

Databricks Certified Data Engineer Associate試験を徹底解説。5つの出題ドメイ...

Databricks

Databricks Data Engineer Professional完全解説|上級試験の攻略法

Databricks Certified Data Engineer Professional試験を徹底解説。10の出題...

Databricksの記事一覧 (110件)
© 2026 NicheeLab All rights reserved.