SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Power BI PPU でデータマートを使用できるようになったので SQL Database の構成を確認してみる

leave a comment

本日、Power BI データマートが東南アジア (シンガポール) でも使用できるようになったようで、シンガポールから東日本にテナントをお引越ししなくてもよかったのではと思う今日この頃ですが、私が使用している Power BI Premium Per User (PPU) の環境でデータマートを触れるようになったので、SQL Database の構成を簡単にではありますが確認してみました。(Power BI Embedded でも試すことができ、PPU も Embedded も同じ構成となっているようでした)

考慮事項と制限事項 で東アジアが制限から外れたので、日本の Power BI ユーザーも広範囲で試すことができそうですね。

image

Power BI データマートの説明については、データマートの概要 のドキュメントツリーを確認していただければと思います。

データマートの概要 に記載されていますが、Powre BI データマートで読み込まれたデータは、SQL Database に格納されており、作成したデータマートの設定の「サーバー設定」の接続文字列を使用することで、T-SQL のインタフェース (SQL エンドポイント) からデータの参照をすることができます。(認証については、AAD 認証のみが使用でき、データマートのアクセス許可を利用する形になるかと思います)

image

データマートに取り込んだデータについては、SQL Database のビュー経由で参照を行うことができ、SQL Database に対してクエリが実行できるアプリからであれば、データマート内のテーブルに自由にアクセスすることができます。
image

使用されている SQL Database の環境については、Elastic Pool を使用した汎用目的 (General Purpose) の環境となるようです。

これについては次のクエリで確認することができます。

SELECT * FROM sys.database_service_objectives
SELECT slo_name FROM sys.dm_user_db_resource_governance WHERE database_id = DB_ID()

 

実行した結果がこちらになります。

image

上記のクエリではカレントの DB のみ、情報を表示していますが、このプール内には複数の DB が存在しており、マルチテナントのような活用方法になっているようでした。

データアクセスはビュー経由で実施しますが、実際のデータはテーブルに格納されています。

ビューの定義が以下になるのですが、「storage」というスキーマ内のテーブルに実際のデータが格納されており、それを参照するビューとしてデータアクセスが可能になっています。

image

このテーブルですが、「クラスター化列ストアインデックス」が設定されているテーブルとなっているようで、データマートのテーブルは列志向インデックスのテーブルに格納がされるようです。

image

増分更新の設定をした場合はパーティションも活用されているようで、パーティション構成のテーブルの参考にもなりそうな感じがありました。

次んクエリを実行することで、データベースレベルの権限を確認することができます。

select * from sys.fn_my_permissions(NULL, 'DATABASE')

現時点では、広くパフォーマンス情報等を見れる権限がついているので、SQL Database の内部情報を見るクエリがわかっていれば、様々な情報を確認することができるかと。

image

データマートは、T-SQL のインタフェースを持つデータストアではなく、実際に SQL Server ベースの環境が使用されているので、SQL Server の知識があるといろいろと情報を見れて、動作を把握するのが捗りますね。

Share

Written by Masayuki.Ozawa

7月 26th, 2022 at 8:28 pm

Posted in Power BI,SQL Server

Tagged with ,

Leave a Reply