大規模キャッシュ
大規模キャッシュとは、頻繁にアクセスされるデータをアプリケーション層により近い場所に保存するように設計された、大容量の分散メモリシステムを指します。システムは、リクエストごとにプライマリの低速なデータストア(データベースなど)にクエリを実行する代わりに、まずキャッシュをチェックします。データが存在する場合(「キャッシュヒット」)、それは即座に提供され、レイテンシとバックエンドリソースへの負荷を劇的に軽減します。
現代のトラフィックの多いWebサービスやエンタープライズアプリケーションでは、データベースI/Oが主なボトルネックとなることがよくあります。大規模キャッシュは、ほとんどの読み取りリクエストを吸収することでこれを緩和します。これは、エンドユーザーの応答時間の高速化、運用コストの削減(データベースへの負荷軽減による)、およびピーク負荷時のシステム全体の回復力の向上に直接つながります。
この操作は通常、複数のレイヤーを伴います。データは権威のあるソース(例:リレーショナルデータベース)から取得され、その後キャッシュクラスターに書き込まれます。後続のリクエストはキャッシュにルーティングされます。キャッシュは、容量に達した際に古い、または関連性の低いデータを破棄するために、淘汰ポリシー(LRU - Least Recently Usedなど)を採用しています。分散キャッシュは、データが複数のノードにシャーディングされることを保証し、大規模なストレージ容量と水平スケーラビリティを可能にします。
関連概念には、コンテンツデリバリーネットワーク(CDN)、データベースレプリケーション、インメモリデータグリッド、および結果整合性モデルが含まれます。