はじめに
花王で社内SEとして、データエンジニア / BIエンジニアを担当している @mohimoon1818 です。
これから Microsoft Fabric についての理解をまとめていきたいと思います。
対象となる読者
- これからデータレイクの基盤を構築しようとしている方
- Microsoft Fabric の概要を押さえておきたい方
サマリー
Microsoft Fabric の強み
- ストレージ / データベース / ETL / BI などのサービスがオールインワン
- ショートカットによりデータのコピーが不要
- ダイレクトレイクモードにより大量のデータに素早く高速アクセスが可能
利用時に気を付けること
- スロットリングによる利用制限
- ダイレクトレイクモードの制限
背景
これまでのデータレイクの取り組み
マイクロソフトさんに掲載いただいたデータレイクに関する記事にあるように花王には Azure を用いたデータレイクがあります。
データの流れをおおまかに図にするとこのようになっています。
データレイクにおける課題
- コピーやインポートによる ①処理時間 ②データ資産の重複 ③コピーツールの管理 が発生してしまう
- Power BI の従来の接続方式では大規模なデータを活用しきれない
Microsoft Fabric の登場
Microsoft Fabric とは
Fabric は一言でいうと...
データ/AI系のサービス群をオールインワンで提供するサービス
です。よく使うアイテムを簡単に紹介します。
| Fabric アイテム | 対応する Azure リソース | 説明 |
|---|---|---|
| OneLake | Azure Data Lake Storage Gen2 | ストレージサービス、Lakehouse・Warehouseのデータの実体はここに格納される |
| Lakehouse | - | 構造化データも非構造化データも取り扱えるサービス |
| Warehouse | Synapse専用SQLプール | データウェアハウスサービス |
| Notebook | - | 言わずもがなのノートブック、PySpark・Spark SQL etc..が実行可能 |
| Data Pipeline | Azure Data Factory | ETLサービス、データ処理のワークフローを組める |
Azure のデータレイクの基盤と比較して下記の2つが Fabric 導入の最大のメリットと考える。
1. ショートカットを用いたデータへのアクセス
2. ダイレクトレイクモードでのアクセス
ショートカットを用いたデータへのアクセス
名前の通り、ショートカットはデータをコピーせず対象のデータにアクセスができます。
下記のように、ウェアハウス⇒レイクハウス もしくは レイクハウス⇒レイクハウス へのショートカットが可能となります。
※ショートカット先がウェアハウスは不可(例:レイクハウス⇒ウェアハウス)
ダイレクトレイクモードでのアクセス
以前の Power BI には大きく2つの接続方式がありましたが、
大規模なデータを高鮮度かつ高速に扱うには限界がありました。
そこで新しく登場したのが ダイレクトレイク です。
| 項目 | ダイレクトクエリ | インポート | ダイレクトレイク |
|---|---|---|---|
| 動作 | ユーザー操作のたびにデータベースへ問い合わせて結果を取得 | あらかじめデータをメモリにロードしておき、クエリ時はメモリから参照 | デルタテーブルを直接参照し、メモリにキャッシュしてクエリ |
| メリット | リアルタイム / 大規模データも扱いやすい | 高速 | リアルタイム / 高速 / 大規模データにも強い |
| デメリット | 遅い | メモリへのロードに時間がかかる | 下の注意点に記述 |
ショートカットとダイレクトレイクによって、データのコピーを減らしスムーズにユーザーに提供できるようになります。
Microsoft Fabric 利用時に気を付けること
最後に、利用時の注意点を簡単にまとめます。
- スロットリングによる利用制限
Fabric では処理に必要なリソースを CU という単位に換算して5分もしくは24時間に分割(スムージング)して消費します。消費したCUが購入したFabric容量に設定された上限を超えると処理が遅延したり処理が止まってしまう(スロットリング)ので注意が必要です。
下記に分かりやすい資料があったので載せておきます。
- ダイレクトレイクモードの制限
ダイレクトレイクで処理できるデータには制限があります。例えばテーブルあたりの行数であればF64で15億行、F128で30億行、、、というように制限があるので注意が必要です。
下記のドキュメントを参考に適切なFabric容量を選択しましょう。