Snowflakeの接続方法「Import、DirectQuery」とは?
こんにちは!PowerBIを勉強しているMJです。
前回Power BI DesktopでSnowflakeの接続方法について調べてみました。
【PowerBITips】Snowflakeのウェアハウスに接続する方法
Snowflakeへの接続設定の中で「Import、DirectQuery」がありましたので、今回はこれらについて調べてみようと思います。
Import? DirectQuery?
上記のイメージが前回のPowerBIからSnowflakeに接続する時に出た接続設定の画面です。
「Import、DirectQuery」2つの選択肢の中で1つを選ばなければならないですが、実際何が違うのか調べてみます。
Importとは?
Importとは、データをPower BI Desktopにダウンロードして、ローカルに保存する方法です。
この場合、Power BI Desktopがデータの処理や変換を行います。
DirectQueryとは?
DirectQueryとは、クラウド上のデータをPower BI Desktopにダウンロードせず、リアルタイムに参照する方法です。
この場合、Power BI Desktopはクエリを生成してデータベースに送り、結果を受け取ります。
簡単に説明するとImportは全データを読み込んでローカルに保存する方法で、DirectQueryはリアルタイムで読みたいデータをクエリで参照する方法です。
上記のイメージのようにSnowflakeに接続したデータでレポートを作りましたが、保存したPower BIレポートのファイルサイズが違うことがわかります。
Power BI Desktopでもデータの扱いが違うことが確認できます。
Importにはテーブルビューがある一方で、DirectQueryにはテーブルビューがありません。
それでは、それぞれにどんなメリットやデメリットがあるのかご紹介します。
メリット
Import方法のメリット
- Power BI Desktopの機能をフルに活用できます。
- データのリフレッシュが高速に行えます。ローカルに保存されたデータを読み込むだけなので、Snowflakeとの通信時間がかかりません。
- データセットのサイズが小さくなります。Power BI Desktopは、必要なデータだけを取得して圧縮します。
DirectQuery方法のメリット
- データセットのサイズに制限がありません。Snowflakeのデータをそのまま利用できるので、どのような規模のデータでも扱えます。
- データのリフレッシュが自動で行われます。Snowflakeのデータが更新されると、Power BI Desktopでも即座に反映されます。
- データセキュリティが高くなります。ローカルに保存されないので、Snowflakeのアクセス権限や暗号化がそのまま適用されます。
デメリット
Import方法のデメリット
- Power BI サービスにアップロードする際、ワークスペースのデータセットサイズに制限があります。Proライセンスでは1GBまで、Premium Per Userライセンスでは100GBまでデータを保存できます。
- データのリフレッシュを手動で行わなければなりません。Snowflakeのデータが更新されても、Power BI Desktopでは自動的に反映されません。
- データセキュリティが低下する可能性があります。ローカルに保存されたデータは、Snowflakeのアクセス権限や暗号化とは別に管理されます。
DirectQuery方法のデメリット
- Power BI Desktopの機能が制限されます。例えば、一部のDAX式や生データの調整などが使えない場合があります。
- データのリフレッシュが遅くなる可能性があります。Snowflakeとの通信時間やクエリ処理時間がかかるためです。
- データソースへの負荷が増えます。クエリごとにSnowflakeにアクセスするため、パフォーマンスやコストに影響する場合があります。
まとめ
以上が、ImportとDirectQuery接続方法の違いでした。どちらを選択するかは、データの規模や更新頻度、分析目的などに応じて判断する必要があります。
両方の方法を組み合わせることもできます。直近のデータはDirectQueryで、過去のデータはImportで利用すれば効率的にデータを運用することが可能です。
状況によってデータを読み込む方法を選択してSnowflakeとPower BIを活用していきましょう。