Question#30(Professional Cloud Developer)

Question#30(Professional Cloud Developer)
あなたの会社は、社内データベースで株価データを取得するアプリケーションを管理しています。ユーザーにリアルタイムの株価データを提供する API を作成する必要があります。可能な限り迅速にデータを返し、かつ高度にスケーラブルなソリューションにしたいと考えています。あなたは何をすべきですか?

正解:D

この構成は、一般的に「キャッシュ側書き込み(Cache-aside)」または「レイジー ローディング(Lazy Loading)」と呼ばれる戦略です。

1. 効率的なスケーラビリティ(最もアクセスされるデータ)

  • 負荷の軽減: すべての株価データが等しく頻繁にアクセスされるわけではありません。特定の人気銘柄にリクエストが集中するため、これらを Redis にキャッシュすることで、バックエンド(社内データベース)への負荷を劇的に減らすことができます。

  • リソースの最適化: メモリは高価なリソースです。全データを Redis に載せる(選択肢 B)よりも、ヒット率の高いデータのみを保持する方が、コストを抑えつつ高いパフォーマンスを発揮できます。

2. 高い信頼性とデータの一貫性(フォールバック)

  • データの確実性: Redis はインメモリ データベースであるため、万が一のインスタンス再起動時にデータが失われるリスクがあります。D のように「社内データベースへのフォールバック」を備えることで、キャッシュにデータがない場合でも、常に正しい値をユーザーに返すことができます。

  • リアルタイム性の維持: 最新のデータがキャッシュにない場合、社内データベースから取得して Redis を更新するロジックを組むことで、次回のアクセスからは「最速」で提供できるようになります。

3. 「最小限の手間」と「高度な拡張性」の両立

  • 柔軟な運用: 全データを同期し続ける(選択肢 B)のは運用の手間がかかります。D のキャッシュ戦略であれば、必要に応じてデータが自動的にメモリへ載るため、同期ロジックを簡素化できます。


コメント

コメント

コメントする

目次