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

あるデータ分析チームが、Azure Data Lake Storage Gen2に毎日200GBのデータを保存し、Azure Synapse Analytics Serverless SQL Poolで分析しています。ある月、ストレージアカウントの読み取りスループットが突然低下し、クエリが遅くなりました。以下のうち、最も可能性の高い根本原因と対策の組み合わせはどれか?

A.原因:Serverless SQL Poolのクエリ同時実行数が上限に達した。対策:専有SQLプールへの移行
✗ Serverless SQL Poolのクエリ同時実行数制限が直接的にスループット低下を引き起こすことはまれです。また、この場合の対策は不適切です。
B.原因:ストレージアカウントのパーティション(Partition)キーが不均等に分散している。対策:ホットパーティション回避のためにフォルダ構造を変更し、パス設計を改善← 正解
✓ 正解です。ADLS Gen2は内部的にストレージパーティション設計に依存し、パスが偏ると特定パーティションへのアクセスが集中します。フォルダ構造を改善することが根本的な対策です。
C.原因:Azure Data Lake Storageの階層名前空間(HNS)が有効化されていない。対策:HNSを有効にしてアクセス制御リスト(ACL)を使用
✗ HNSはメタデータ管理を改善しますが、既に有効化されていない場合、スループット低下の直接原因にはなりません。
D.原因:Serverless SQL Poolのメモリ不足。対策:キャッシュ戦略を導入し、CTAS(Create Table As Select)でマテリアライズドビューを作成
✗ CTASはクエリ最適化手法ですが、ストレージ層のスループット問題を解決しません。根本原因の対策ではありません。

この問題のポイント

ADLS Gen2は内部的にストレージパーティション設計に依存し、パスが偏ると特定パーティションへのアクセスが集中します。フォルダ構造を改善することが根本的な対策です。

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