難問・アンチパターン定義問題

あるシステムで「Azure Table StorageのPartitionKeyにデバイスの設置日(2024-01-15形式)を使う」設計を採用しました。この設計の問題点はどれか?

A.Azure Table StorageはPartitionKeyに日付形式の文字列を使えない
✗ Azure Table StorageのPartitionKeyは文字列型をサポートしている。日付形式の文字列も使用可能。
B.設置日が同じデバイスが多数ある場合に同一パーティションへの集中と、最新日付への書き込み集中(ホットパーティション)が発生しやすい← 正解
✓ 正解。設置日をPartitionKeyにすると、同じ日に設置された多数のデバイスデータが同一パーティションに集中する(カーディナリティの問題)。また、新しいデバイスは最新の日付パーティションに集中するため書き込みホットスポットが発生しやすい。PartitionKeyにはカーディナリティが高くアクセスが均等に分散するキー(デバイスID等)を選ぶべき。
C.Table Storageは2024年以降の日付をPartitionKeyとして認識できない
✗ 2024年以降の日付形式に制限はない。
D.設置日をPartitionKeyにすると検索が遅くなる(設置日インデックスが自動作成されないため)
✗ PartitionKeyは自動的にインデックス化される。この記述は誤り。

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