Question#30(Professional Cloud Developer)
あなたの会社は、社内データベースで株価データを取得するアプリケーションを管理しています。ユーザーにリアルタイムの株価データを提供する API を作成する必要があります。可能な限り迅速にデータを返し、かつ高度にスケーラブルなソリューションにしたいと考えています。あなたは何をすべきですか?
正解:D
この構成は、一般的に「キャッシュ側書き込み(Cache-aside)」または「レイジー ローディング(Lazy Loading)」と呼ばれる戦略です。
1. 効率的なスケーラビリティ(最もアクセスされるデータ)
負荷の軽減: すべての株価データが等しく頻繁にアクセスされるわけではありません。特定の人気銘柄にリクエストが集中するため、これらを Redis にキャッシュすることで、バックエンド(社内データベース)への負荷を劇的に減らすことができます。
リソースの最適化: メモリは高価なリソースです。全データを Redis に載せる(選択肢 B)よりも、ヒット率の高いデータのみを保持する方が、コストを抑えつつ高いパフォーマンスを発揮できます。
2. 高い信頼性とデータの一貫性(フォールバック)
データの確実性: Redis はインメモリ データベースであるため、万が一のインスタンス再起動時にデータが失われるリスクがあります。D のように「社内データベースへのフォールバック」を備えることで、キャッシュにデータがない場合でも、常に正しい値をユーザーに返すことができます。
リアルタイム性の維持: 最新のデータがキャッシュにない場合、社内データベースから取得して Redis を更新するロジックを組むことで、次回のアクセスからは「最速」で提供できるようになります。
3. 「最小限の手間」と「高度な拡張性」の両立
柔軟な運用: 全データを同期し続ける(選択肢 B)のは運用の手間がかかります。D のキャッシュ戦略であれば、必要に応じてデータが自動的にメモリへ載るため、同期ロジックを簡素化できます。

コメント