第3章 Data Gri 設定の移行


Data Grid 8 への移行に影響するデータグリッド設定の変更を見つけます。

3.1. Data Grid キャッシュの設定

Data Grid 8 は、デフォルトで空のキャッシュコンテナーを提供します。Data Grid を起動すると、キャッシュマネージャーがインスタンス化されるため、実行時にキャッシュを作成できます。

ただし、以前のバージョンと比較すると、すぐに使用できるデフォルトのキャッシュはありません。

Data Grid 8 では、CacheContainerAdmin API を介して作成するキャッシュは、クラスターの再起動後も存続することを保証するために永続的です。

永続的なキャッシュ

.administration()
   .withFlags(AdminFlag.PERMANENT) 1
   .getOrCreateCache("myPermanentCache", "org.infinispan.DIST_SYNC");
1
AdminFlag.PERMANENT はデフォルトで有効になっており、キャッシュが再起動後も存続するようになっています。

キャッシュを作成するときにこのフラグを設定する必要はありません。ただし、データが再起動後も存続するためには、データグリッドに永続ストレージを個別に追加する必要があります。次に例を示します。

ConfigurationBuilder b = new ConfigurationBuilder();
b.persistence()
   .addSingleFileStore()
   .location("/tmp/myDataStore")
   .maxEntries(5000);

揮発性キャッシュ

.administration()
   .withFlags(AdminFlag.VOLATILE) 1
   .getOrCreateCache("myTemporaryCache", "org.infinispan.DIST_SYNC"); 2
1
データグリッドの再起動時にキャッシュが失われるように VOLATILE フラグを設定します。
2
myTemporaryCache という名前のキャッシュを返すか、DIST_SYNC テンプレートを使用してキャッシュを作成します。

Data Grid 8 は、推奨設定でキャッシュを作成するために使用できるサーバーインストール用のキャッシュテンプレートを提供します。

