Lakehouse SQL Analytics エンドポイントのユース ケース

SQL分析エンドポイントは、Fabric内のDeltaデータ上でリード最適化されたT-SQLサーフェスです。 この記事では、レイクハウスのSQL分析エンドポイントを用いたFabricデータウェアハウジングワークロードと、データウェアハウジングにおけるレイクハウスの利用シナリオについて説明します。

レイクハウスSQL分析エンドポイントとは何ですか?

SQL分析エンドポイントは、T-SQL言語とTDSプロトコルを使ってレイクハウス内のデータをクエリすることを可能にします。

  • SQL分析エンドポイントは、レイクハウスのデルタテーブルをSQLテーブルとして公開し、T-SQLでクエリ可能です。
  • 湖畔ハウスのデルタテーブルはすべて1つのテーブルとして表現されます。 データは差分形式である必要があります。
  • すべてのレイクハウスには1つのSQL分析エンドポイントがあり、各ワークスペースは複数のレイクハウスを持つことができます。 他のFabricアイテム(倉庫、ミラードデータベース、SQLデータベース、Azure Cosmos DBなど)もSQL分析エンドポイントを自動プロビジョニングするため、ワークスペースはレイクハウス項目よりも多くのSQL分析エンドポイントを持つことができます。

FabricでSQL分析エンドポイントを作成する必要はありません。 SQL 分析エンドポイントは、すべての lakehouse、データベース、またはミラー化されたデータベースに対して自動的に作成されます。 SQL 分析エンドポイントは、親アイテムの軽量データ ウェアハウス機能として機能し、ウェアハウスの Lakehouse アーキテクチャを補完します。 このアーキテクチャにより、Spark またはFabric ミラーリングは、SQL 分析エンドポイントが表示できるレイクハウス内のフォルダー構造内のデータを制御できます。

Note

バックグラウンドでは、SQL 分析エンドポイントは Warehouse と同じエンジンを使用して、高パフォーマンスで待機時間の短い SQL クエリを提供します。

メタデータの自動検出

シームレスなプロセスでは、 /Tables フォルダーから Delta ログが読み取られ、統計などのテーブルの SQL メタデータが常に最新の状態になります。 ユーザーによるアクションは必要ありません。また、データのインポートやコピー、インフラストラクチャの設定も必要ありません。 詳細については、「SQL 分析エンドポイント内の自動生成スキーマ」をご覧ください。

レイクハウスがデータウェアハウジングを可能にするシナリオ

Fabric では、1 つのウェアハウスが用意されています。

Lakehouseは、ウェアハウスによって駆動されるSQL分析エンドポイントにより、従来のバッチ、ストリーミング、ラムダアーキテクチャパターンといった意思決定木を簡素化できます。 レイクハウスは、ウェアハウスと共に、多くの追加分析シナリオを可能にします。 このセクションでは、レイクハウスと倉庫を組み合わせて最高の分析戦略を活用する方法を探ります。

レイクハウスのゴールドレイヤーでの分析

湖データ編成のよく知られた戦略は 、medallion アーキテクチャです。 この戦略では、ファイルを生 (ブロンズ)、統合 (シルバー)、および精製 (ゴールド) レイヤーに整理します。 ファイルが Delta Lake 形式で格納されている場合、Microsoft Fabric OneLake の外部に格納されている場合でも、SQL 分析エンドポイントを使用して medallion アーキテクチャのゴールド レイヤーのデータを分析できます。

OneLakeのショートカットを使って、Azure Synapse SparkやAzure Databricksエンジンが管理する外部Azure Data Lakeストレージアカウントのゴールドフォルダーを参照してください。

また、カスタム分析要件を持つ特定の主題に対して、対象領域またはドメイン指向ソリューションとして倉庫を追加することもできます。

データをFabricに保持する場合は、always open API、Delta 形式、およびもちろん T-SQL を介してアクセスできます。

LakehouseやOneLakeの他の項目からDeltaテーブルをサービスとしてクエリしてください

アナリスト、データ サイエンティスト、データ エンジニアは、データ レイク内のデータに対してクエリを実行する必要がある場合があります。 Fabricでは、このエンドツーエンドのエクスペリエンスは完全に SaaSified です。

OneLake は、組織全体の 1 つの統合された論理データ レイクです。 OneLake はデータ用の OneDrive です。 OneLake には、組織の部門などに沿って複数のワークスペースを含めることができます。 Fabric内のすべての項目は、OneLake を介してデータにアクセスできるようにします。

