分散キャッシュコヒーレンス(ぶんさんきゃっしゅこーひーれんす)
最終更新:2026/4/28
分散キャッシュコヒーレンスは、複数のキャッシュ間でデータの一貫性を保つための技術である。
別名・同義語 キャッシュ一貫性分散共有メモリコヒーレンス
ポイント
大規模な分散システムにおいて、データアクセス性能を向上させつつ、データの整合性を維持するために不可欠な仕組みである。キャッシュの更新伝播方法が重要な課題となる。
分散キャッシュコヒーレンスの概要
分散キャッシュコヒーレンスは、複数のノードに分散されたキャッシュシステムにおいて、各キャッシュが保持するデータの整合性を維持するための技術です。大規模な分散システムでは、データへのアクセス頻度を向上させるためにキャッシュが利用されますが、複数のキャッシュが存在する場合、あるキャッシュでデータが更新された際に、他のキャッシュにもその変更を反映させる必要があります。この変更の伝播と整合性を保つ仕組みが分散キャッシュコヒーレンスです。
分散キャッシュコヒーレンスの課題
分散キャッシュコヒーレンスの実現には、いくつかの課題があります。主な課題は以下の通りです。
- 遅延: キャッシュ更新の伝播に時間がかかると、データの不整合が発生する可能性があります。
- 帯域幅: キャッシュ更新の伝播にはネットワーク帯域幅を消費します。帯域幅が限られている場合、更新の遅延が発生する可能性があります。
- スケーラビリティ: システムの規模が拡大すると、キャッシュ更新の伝播が複雑になり、スケーラビリティが低下する可能性があります。
分散キャッシュコヒーレンスの実現方式
分散キャッシュコヒーレンスを実現するための方式はいくつか存在します。代表的な方式は以下の通りです。
- ライトスルー: キャッシュに書き込みを行うと同時に、オリジナルのデータストアにも書き込みを行います。データの整合性は高いですが、書き込み性能が低下する可能性があります。
- ライトバック: キャッシュに書き込みを行い、オリジナルのデータストアへの書き込みは後で行います。書き込み性能は向上しますが、キャッシュが故障した場合、データが失われる可能性があります。
- 無効化: あるキャッシュでデータが更新された場合、他のキャッシュの該当データを無効化します。無効化されたキャッシュは、次にデータにアクセスした際にオリジナルのデータストアからデータを再取得します。
分散キャッシュコヒーレンスの応用例
分散キャッシュコヒーレンスは、様々な分野で応用されています。例えば、Webアプリケーションのセッション管理、データベースのレプリケーション、コンテンツ配信ネットワーク(CDN)などが挙げられます。