1.4. キャッシュモード
Data Grid の Cache Manager は、異なるモードを使用する複数のキャッシュを作成および制御できます。たとえば、ローカルキャッシュに同じ Cache Manager を使用し、キャッシュをインバリデーションモードで分散し、キャッシュを分散できます。
- ローカルキャッシュ
- Data Grid は単一ノードとして実行され、キャッシュエントリーに対して読み取り操作または書き込み操作を複製しません。
- クラスター化されたキャッシュ
- 同じネットワークで実行している Data Grid インスタンスは、自動的に相互を検出し、キャッシュ操作を処理するためにクラスターを形成することができます。
- インバリデーションモード
- クラスター全体でキャッシュエントリーを複製する代わりに、Data Grid は操作によってキャッシュのエントリーが変更するたびに、すべてのノードから古いデータを削除します。Data Grid は、ローカルの読み取り操作のみを実行します。
- レプリケートされたキャッシュ
- Data Grid は、すべてのノードで各キャッシュエントリーを複製し、ローカルの読み取り操作のみを実行します。
- 分散キャッシュ
- Data Grid は、ノードのサブセット全体でキャッシュエントリーを保存し、エントリーを固定所有者ノードに割り当てます。Data Grid は所有者ノードから読み取り操作を要求し、正しい値を返すようにします。
- 散在 (scattered) キャッシュ
- Data Grid は、ノードのサブセット全体でキャッシュエントリーを保存します。デフォルトでは、Data Grid はプライマリーの所有者とバックアップ所有者を散在キャッシュの各キャッシュエントリーに割り当てます。Data Grid は分散キャッシュと同じ方法でプライマリー所有者を割り当てますが、バックアップ所有者は常に書き込み操作を開始するノードになります。Data Grid は、少なくとも 1 つの所有者ノードから読み取り操作を要求し、正しい値を返すようにします。
1.4.1. キャッシュモードの比較
選択するキャッシュモードは、データに必要な数量と保証によって異なります。
以下の表は、キャッシュモードの主な相違点をまとめています。
キャッシュモード | クラスター化 ? | 読み取りパフォーマンス | 書き込みパフォーマンス | 容量 | 可用性 | 機能 |
---|---|---|---|---|---|---|
Local | いいえ | 高(ローカル) | 高(ローカル) | 単一ノード | 単一ノード | 完了 |
Simple (単純) | いいえ | 最高(ローカル) | 最高(ローカル) | 単一ノード | 単一ノード | Partial: トランザクション、永続性、またはインデックスなし。 |
Invalidation (無効化) | Yes | 高(ローカル) | 低い(すべてのノード、データなし) | 単一ノード | 単一ノード | 部分的: インデックス化なし |
Replicated (レプリケート) | Yes | 高(ローカル) | 最低(すべてのノード) | 最小のノード | 全ノード | 完了 |
Distributed (分散) | Yes | メディア(所有者) | メディア(所有者ノード) | 所有者数で区分されたすべてのノード容量の合計。 | 所有者ノード | 完了 |
Scattered(散在) | Yes | 中(プライマリー) | さらに高 (単一 RPC) | 2 で除算されたすべてのノード容量の合計。 | 所有者ノード | 部分的: トランザクションがありません。 |