Fabricのレイクハウス内のデータは、以下のフォルダ構造でOneLakeに物理的に保存されています。

  • /Files フォルダーには、データ エンジニアが分析前に処理する必要がある未加工の (ブロンズ) ファイルが含まれています。 ファイルは、CSV、Parquet、さまざまな種類のイメージなど、さまざまな形式である場合があります。
  • /Tables フォルダーには、ビジネス分析の準備ができている洗練された統合 (ゴールド) データが含まれています。 統合されたデータは Delta Lake 形式です。

SQL 分析エンドポイントは、OneLake 内の /tables フォルダー内のデータを読み取ることができます。 解析はレイクハウスのSQL分析エンドポイントにクエリするだけで済みます。 ウェアハウスと組み合わせることで、データベース間クエリや読み取り専用クエリからOneLakeデータ上の追加ビジネスロジック構築への切り替えがFabric Data Warehouse可能です。

Spark での Data Engineering と SQL でのサービス

データ ドリブン企業では、バックエンドと分析のシステムを顧客向けアプリケーションとほぼリアルタイムで同期させておく必要があります。 トランザクションの影響は、エンドツーエンドのプロセス、関連アプリケーション、およびオンライン トランザクション処理 (OLTP) システムを通じて正確に反映される必要があります。

Fabric では、Spark Streaming または Data Engineering を使用してデータをキュレーションできます。 Lakehouse SQL分析エンドポイントを使って、データの品質や既存のT-SQLプロセスの検証が可能です。 これはメダリオン建築や、ブロンズ、シルバー、ゴールド、またはステージング、キュレーション、洗練されたデータを提供できるレイクハウスの複数層内で行うことができます。 Spark を使用して作成されたフォルダーとテーブルを、データ エンジニアリング要件とビジネス要件を満たすようにカスタマイズできます。 準備が整えば、ウェアハウスはデータのコピーやViewの使用、 CREATE TABLE AS SELECT (CTAS)、ストアドプロシージャ、その他のDML/DDLコマンドによるデータの精錬なしに、すべての下流のビジネスインテリジェンスアプリケーションやその他の分析ユースケースをサポートできます。

オープンレイクハウスのゴールドレイヤーとの統合

SQL分析エンドポイントは、Fabricのレイクハウス上のデータ分析に限定されません。 SQL分析エンドポイントを使えば、Azure Synapse Spark、Azure Databricks、その他の湖を中心としたデータエンジニアリングエンジンを使って、どのレイクハウスでも湖データを分析できます。 Azure Data Lake Storageまたは Amazon S3 にデータを格納できます。

オープンAPI、Deltaフォーマット、そしてもちろんT-SQLを使って、Fabricのレイクハウスとのこの緊密で双方向の統合にいつでもアクセスできます。

ショートカットによる外部データレイクのデータ仮想化

OneLakeのショートカットを使って、Azure Synapse SparkやAzure Databricksエンジンが管理する外部Azure Data Lakeストレージアカウントのゴールドフォルダや、Amazon S3に格納されているDeltaテーブルを参照してください。

SQL 分析エンドポイントからショートカットによって参照される任意のフォルダーを分析し、参照されるデータの SQL テーブルを作成できます。 SQL テーブルを使用して、外部で管理されるデータ レイク内のデータを公開し、それらに対する分析を有効にします。

このショートカットは、追加のダウンストリーム分析要件のためにウェアハウスから利用したり、直接クエリを実行したりできる仮想ウェアハウスとして機能します。

外部データ レイク ストレージ アカウントのデータを分析するには、次の手順に従います。

  1. Azure Data Lake Storage または Amazon S3 アカウント内のフォルダーを参照するショートカットを作成します。 接続情報と認証情報を入力すると、レイクハウスにショートカットが表示されます。
  2. レイクハウスのSQL分析エンドポイントに切り替え、ショートカット名と一致する名前のSQLテーブルを探してください。 この SQL テーブルは、ADLS または S3 のフォルダーを参照します。
  3. 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、その他の分析シナリオが明るくなります。

タイム トラベル クエリを使用して、以前のバージョンのデータをすばやくクエリすることもできます。 タイム トラベルは、T-SQL クエリを使用して過去のデータの状態を照会する低コストで効率的な機能です。 レイクハウスSQL分析エンドポイントの場合、タイムトラベルは 真空保持設定によって制限されます。 開始するには、「 方法: ステートメント レベルでタイム トラベルを使用してクエリを実行する」を参照してください。

ショートカットを使用した Fabric データのデータ仮想化

Fabric 内では、ワークスペースを使用すると、複雑なビジネス要件、地理的または規制要件に基づいてデータを分離できます。

SQL分析エンドポイントは、データをそのままにしつつ、ウェアハウスやレイクハウス、さらには他のFabricワークスペースでもシームレスな仮想化を通じてデータを分析できるようにします。 FabricのすべてのレイクハウスはOneLakeにデータを保存しています。

