1. 【中級者向け】
データ基盤の機能の考え方
Principle of Data Platform design
Microsoft MVP for Data Platform 2021
永田 亮磨
Twitter:@ryomaru0825
Linkedin:ryoma-nagata-0825
Qiita:qiita.com/ryoma-nagata
37. インメモリエンジンと直接クエリの併用
インポート
デ
ー
タ
統
合
インポート
直接クエリ
Semantic Layer
Data
Sources
デ
ー
タ
準
備
BI Reporting
Data Marts
インメモリエンジン ダッシュボード
探索、発見
データ統合システム BIシステム
• セマンティック層に配置された分析モデルはインポート(定期取得)/直接クエリ(都度取得)どちらか
の方法でデータを取得する
• ユーザは類似のデータを必要とすることが多いため、インメモリエンジンへの事前キャッシュが非
常に有効
• セマンティック層に位置づく分析用データベース製品の多くは、リレーションが張られたデー
タをメモリ上に圧縮して保持(Tableau ServerやMicrostrategyなども同様)。
AzureはPaaS(Analysis Services)およびSaaS(Power BI)として分析用データベースを提供
• キャッシュしきれないorするべきでないデータはDWHに保持したまま直接クエリで都度取得する
分
析
モ
デ
ル
キャッシュ済みデータ
による高速応答
キャッシュ外データは
必要な時にクエリ
Data Lake
&
Data Warehouse
38. • Power BI には、2種に大別可能なストレージモードがある
• データをキャッシュする(Import)
• データをキャッシュしない(Direct Query)
• それぞれの特性を知るうえで下図の①、②、③の待機時間とデータの保持場所を考える
Power BI Import / Direct Query
データソース データセット レポート ユーザー
Power BI
①データソース~データセット間 ②データセット~レポート間 ③レポート~ユーザ間
改めてPower BI データセットのストレージモードについて整理する - Qiita
39. • 操作時の待機時間が短く、最も推奨となる
• データの保持場所はデータセット内
• データの鮮度は①のスケジュール次第(最大48回/day)
• メモリへのキャッシュとなるため、サイズに上限がある
インポートモード
データソース データセット レポート ユーザー
Power BI
キャッシュ
①データソース~データセット間
頻度:定期
利用時の待機時間:なし
操作
クエリ(DAX)
②データセット~レポート間
頻度:随時(操作時)
利用時の待機時間:低
③レポート~ユーザ間
頻度:随時(操作時)
利用時の待機時間:
Power BI サービス→ユーザとクラウドの距離に依存
Power BI Desktop →低
40. • 操作時の待機時間が最も長く、機能にもいくつかの制限があ
• データの保持場所はデータセット内
• 常にデータソースの最新の状態を取得できる
• データを持たないため、サイズの上限なし
Direct Queryモード
データソース データセット レポート ユーザー
Power BI
クエリ(SQL)
①データソース~データセット間
頻度:随時(操作時)
利用時の待機時間:長
DB性能・データソースとの距離に依存
操作
クエリ(DAX)
②データセット~レポート間
頻度:随時(操作時)
利用時の待機時間:低
③レポート~ユーザ間
頻度:随時(操作時)
利用時の待機時間:
Power BI サービス→中 ユーザとクラウドの距離に依存
Power BI Desktop →低
45. • Sparkベースのため、SQL,非SQLから同じ宛先(テーブル)に対してアクセス可能
• テーブル情報(ファイル場所などのメタデータ)は共通のメタデータAPIで管理されている
• 従来では、非SQLからのアクセスはテーブル名ではなく、ファイル場所を知っていなければならなかった
Delta Lake ベネフィット③
- SQL,非SQLからの透過的なアクセス
• Lakehouse: A New Generation of Open
Platforms that Unify Data Warehousing
and Advanced Analytics (databricks.com)
データレイク
BI データサイエンス 機械学習
レポート
ETL メタデータ、キャッシュ、および
インデックス作成レイヤ
OSSのデータフォーマット(Parquet
トランザクション
ガバナンス、バージョン管理、
補助データ構造
メタデータApi
Dataframe API
SQL API