DVA-C02開発MEDIUM複数選択

あるメディア配信企業が、ElastiCache for Redisを使って動画メタデータのキャッシュを運用している。キャッシュのメモリ使用率が常に90%以上になっており、エビクション(強制退去)が頻発してキャッシュヒット率が低下している。最小限の変更でメモリ使用率を改善する方法を2つ選択してください。

  1. A. Redis Clusterモードを有効化してデータを複数ノードに分散し、単一ノードのメモリ使用率を下げる
  2. B. Redis最大メモリポリシー(maxmemory-policy)をallkeys-lruに変更し、最も最近使われていないキーを自動的にエビクションする
  3. C. ElastiCacheのノードタイプをより大きいサイズにスケールアップし、利用可能なメモリを増やす
  4. D. ElastiCacheのスナップショット機能を有効化して定期的にキャッシュをS3に退避させる
  5. E. キャッシュされているすべてのキーに適切なTTL(Time to Live)を設定し、不要なキャッシュエントリが自動的に期限切れになるようにする
解答と解説を見る

正解: B, E

maxmemory-policyをallkeys-lru(B)に設定すると、メモリが上限に達したときに最も最近使われていないキーから自動的に削除される。これにより高頻度でアクセスされるキーがメモリに残りキャッシュヒット率が維持される。「最小限の変更」の設定変更のみで実装できる。TTL設定(E)は期限切れデータを自動削除して不要なメモリ占有を防ぐ。コンテンツ配信のメタデータは時間経過で陳腐化するものも多く、適切なTTL設定はメモリ使用率の抑制に直接効果がある。Cのスケールアップは効果はあるがコストが増加し「最小限の変更」ではなく、根本的なメモリ使用パターンの問題を解決しない。Aのクラスターモードへの変更はアーキテクチャの大規模変更が必要で、既存のアプリケーション接続文字列の変更も必要になる。Dのスナップショット機能はデータ永続化のためのものであり、ライブメモリ使用率の改善には直接効果がない。

▸ この試験を本気で演習する(全150問・無料)