変更要約: DP-600 第2章を深掘り(図ja化・比較表/シナリオ/FAQ/ひっかけ/深掘り段落を全節に追加)
2.2データの提供(SQL分析エンドポイントと Direct Lake)
準備したデータを分析に提供する方法——SQL 分析エンドポイント(T-SQL クエリ)、Power BI の Direct Lake、共有とアクセス——を理解します。準備(ゴールド層)をセマンティックモデルへ橋渡しします。
準備したデータ(ゴールド層)は、分析者やレポートが使える形で提供します。Fabric は SQL 分析エンドポイントと Direct Lake で高速に提供します。
2.2.1提供の方法
セマンティックモデルの提供では、外部ツール(SSMS/Tabular Editor 等)から接続・デプロイできる XMLA endpoint や、OneLake のデータを直接読み込んでインポート級の速度を出す Direct Lake ストレージモードを使います。アイテムの機密区分は Sensitivity labels で付与します。
- SQL 分析エンドポイント:Lakehouse/Warehouse のデータを T-SQL で読み取りクエリする(Lakehouse は読み取り)。
- Direct Lake:Power BI が OneLake の Delta をインポート/DirectQuery なしで高速参照する。
- 共有/アクセス:レポートやセマンティックモデルを共有し、ロール/RLS で利用者に届ける。
- フォールバック:Direct Lake が条件を満たさないと DirectQuery にフォールバックする場合がある。
「T-SQL で読み取り=SQL 分析エンドポイント」「インポート/DirectQuery なしの高速参照=Direct Lake」「条件未達で DirectQuery にフォールバック」「提供は共有/ロールで届ける」 は DP-600 で頻出です。Direct Lake を最大限活かすには Delta を V-Order/OPTIMIZE で最適化します。
Direct Lake はインポートのような更新スケジュールが不要で、最新の Delta データを直接読みます。大規模データで特に有効です。
Power BI のストレージモードは 3 つ:インポート(データをモデルに取り込み・最速だが更新スケジュールとメモリが必要・鮮度は更新時点)/DirectQuery(都度ソースへクエリ・常に最新だが遅くソース負荷)/Direct Lake(OneLake の Delta を直接メモリにロードして読み、インポート級の速度と DirectQuery 級の鮮度を両立)。Direct Lake は フォールバック(複雑な機能・他ソースとの混在・上限超過時に DirectQuery へ自動切替)に注意し、最大性能には Delta を V-Order/OPTIMIZE で最適化します。提供面では SQL 分析エンドポイント(Lakehouse は読み取り専用、Warehouse は読み書き)で T-SQL クエリやビュー作成が可能。届け方は 共有・アプリ(Power BI アプリ)・ワークスペースロール+セマンティックモデルの RLS/OLS で利用者ごとに制御します。鮮度・規模・同時実行・コストの要件で「大規模+高鮮度=Direct Lake」「小規模で最速=インポート」「常に最新で軽量参照=DirectQuery」を選び分けます。
| モード | 鮮度 | 速度 | 向く場面 |
|---|---|---|---|
| インポート | 更新時点 | 最速 | 小〜中規模・最速重視 |
| DirectQuery | 常に最新 | 遅め | 常時最新・軽量参照 |
| Direct Lake | ほぼ最新 | 高速 | 大規模+高鮮度 |
シナリオ: 数億行のゴールド層を、更新スケジュール無しで最新かつ高速に Power BI で見せたい。→ Direct Lake のセマンティックモデルを構成し、Delta を V-Order/OPTIMIZE で最適化。複雑機能でフォールバックしないよう設計し、RLS で利用者別に行を制御、Power BI アプリで配布します。アドホックな T-SQL 確認は SQL 分析エンドポイントを使います。
FAQ: Q. Direct Lake はインポートと DirectQuery のどちらに近い? → A. 両方の良いとこ取り=インポート級の速度+ほぼ最新の鮮度。ただし条件未達で DirectQuery にフォールバックします。Q. Lakehouse の SQL 分析エンドポイントで書き込める? → A. いいえ、読み取り専用。書き込みは Spark、または Warehouse を使います。
ひっかけ: 「Direct Lake はインポートのように更新スケジュールが必須」は誤りです。Direct Lake は Delta を直接読むためスケジュール更新は不要(ほぼ最新)。また「Direct Lake は必ず DirectQuery で動く」も誤り(通常はメモリに直接ロード、条件未達時のみ DirectQuery にフォールバック)。
2.2.2この節のまとめ
- 提供=SQL 分析エンドポイント(T-SQL)/Direct Lake(Power BI 高速)
- 届ける=共有/ロール/RLS、Direct Lake はフォールバックあり
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. Lakehouse/Warehouse のデータを T-SQL で読み取りクエリしたい。何を使いますか?
Q2. Power BI が OneLake の Delta をインポートも DirectQuery もせず高速参照する提供モードはどれですか?
Q3. Direct Lake が条件を満たさないとき起こりうる挙動はどれですか?

