難問・アンチパターン応用

あるビジネスインテリジェンスチームが、Power BIで10万行のCSVファイルからリアルタイムレポートを作成するため、DirectQueryモードを選択し、Azure SQL Databaseに接続しました。その後、複数のユーザーが同時にダッシュボードにアクセスしたとき、何が起きたか?

A.DirectQueryはソース側で処理を行うため、データベース側の負荷が大幅に増加し、クエリがタイムアウトする可能性が高くなった← 正解
✓ 正解です。DirectQueryはスライサー操作や集計ごとにデータベースへクエリを送信するため、複数ユーザーのアクセス増加に伴いDB負荷が急増し、タイムアウトのリスクが高まります。
B.Power BIが自動的にメモリキャッシュを作成し、パフォーマンスが向上した
✗ DirectQueryモードはメモリキャッシュを作成せず、常にソースに問い合わせるため、キャッシュの恩恵を受けません。
C.DirectQueryモードではネットワーク遅延がなくなるため、高速に表示される
✗ DirectQueryはネットワーク遅延を削減できません。むしろ毎回ネットワーク往復が発生します。
D.10万行程度のデータ量ではDirectQueryとImportモードの差はないため、問題は発生しない
✗ データ量が少ないほどDirectQueryの問題が顕在化しやすく、複数ユーザー環境ではImportモードの方が推奨されます。

この問題のポイント

DirectQueryはスライサー操作や集計ごとにデータベースへクエリを送信するため、複数ユーザーのアクセス増加に伴いDB負荷が急増し、タイムアウトのリスクが高まります。

DP-900:Microsoft Azure Data Fundamentals の問題一覧