ある物流企業が、配送トラック 1 万台からリアルタイムに位置情報(デバイス ID、緯度・経度、タイムスタンプ)を Azure に収集・保管し、後から特定のデバイス ID の全履歴を効率的に取得したい。最も適切なサービスはどれか。
- A. Azure SQL Database — デバイス ID をインデックスとしたテーブルに書き込む
- B. Azure Table Storage — デバイス ID をパーティションキー、タイムスタンプをロウキーとしてシンプルかつ低コストに格納する
- C. Azure Files — 各デバイスごとにディレクトリを作成しログファイルを格納する
- D. Azure Blob Storage — タイムスタンプをファイル名に含めた CSV ファイルで格納する
解答と解説を見る
正解: B
Azure Table Storage はパーティションキーとロウキーの 2 値でエンティティを一意に識別するキーバリュー型 NoSQL サービスである。デバイス ID をパーティションキー、タイムスタンプをロウキーとして設計すると、同一デバイスの全データが同一パーティションに集まり、特定デバイスの全履歴を効率的にクエリできる。大規模 IoT データを低コストで格納できる点も優れている。選択肢 D の Azure Blob Storage にタイムスタンプ付き CSV を格納すると、特定デバイスの履歴取得が困難で非効率である。選択肢 A の Azure SQL Database はリレーショナルデータベースで、1 万台分のリアルタイム書き込みには高スループット対応のスケールアップコストが大きくなりやすい。選択肢 C の Azure Files は VM 間のファイル共有に適しており、高頻度 IoT データの収集・クエリには向かない。