使用可能なキャッシュテンプレートのリストは、次のように取得できます。

  • CLI で Tab のオートコンプリートを使用します。

    [//containers/default]> create cache --template=
  • REST API を使用します。

    GET 127.0.0.1:11222/rest/v2/cache-managers/default/cache-configs/templates

3.1.1. キャッシュエンコーディング

リモートキャッシュを作成するときは、キーと値の MediaType を設定する必要があります。MediaType を設定すると、データのストレージ形式が保証されます。

キャッシュをエンコードするには、設定で MediaType を指定します。他の要件がない限り、ProtoStream を使用する必要があります。これは、言語に依存しない下位互換性のある形式でデータを格納します。

<encoding media-type="application/x-protostream"/>

エンコーディングを使用した分散キャッシュ設定

<infinispan>
    <cache-container>
        <distributed-cache name="myCache" mode="SYNC">
          <encoding media-type="application/x-protostream"/>
           ...
        </distributed-cache>
    </cache-container>
</infinispan>

リモートキャッシュをエンコードしない場合、Data Grid Server は次のメッセージをログに記録します。

WARN  (main) [org.infinispan.encoding.impl.StorageConfigurationManager] ISPN000599: Configuration for cache 'mycache' does not define the encoding for keys or values. If you use operations that require data conversion or queries, you should configure the cache with a specific MediaType for keys or values.

将来のバージョンでは、データ変換が行われる操作にキャッシュエンコーディングが必要になります。たとえば、キャッシュのインデックス作成とデータコンテナーの検索、リモートタスクの実行、Hot Rod および REST エンドポイントからのさまざまな形式でのデータの読み取りと書き込み、リモートフィルター、コンバーター、リスナーの使用などです。

3.1.2. キャッシュヘルスステータス

Data Grid 7.x には、クラスターのヘルスステータスとクラスター内のキャッシュを返すヘルスチェック API が含まれています。

Data Grid 8 は Health API も提供します。組み込みおよびサーバーインストールの場合、次の MBean を使用して JMX 経由で Health API にアクセスできます。

org.infinispan:type=CacheManager,name="default",component=CacheContainerHealth

Data Grid Server は、REST エンドポイントと Data Grid Console を介して Health API も公開します。

表3.1 ヘルスステータス
7.x8.x説明

HEALTHY

HEALTHY

キャッシュが期待どおりに動作していることを示します。

Rebalancing

HEALTHY_REBALANCING

キャッシュがリバランス状態にあることを示しますが、それ以外場合は想定どおりに動作します。

Unhealthy

DEGRADED

キャッシュが期待どおりに動作しておらず、トラブルシューティングが必要な可能性があることを示します。

該当なし

FAILED

8.2 で追加され、提供された設定でキャッシュを開始できなかったことを示します。

3.1.3. Data Grid 8.1 設定スキーマへの変更

このトピックでは、8.0 から 8.1 までの Data Grid 設定スキーマへの変更をリスト表示します。

新規および変更された要素と属性
  • stack は、インライン JGroups スタック定義のサポートを追加します。
  • stack.combine 属性と stack.position 属性を使用すると、JGroups スタック定義をオーバーライドおよび変更できます。
  • metric 使用すると、Data Grid が Eclipse Micro Profile Metrics API と互換性のあるメトリックをエクスポートする方法を設定できます。
  • context-initializer を使用すると、ユーザータイプの Protostream ベースのマーシャラーを初期化する SerializationContextInitializer 実装を指定できます。
  • key-transformers を使用すると、Lucene でインデックスを作成するためにカスタムキーを文字列に変換するトランスフォーマーを登録できます。
  • statistics はデフォルトで false になりました。
非推奨の要素と属性

次の要素と属性は非推奨になりました。

  • off-heap 要素の address-count 属性。
  • transaction 要素の protocol 属性。
  • jmx 要素の duplicate-domains 属性。
  • advanced-externalizer
  • custom-interceptors
  • state-transfer-executor
  • transaction-protocol
削除された要素と属性

次の要素と属性は以前のリリースで非推奨になり、現在は削除されています。

  • deadlock-detection-spin
  • compatibility
  • write-skew
  • versioning
  • data-container
  • eviction
  • eviction-thread-policy

3.1.4. Data Grid 8.2 設定スキーマへの変更

このトピックでは、8.1 から 8.2 までの Data Grid 設定スキーマへの変更をリスト表示します。

変更された要素と属性
  • white-listallow-list に変更されました
  • role は、定義されたユーザーロールの role とセキュリティー認証の権限のサブ要素になりました。
  • context-initializer は、SerializationContextInitializer の自動登録用に更新されます。
    設定に context-initializer 要素が含まれていない場合、java.util.ServiceLoader メカニズムは、クラスパス上のすべての SerializationContextInitializer 実装を自動的に検出し、それらをロードします。
  • minOccurs 属性のデフォルト値は、indexed-entity 要素に対して 0 から 1 に変更されます。
新しい要素と属性
  • 名前/値のトランスポートプロパティーを渡すことができる transport 要素に追加された property 属性。
  • アクセス制御リスト (ACL) キャッシュのサイズとタイムアウトを設定するために、security 要素に追加された cache-size 属性と cache-timeout 属性。
  • indexing 要素に追加された index-readerindex-writer、および index-merge の子要素。
  • ストレージオプションを指定する indexing 要素に追加された storage 属性。
  • インデックスにファイルシステムストレージを使用するときにディレクトリーを指定する indexing 要素に追加された path 属性。
  • ノードがエントリーのバイアスを取得できるタイミングを制御する、scattered-cache 要素に追加された bias-acquisition 属性。
  • ミリ秒単位で、ノードが取得したバイアスを維持できる期間を指定する、scattered-cache 要素に追加された bias-lifespan 属性。
  • クロスサイトレプリケーションとの競合を解決するためのアルゴリズムを指定する、backups 要素に追加された merge-policy 属性。
  • backupstate-transfer 要素に追加された mode 属性。
    mode 属性は、クロスサイトレプリケーション状態の転送を手動で行うか自動で行うかを設定します。
  • INSERT_ABOVEINSERT_BEFORE、および INSERT_BELOW 属性を継承して JGroups のスタックを拡張するための stack.combine 属性に追加します。
非推奨の要素と属性

Data Grid 8.2 では非推奨の要素や属性はありません。

削除された要素と属性

Data Grid 8.2 では要素や属性は削除されません。

3.1.5. Data Grid 8.3 設定スキーマへの変更

このトピックでは、8.2 から 8.3 までの Data Grid 設定スキーマへの変更をリスト表示します。

スキーマの変更
  • urn:infinispan:config:store:soft-index namespace is no longer available.
変更された要素と属性
  • urn:infinispan:config namespace の file-store 要素は、デフォルトで soft-index ファイルキャッシュストアを使用します。
  • single-file-store 要素は urn:infinispan:config namespace に含まれますが、非推奨になりました。
新しい要素と属性
  • index 要素と data 要素 を使用して、Data Grid が file-store 要素でファイルベースのキャッシュストアのインデックスとデータを格納する方法を設定できるようになりました。
  • file-store 要素の open-files-limitcompaction-threshold 属性。
  • クロスサイト通信にグローバルクラスター名を定義できるようにする remote-sites 要素および remote-site 要素に追加された cluster 属性。

    注記

    cluster 属性で指定するグローバルクラスター名は、すべてのサイトで同じである必要があります。

  • currentNumberOfEntries 統計を使用してデータセットを計算できるようにするために、metrics 要素に accurate-size 属性が追加されました。

    重要

    Data Grid 8.3 以降、currentNumberOfEntries 統計は、実行するのにコストのかかる操作であるため、デフォルトで -1 の値を返します。

  • 最大アイドル有効期限を持つクラスター化キャッシュ内のエントリーのタイムスタンプを更新する方法を制御する expiration 要素に追加された touch 属性。デフォルト値は SYNC で、属性は同期レプリケーションを使用するキャッシュにのみ適用されます。非同期レプリケーションを使用するキャッシュのタイムスタンプは非同期で更新されます。
  • 有効期限の値を割り当てる strong-counter に追加される lifespan 属性 (ミリ秒単位)。デフォルト値は -1 で、強力な一貫性のあるカウンターが期限切れにならないことを意味します。

    注記

    強力なカウンターの lifespan 属性は、現在テクノロジープレビューとして提供されています。

非推奨の要素と属性

次の要素と属性は非推奨になりました。

  • single-file-store 要素。
  • file-store 要素の max-entries および path 属性。
削除された要素と属性

Data Grid スキーマでは、以下の要素および属性が利用できなくなりました。

  • transport 要素の remote-command-executor 属性。
  • distributed-cache 要素の capacity 属性。

3.1.6. Data Grid 8.4 設定スキーマへの変更

このトピックでは、8.3 から 8.4 までの Data Grid 設定スキーマへの変更を一覧表示します。

スキーマの変更
新しい要素と属性
  • default-max-results 属性が クエリー 要素に追加されました。これにより、クエリーによって返される結果の数を制限できます。インデックス付き、インデックスなし、およびハイブリッドクエリーに適用されます。
  • start-mode 属性を使用すると、キャッシュの開始時に Data Grid が実行する操作を定義できます。オプションは purgereindexauto、または none です。デフォルト値は none です。
  • raft-members 属性を使用すると、スペースで区切られた raft メンバーのリストを定義できます。
非推奨の要素と属性

次の要素と属性は非推奨になりました。

  • scattered-cache 要素が非推奨に
削除された要素と属性

Data Grid スキーマでは、以下の要素および属性が利用できなくなりました。

  • fetch-state ストアプロパティーは使用できなくなりました。xml 設定から属性を削除できます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.