ショートカットを使用すると、OneLake の任意の場所にあるフォルダーを参照できます。

Fabricのすべてのウェアハウスは、テーブルデータをOneLakeに保存しています。 テーブルが追加専用の場合、テーブル データは OneLake で Delta Lake データとして公開されます。 ショートカットを使えば、ウェアハウステーブルが公開されているOneLakeのフォルダを参照できます。

ワークスペース間の共有とクエリ

ワークスペースを使用すると、複雑なビジネス要件、地理的または規制要件に基づいてデータを分離できますが、特定の分析ニーズに合わせてこれらのライン間での共有を支援する必要がある場合があります。

レイクハウスSQL分析エンドポイントは、部署間とユーザー間でデータを簡単に共有できるようにし、ユーザーは自分の容量や倉庫を持ち込むことができます。 ワークスペースは、部門、部署、分析ドメインを整理します。 ショートカットを使うことで、ユーザーはどのウェアハウスやレイクハウスのデータをも見つけることができます。 ユーザーは、同じ共有データから独自のカスタマイズされた分析をすぐに実行できます。 このアプローチは、部門別チャージバックや使用量配分に役立つだけでなく、データをゼロコピーで扱う方式です。

SQL 分析エンドポイントによって、任意のテーブルにクエリを実行し、簡単に共有できます。 追加のビジネス要件を満たすために、ワークスペース ロールとセキュリティ ロールを使用してコントロールを追加できます。

ワークスペース間のデータ分析を有効にするには、次の手順に従います。

  1. アクセスできるワークスペース内のテーブルまたはフォルダーを参照する OneLake ショートカットを作成します。
  2. 分析したいテーブルやデルタレイクフォルダがある湖畔の家や倉庫を選びましょう。 テーブルやフォルダを選択すると、レイクハウス内にショートカットが表示されます。
  3. レイクハウスのSQL分析エンドポイントに切り替え、ショートカット名と一致する名前のSQLテーブルを探してください。 この SQL テーブルは、別のワークスペース内のフォルダーを参照します。
  4. 別のワークスペース内のデータを参照する SQL テーブルに対してクエリを実行します。 このテーブルは、SQL 分析エンドポイントの他のテーブルと同様に使用できます。 異なるワークスペース内のデータを参照するテーブルを結合できます。

SQL 分析エンドポイントのセキュリティの詳細については、SQL 分析エンドポイント の OneLake セキュリティに関するページを参照してください。

Note

SQL テーブルが SQL 分析エンドポイントにすぐに表示されない場合は、数分待ちます。 別のワークスペース内のデータを参照する SQL テーブルは、遅延して作成されます。

パーティション分割されたデータを分析する

データ パーティション分割は、データ レイクでデータ アクセスを最適化するよく知られた手法です。 パーティション分割されたデータ セットは、 /year=<year>/month=<month>/day=<day>形式の階層フォルダー構造に格納します。ここで、 yearmonth、および day はパーティション分割列です。 パーティション 分割されたデータ セットを使用すると、クエリで述語列と値を比較してデータをフィルター処理する述語を使用する場合、データ アクセスが高速化されます。

SQL 分析エンドポイントでは、パーティション分割された Delta Lake データ セットを SQL テーブルとして表し、それらを分析できます。

外部データのクエリの詳細と例については、「 Fabric Data Warehouse または SQL 分析エンドポイントを使用した外部データ レイク ファイルのクエリ」を参照してください。 パーティション分割された Parquet ファイルのクエリの例とユース ケースについては、「 パーティション分割されたデータのクエリ」を参照してください。

湖畔のハウス、倉庫、イベントハウスでデータを分析してください

Lakehouse と Warehouse のメイン ページには、[ データの分析 ] メニューの一部として Eventhouse エンドポイントが含まれています。 Eventhouse エンドポイントは、データの重複や手動同期を行わずに、Lakehouse と Warehouse のデータの上に直接 Eventhouse を利用したクエリ エクスペリエンスを提供します。

[データの分析] ボタンが展開され、SQL 分析エンドポイントと Eventhouse エンドポイント オプションが表示されているスクリーンショット。

Eventhouse エンドポイントを有効にすると、Eventhouse データベースと KQL データベースがソースの Lakehouse または Warehouse の子項目として自動的に作成され、スキーマ同期がバックグラウンドで処理されます。 エンドポイントは常にソース データの現在のスキーマを反映し、ほぼリアルタイムの分析アクセスを可能にします。

この統合により、Eventhouse は、セットアップと管理が必要な別のシステムではなく、データ ソースの自然な拡張機能になります。 Eventhouse エンドポイントの詳細については、「 Lakehouse と Warehouse の Eventhouse エンドポイントを有効にする」を参照してください。