一緒に使えばより便利に: レイクハウスとウェアハウス
適用対象:✅ Microsoft Fabric の SQL 分析エンドポイントおよびウェアハウス
この記事では、レイクハウスの SQL 分析エンドポイントでのデータ ウェアハウス ワークロードと、データ ウェアハウスでのレイクハウスの使用シナリオについて説明します。 倉庫データの開発の選択に関する意思決定ガイドについては、「Microsoft Fabric 決定ガイド: ウェアハウスとレイクハウスの選択」を参照してください。
レイクハウス SQL 分析エンドポイントとは
Fabric でレイクハウスを作成すると、 ウェアハウスが自動的に作成されます。
SQL 分析エンドポイントによって、T-SQL 言語と TDS プロトコルを使用してレイクハウスのデータに対してクエリを実行できます。 すべてのレイクハウスには 1 つの SQL 分析エンドポイントがあり、各ワークスペースには複数のレイクハウスを含めることができます。 ワークスペース内の SQL 分析エンドポイントの数は、レイクハウス項目の数と一致します。
- SQL 分析エンドポイントは、すべてのレイクハウスに対して自動的に生成され、レイクハウスの Delta テーブルを T-SQL 言語を使用してクエリを実行できる SQL テーブルとして公開します。
- レイクハウスのすべての Delta テーブルは、1 つのテーブルとして表されます。 データは差分形式である必要があります。
- 既定の Power BI セマンティック モデルは、すべての SQL 分析エンドポイントに対して作成され、レイクハウス オブジェクトの名前付け規則に従います。
Microsoft Fabric で SQL 分析エンドポイントを作成する必要はありません。 Microsoft Fabric ユーザーは、ワークスペースに SQL 分析エンドポイントを作成できません。 SQL 分析エンドポイントは、すべてのレイクハウスに対して自動的に作成されます。 SQL 分析エンドポイントを取得するには、レイクハウスを作成します。すると、レイクハウス用に SQL 分析エンドポイントが自動的に作成されます。
Note
バックグラウンドでは、SQL 分析エンドポイントはウェアハウスと同じエンジンを使用して、ハイ パフォーマンスで待機時間の短い SQL クエリを提供します。
メタデータの自動検出
シームレスなプロセスにより、Delta ログがファイル フォルダーから読み取られ、統計などのテーブルの SQL メタデータが常に最新の状態に保たれます。 ユーザーによるアクションは必要ありません。また、データのインポートやコピー、インフラストラクチャの設定も必要ありません。 詳細については、「レイクハウスの SQL 分析エンドポイントで自動的に生成されたスキーマ」をご覧ください。
レイクハウスによってデータ ウェアハウスで可能になるシナリオ
Fabric では、1 つのウェアハウスが用意されています。
ウェアハウスを利用したレイクハウスとその SQL 分析エンドポイントによって、バッチ、ストリーミング、ラムダ アーキテクチャ パターンの従来のデシジョン ツリーを簡略化できます。 レイクハウスは、ウェアハウスと共に、多くの追加分析シナリオを可能にします。 このセクションでは、レイクハウスをウェアハウスと一緒に使用して、優れた分析戦略を実現する方法について説明します。
Fabric でのレイクハウスのゴールド レイヤーを使用した分析
レイク データを使用する組織の有名な戦略の 1 つは、メダリオン アーキテクチャです。このアーキテクチャでは、ファイルが生 (ブロンズ)、統合 (シルバー)、精製 (ゴールド) レイヤーで整理されます。 ファイルが Delta Lake
形式で保存されている場合、Microsoft Fabric OneLake の外部に保存されている場合でも、SQL 分析エンドポイントを使用してメダリオン アーキテクチャのゴールド レイヤーのデータを分析できます。
OneLake ショートカットを使用すると、Synapse Spark または Azure Databricks エンジンによって管理される外部の Azure Data Lake ストレージ アカウント内のゴールド フォルダーを参照できます。
特注の分析要件を持つ可能性がある特定の主題の対象領域またはドメイン指向のソリューションとして、ウェアハウスを追加することもできます。
データを Fabric に保持することにした場合、データは常にオープンになり、API、Delta 形式、そして当然ながら T-SQL を介してアクセスできます。
レイクハウスの Delta テーブルと OneLake データ ハブの他の項目に対してサービスとしてのクエリを実行する
アナリスト、データ科学者、またはデータ エンジニアがデータ レイク内のデータに対してクエリを実行する必要がある場合があります。 Fabric では、このエンド ツー エンドのエクスペリエンスは完全に SaaS 化されています。
OneLake は、組織全体の 1 つの統合された論理データ レイクです。 OneLake はデータ用の OneDrive です。 OneLake には、組織の部門などに沿って複数のワークスペースを含めることができます。 Fabric 内のすべての項目は、OneLake を介してデータにアクセスできるようにします。
Microsoft Fabric レイクハウス内のデータは、次のフォルダー構造で OneLake に物理的に保存されています。
/Files
フォルダーには、分析する前にデータ エンジニアが処理する必要がある生ファイルと非統合 (ブロンズ) ファイルが含まれています。 ファイルには、CSV、Parquet、さまざまな種類の画像など、さまざまな形式の可能性があります。/Tables
フォルダーには、ビジネス分析にすぐに使用できる精製された統合 (ゴールド) データが含まれています。 統合されたデータは Delta Lake 形式です。
SQL 分析エンドポイントは、OneLake 内の /tables
フォルダー内のデータを読み取ることができます。 レイクハウスの SQL 分析エンドポイントに対してクエリを実行するだけで、簡単に分析できます。 ウェアハウスと共に使用することで、データベース間クエリを取得できます。読み取り専用クエリから、Synapse Data Warehouse を使用した OneLake データへの追加のビジネス ロジックの構築に、シームレスに切り替えることもできます。
Spark での Data Engineering と SQL でのサービス
データ ドリブン企業では、バックエンドと分析のシステムを顧客向けアプリケーションとほぼリアルタイムで同期させておく必要があります。 トランザクションの影響は、エンドツーエンドのプロセス、関連アプリケーション、およびオンライン トランザクション処理 (OLTP) システムを通じて正確に反映される必要があります。
Fabric では、Spark Streaming または Data Engineering を使用してデータをキュレーションできます。 レイクハウス SQL 分析エンドポイントを使用して、データ品質と既存の T-SQL プロセスを検証できます。 これは、ブロンズ、シルバー、ゴールド、ステージング、キュレーション、精製されたデータを提供するメダリオン アーキテクチャまたはレイクハウスの複数のレイヤー内で実行できます。 Spark を使用して作成されたフォルダーとテーブルを、データ エンジニアリング要件とビジネス要件を満たすようにカスタマイズできます。 準備ができたら、ウェアハウスを利用して、データのコピーやビューの使用、CREATE TABLE AS SELECT
(CTAS)、ストアドプロシージャ、その他のDML/DDLコマンドを使用したデータの精製を行うことなく、下流のビジネスインテリジェンスアプリケーションやその他の分析ユースケースのすべてに対応できます。
オープン レイクハウスのゴールド レイヤーとの統合
SQL 分析エンドポイントの範囲は、Fabric レイクハウス内のデータ分析に制限されません。 SQL 分析エンドポイントによって、Synapse Spark、Azure Databricks、その他のレイク中心の Data Engineering エンジンを使用して、任意のレイクハウス内のレイク データを分析できます。 データは、Azure Data Lake Storage または Amazon S3 に保存できます。
Fabric レイクハウスとのこの緊密な双方向の統合は、オープン API、Delta 形式、もちろん T-SQL を備えたエンジンを通して常にアクセスできます。
ショートカットを使用した外部データ レイクのデータ仮想化
OneLake ショートカットを使用すると、Synapse Spark や Azure Databricks エンジンだけでなく、Amazon S3 に保存されている任意の Delta テーブルによって管理される外部の Azure Data Lake ストレージ アカウント内のゴールド フォルダーを参照できます。
ショートカットを使用して参照されるすべてのフォルダーは SQL 分析エンドポイントから分析でき、参照先データに対して SQL テーブルが作成されます。 SQL テーブルを使用すると、外部で管理されるデータ レイク内のデータを公開し、それらに対する分析が可能になります。
このショートカットは、追加のダウンストリーム分析要件のためにウェアハウスから利用したり、直接クエリを実行したりできる仮想ウェアハウスとして機能します。
外部データ レイク ストレージ アカウントのデータを分析するには、次の手順に従います。
- Azure Data Lake Storage または Amazon S3 アカウント内のフォルダーを参照するショートカットを作成します。 接続の詳細と資格情報を入力すると、ショートカットがレイクハウスに表示されます。
- レイクハウスの SQL 分析エンドポイントに切り替え、ショートカット名と一致する名前の SQL テーブルを見つけます。 この SQL テーブルは、ADLS/S3 フォルダー内のフォルダーを参照します。
- ADLS/S3 のデータを参照する SQL テーブルに対してクエリを実行します。 テーブルは、SQL 分析エンドポイント内の他の任意のテーブルとして使用できます。 異なるストレージ アカウントのデータを参照するテーブルを結合できます。
Note
SQL テーブルが SQL 分析エンドポイントにすぐに表示されない場合、数分かかる場合があります。 外部ストレージ アカウントのデータを参照する SQL テーブルは、遅延して作成されます。
データ レイク内のアーカイブされたデータや履歴データを分析する
データ パーティション分割は、データ レイクでデータ アクセスを最適化するよく知られた手法です。 パーティション分割されたデータ セットは、/year=<year>/month=<month>/day=<day>
の形式で階層フォルダー構造に保存されます。year
、month
、day
はパーティション分割列です。 これにより、履歴データを論理的に分離された形式で保存できます。このため、コンピューティング エンジンは、ディレクトリ全体とに含まれるすべてのフォルダーとファイルを読み取るの代わりに、パフォーマンスの高いフィルター処理によって必要に応じてデータを読み取ることができます。
パーティション分割されたデータを使用すると、述語列と値を比較する述語に対してクエリがフィルター処理する場合、より速いアクセスが可能になります。
SQL 分析エンドポイントは、構成を行わなくても、この種類のデータを簡単に読み取ることができます。 たとえば、SQL Server 2022 や Azure SQL Managed Instance などの任意のアプリケーションを使用して、データをデータ レイクにアーカイブできます。 データをパーティション分割し、外部テーブルを使用してアーカイブ目的でレイクに配置したら、SQL 分析エンドポイントはパーティション分割された Delta Lake テーブルを SQL テーブルとして読み取り、組織が分析できるようにします。 これにより、総保有コストが削減され、データの重複が減り、ビッグ データ、AI、その他の分析シナリオを利用できるようになります。
ショートカットを使用した Fabric データのデータ仮想化
Fabric 内では、ワークスペースを使用すると、複雑なビジネス要件、地理的または規制要件に基づいてデータを分離できます。
SQL 分析エンドポイントを使用すると、シームレスな仮想化によって、他の Microsoft Fabric ワークスペースであっても、データを所定の位置に残しつつ、ウェアハウスまたはレイクハウス内のデータを分析できます。 すべての Microsoft Fabric レイクハウスは OneLake にデータを保存します。
ショートカットを使用すると、OneLake の任意の場所にあるフォルダーを参照できます。
すべての Microsoft Fabric ウェアハウスは OneLake にテーブル データを保存します。 テーブルが追加専用の場合、テーブル データは OneLake で Delta Lake データとして公開されます。 ショートカットを使用すると、ウェアハウス テーブルが公開されている OneLake 内のフォルダーを参照できます。
ワークスペース間の共有とクエリ
ワークスペースを使用すると、複雑なビジネス要件、地理的または規制要件に基づいてデータを分離できますが、特定の分析ニーズに合わせてこれらのライン間での共有を支援する必要がある場合があります。
レイクハウス SQL 分析エンドポイントを使用すると、部門とユーザー間でデータを簡単に共有でき、ユーザーは独自の容量とウェアハウスを持ち込むことができます。 ワークスペースは、部門、部署、分析ドメインを整理します。 ショートカットを使用すると、ユーザーはウェアハウスまたはレイクハウスの任意のデータを見つけることができます。 ユーザーは、同じ共有データから独自のカスタマイズされた分析をすぐに実行できます。 これは、部門のチャージバックと使用量の割り当てのサポートに加えて、データのゼロコピー バージョンです。
SQL 分析エンドポイントによって、任意のテーブルにクエリを実行し、簡単に共有できます。 さらなるビジネス要件を満たすためにさらに階層化できるワークスペース ロールとセキュリティ ロールの制御が追加されています。
ワークスペース間のデータ分析を有効にするには、次の手順に従います。
- アクセスできるワークスペース内のテーブルまたはフォルダーを参照する OneLake ショートカットを作成します。
- 分析するテーブルまたは Delta Lake フォルダーを含むレイクハウスまたはウェアハウスを選びます。 テーブルまたはフォルダーを選ぶと、ショートカットがレイクハウスに表示されます。
- レイクハウスの SQL 分析エンドポイントに切り替え、ショートカット名と一致する名前の SQL テーブルを見つけます。 この SQL テーブルは、別のワークスペース内のフォルダーを参照します。
- 別のワークスペース内のデータを参照する SQL テーブルに対してクエリを実行します。 テーブルは、SQL 分析エンドポイント内の他の任意のテーブルとして使用できます。 異なるワークスペース内のデータを参照するテーブルを結合できます。
Note
SQL テーブルが SQL 分析エンドポイントにすぐに表示されない場合、数分かかる場合があります。 別のワークスペース内のデータを参照する SQL テーブルは、遅延して作成されます。
パーティション分割されたデータを分析する
データ パーティション分割は、データ レイクでデータ アクセスを最適化するよく知られた手法です。 パーティション分割されたデータ セットは、/year=<year>/month=<month>/day=<day>
の形式で階層フォルダー構造に保存されます。year
、month
、day
はパーティション分割列です。 パーティション分割されたデータ セットを使用すると、述語列と値を比較してデータをフィルター処理する述語がクエリによるデータのフィルター処理に使用される場合、より速いアクセスが可能になります。
SQL 分析エンドポイントでは、パーティション分割された Delta Lake データ セットを SQL テーブルとして表し、それらを分析できます。