第1章 Data Grid のリリース情報
新機能および最新の Data Grid のリリース情報についてご確認ください。
1.1. Data Grid 8.3.0 の新機能 リンクのコピーリンクがクリップボードにコピーされました!
Data Grid 8.3 は、使いやすさ、パフォーマンス、セキュリティーを向上します。新機能を確認してください。
1.1.1. Java 17 のサポート リンクのコピーリンクがクリップボードにコピーされました!
Data Grid 8.3 は、埋め込みキャッシュおよびリモートキャッシュに対して Java 17 を完全サポートします。
1.1.2. Data Grid Helm チャート リンクのコピーリンクがクリップボードにコピーされました!
Data Grid 8.3 では、Red Hat OpenShift に Data Grid クラスターをデプロイするための Helm チャートが導入されました。Data Grid Helm チャートは、Data Grid Operator が管理するクラスターをデプロイすることができない場合や、Data Grid クラスターを手動で設定、デプロイメント、および管理する必要のあるシナリオの代替手段を提供します。
Data Grid Helm チャートには deploy.infinispan の値が含まれ、これにより Helm クライアントまたは OpenShift Web コンソールを使用して、カスタム設定を Data Grid Server ノードに適用できます。
1.1.3. Data Grid の設定 リンクのコピーリンクがクリップボードにコピーされました!
Data Grid は、キャッシュとセキュリティーやクラスタートランスポートなどの基盤となるメカニズムをカスタマイズするための宣言型およびプログラム型の設定属性を提供します。
polyglot 設定
Data Grid 8.3 を使用すると、XML に加えて JSON および YAML 形式で宣言設定を作成できます。デプロイメントプラットフォーム (Red Hat Enterprise Linux (RHEL) あるいは Data Grid Operator または Data Grid Helm チャート経由の Red Hat OpenShift) に同じ Data Grid 設定ファイルを再利用できます。
動的キャッシュの変更可能な設定属性
Data Grid 8.3 を使用すると、実行時に動的に作成するキャッシュの設定属性を変更することができます。そのため、キャッシュを削除してから再作成して、有効期限の lifespan やエビクションの max-count などの設定属性を変更する必要がなくなります。
キャッシュ設定の変更は、既存の設定と互換性がある必要があります。たとえば、cache 設定を変更して replicated-cache 要素を distributed-cache に変更したり、max-size 属性の代わりに max-count 属性を使用したりすることはできません。
変更可能な設定属性の変更
Data Grid コマンドラインインターフェイス (CLI) および REST API は、以下のメカニズムを提供します。
- 変更可能な設定属性の一覧の取得。
- ランタイム時の変更可能な設定属性の変更。
使用方法の詳細は、CLI または REST を参照してください。
キャッシュサイズの統計
Data Grid 8.3 以降、currentNumberOfEntries はパフォーマンスを向上させるため、デフォルトで -1 を返します。
この統計の正確な値を復元する場合、Data Grid はメトリクス設定に accurate-size 属性を提供するようになりました。ただし、これはリソースを集中的に使用する計算であり、開発環境にのみ推奨されます。以下のように値を true に設定します。
宣言的 (Declarative)
<cache-container> <metrics accurate-size="true"/> </cache-container>
<cache-container>
<metrics accurate-size="true"/>
</cache-container>
プログラマティック
GlobalConfigurationBuilder b = new GlobalConfigurationBuilder(); b.metrics().accurateSize(true);
GlobalConfigurationBuilder b = new GlobalConfigurationBuilder();
b.metrics().accurateSize(true);
キャッシュサイズの概算の統計を提供するメトリクスは、Data Grid の将来のバージョンで計画されています。
1.1.4. 永続ストレージ リンクのコピーリンクがクリップボードにコピーされました!
Data Grid 8.3 は、永続ストレージを使用するための新しく改善されたキャッシュストアの実装を提供します。
デフォルトのファイルベースのキャッシュストア実装
メモリーリソースを減らして断片化を回避することでパフォーマンスを向上するために、SoftIndexFileStore が Data Grid のファイルベースのキャッシュストアのデフォルトの実装になりました。8.3 以降では、キャッシュ設定に file-store 永続性を含めると、単一ファイルキャッシュストアではなく、ソフトインデックスファイルベースのキャッシュストアが作成されます。
8.3 にアップグレードすると、Data Grid は自動的に file-store 設定を SoftIndexFileStore に移行します。
以前のバージョンから Data Grid 8.3 に移行する際に、キャッシュ設定に soft-index-file-store 要素が含まれる場合には、これを file-store 要素に変換する必要があります。詳細は、Migrating to Data Grid 8 を参照してください。
Data Grid 8.2
Data Grid 8.3
SQL キャッシュストア
Data Grid 8.3 には SQL キャッシュストアが導入され、永続ストレージのデータへのアクセスを簡素化し、JDBC 接続を介してキャッシュを事前に読み込みます。
以下の 2 種類の SQL キャッシュストアを作成できます。
- 表
- Data Grid は、1 つのデータベーステーブルからエントリーを読み込みます。
- クエリー
- Data Grid は SQL クエリーを使用してエントリーを読み込み、挿入、更新、および削除操作を実行します。
JDBC 接続ファクトリー
Data Grid 8.3 以降、Data Grid は、org.infinispan.persistence.jdbc.common.configuration パッケージで JDBC 接続に ConnectionFactory 実装を提供します。これらの接続ファクトリーは SQL キャッシュストアと JDBC 文字列ベースのキャッシュストアで使用できます。
1.1.5. Data Grid Server リンクのコピーリンクがクリップボードにコピーされました!
Data Grid Server は専用の Java 仮想マシン (JVM) で実行され、リモートキャッシュ用にスケーラブルでフォールトトレラントなクラスターを提供します。
分散セキュリティーレルム
Data Grid Server では、複数のセキュリティーレルムを単一のレルムに統合できるようになりました。ユーザーの認証時に、Data Grid Server は、認証を実行できるセキュリティーレルムが見つかるまで、各セキュリティーレルムを順番に使用します。
たとえば、以下のセキュリティーレルムには LDAP レルムとプロパティーレルムおよび distributed-realm 要素が含まれます。
複数のエンドポイント設定
複数のエンドポイントを異なるソケットにバインドし、異なるセキュリティーレルムを使用するように Data Grid Server を設定できます。
例として、以下のスニペットには、2 つの異なるエンドポイント設定が含まれます。1 つのエンドポイントは "public" ソケットにバインドされ、application" セキュリティーレルムを使用し、管理機能を無効にします。別のエンドポイントは "private" ソケットにバインドし、"management" セキュリティーレルムを使用し、管理機能を有効にします。
8.3 以降、endpoints 要素は 1 つ以上の endpoint 設定のラッパーになりました。子要素を endpoints に追加する場合は、endpoint 要素を使用する必要があります。
Data Grid 8.2 以前からアップグレードし、複数のエンドポイントを設定する場合は、設定を 8.3 スキーマに適合させる必要があります。詳細は、Migrating to Data Grid 8 を参照してください。
セキュリティーの強化
クラスタートランスポートのセキュリティーレルム
TLS サーバーアイデンティティーが含まれるセキュリティーレルムを指定して、クラスタートランスポートのセキュリティーを保護します。以下に例を示します。
<cache-container> <transport server:security-realm="tls-transport"/> </cache-container>
<cache-container>
<transport server:security-realm="tls-transport"/>
</cache-container>
この設定は、クロスサイトレプリケーションのために RELAY メッセージも暗号化し、JGroups SYM_ENCRYPT および ASYM_ENCRYPT プロトコルの代替を提供します。クロスサイトレプリケーションに参加するすべての Data Grid クラスターにセキュリティーを設定する必要があります。
PEM ファイルキーストアおよびトラストストア
PEM ファイルを Data Grid Server 設定に直接追加し、それらを TLS サーバーアイデンティティーでトラストストアとキーストアとして使用します。
- キーストアとしての PEM ファイルには、PKCS#1 または PKCS#8 形式の秘密鍵と 1 つ以上の証明書が含まれている必要があります。
- トラストストアとしての PEM ファイルには 1 つ以上の証明書が含まれている必要があります。
-
PEM ファイルには空のパスワード
password=""が必要です。
OpenSSL を使用した TLSv1.3 の完全サポート
Data Grid Server は、デフォルトで TLS バージョン 1.2 および 1.3 をサポートします。クライアント接続のセキュリティープロトコルを、以下の設定でのみ TLSv1.3 に制限できます。
<engine enabled-protocols="TLSv1.3" />
<engine enabled-protocols="TLSv1.3" />
設定オーバーレイ
Data Grid Server は、重複した --server-config= または -c 引数を使用して、起動時にオーバーレイする複数の設定ファイルを解析できます。
bin/server.sh -c infinispan.xml -c overlay.yaml
$ bin/server.sh -c infinispan.xml -c overlay.yaml
必要な数の設定オーバーレイファイルを任意の順序で使用できます。設定オーバーレイファイル:
- それぞれが有効な Data Grid 設定である必要があります。
- オーバーレイファイルの組み合わせが完全な設定になる限り、完全な設定である必要はありません。
Data Grid Server は、オーバーレイファイル間の競合する設定を検出しません。各オーバーレイファイルは、前述の設定で競合する設定を上書きします。
キャッシュ設定
キャッシュ設定をオーバーレイファイルに追加すると、Data Grid Server はそのキャッシュを他のノードに動的に作成しません。
オーバーレイファイルにはキャッシュ設定フラグメントを含めることはできません。たとえば、オーバーレイファイル -c mycache.yaml に分散キャッシュを作成するには、以下のように infinispan および cacheContainer フィールドを追加する必要があります。
すべてのアドレスのリッスン
Data Grid Server のバインドアドレスとして 0.0.0.0 メタアドレス (INADDR_ANY) を指定すると、利用可能なすべてのネットワークインターフェイスで着信クライアント接続をリッスンします。
パフォーマンスおよびユーザービリティーの改善
- Data Grid Server 8.3 は、少ないホストリソースを使用するようにスレッドプールを統合します。
-
Data Grid Server のインストールには、Microsoft Windows サービスとして実行するための
bin/service.batスクリプトが追加されました。
1.1.6. Data Grid コンソール リンクのコピーリンクがクリップボードにコピーされました!
Data Grid Console は、リモートキャッシュを監視および管理するためのグラフィカルユーザーインターフェイスであり、8.3 では以下の機能と拡張機能が含まれています。
- キャッシュには Entries タブを表示するための適切なエンコーディングが必要になりました。
キャッシュのクラスターリバランス操作のオンとオフを切り替えることができます。
重要クラスターのリバランスは、ノードの再起動または複数ノードの追加時に繰り返し行われるクラスターのリバランス操作を回避するために、短期間だけ無効にする必要があります。データ損失を防ぐために、できるだけ早くクラスターのリバランスを有効にします。
- カスタムテンプレートを Data Grid Server 設定に追加しない限り、キャッシュテンプレートは Add cache ダイアログで利用できなくなりました。
- JSON エンコーディングおよび Protobuf カスタムタイプの自動検出。
- キャッシュエントリーの編集がタイプ対応になりました。
- アラートモーダル、ツールチップ、およびインラインヘルプが更新され、ユーザーエクスペリエンスが改善されました。
- エラー処理と統計の収集が改善されました。
1.1.7. Data Grid コマンドラインインターフェイス (CLI) リンクのコピーリンクがクリップボードにコピーされました!
Data Grid CLI を使用すると、リモートキャッシュの管理操作をスクリプト化および自動化できます。
ランタイム時の設定属性の変更
alter コマンドを使用すると、実行時に Data Grid 設定属性を変更できます。
-
--fileオプションを使用して、1 つ以上の属性が変更された設定ファイルを指定します。 -
--attributeおよび--valueオプションを使用して、特定の設定属性を変更します。
alter cache mycache --attribute=clustering.remote-timeout --value=5000
alter cache mycache --attribute=clustering.remote-timeout --value=5000
キャッシュの可用性の制御
availability コマンドを使用すると、ネットワークパーティションでクラスター化されたキャッシュの可用性を管理できます。
-
DENY_READ_WRITES または ALLOW_READS パーティション処理ストラテジーのいずれかを使用する場合、
--mode=[AVAILABLE|DEGRADED_MODE]オプションを使用して、キャッシュの可用性を AVAILABLE または DEGRADED_MODE に設定します。
availability --mode=AVAILABLE mycache
availability --mode=AVAILABLE mycache
リバランス操作の有効化および無効化
rebalance コマンドを使用すると、キャッシュのクラスターのリバランス操作をオン/オフに切り替えることができます。
クラスターのリバランスは、ノードの再起動または複数ノードの追加時に繰り返し行われるクラスターのリバランス操作を回避するために、短期間だけ無効にする必要があります。データ損失を防ぐために、できるだけ早くクラスターのリバランスを有効にします。
rebalance disableコマンドを使用して、リバランスをオフにします。[//containers/default]> rebalance disable
[//containers/default]> rebalance disableCopy to Clipboard Copied! Toggle word wrap Toggle overflow rebalance enableコマンドを使用して、リバランスをオンにします。[//containers/default]> rebalance enable
[//containers/default]> rebalance enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Hot Rod クラスターの移行
migrate コマンドは、実行中の Data Grid クラスターから別の Data Grid クラスターにデータを移行する追加のオプションを提供します。
-
migrate cluster connectコマンドを使用して、ソースクラスターからターゲットクラスターに接続を確立します。 -
migrate cluster synchronizeコマンドを使用して、データをソースクラスターからターゲットクラスターに移行します。 -
migrate cluster disconnectコマンドを使用して、データの移行後にクラスター間の接続を終了します。
クロスサイトレプリケーションリレーノードの取得
site コマンドを使用すると、Data Grid クラスターのどのノードが、クロスサイトレプリケーションに RELAY メッセージを処理するかを確認できます。
-
site is-relay-nodeコマンドを使用して、ノードがリレーノードであるかどうかを確認します。 -
site relay-nodesコマンドを使用して、クラスター内のリレーノードの一覧を取得します。
ネイティブ CLI
ネイティブ CLI は 8.3 で更新され、oc クライアントプラグインとしての使用が改善され、Red Hat OpenShift で実行される Data Grid Pod と対話できるようになりました。
1.1.8. REST API リンクのコピーリンクがクリップボードにコピーされました!
Data Grid は、REST 経由で HTTP を使用してリモートキャッシュおよびコンテナーにアクセスできるようにします。
ランタイム時の設定属性の変更
キャッシュの変更可能なキャッシュ設定属性をすべて取得します。
GET /rest/v2/caches/{cacheName}?action=get-mutable-attributesGET /rest/v2/caches/{cacheName}?action=get-mutable-attributesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更可能なキャッシュ設定属性を変更します。
POST /rest/v2/caches/{cacheName}?action=set-mutable-attributes&attribute-name={attributeName}&attribute-value={attributeValue}POST /rest/v2/caches/{cacheName}?action=set-mutable-attributes&attribute-name={attributeName}&attribute-value={attributeValue}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
キャッシュの可用性の制御
キャッシュの可用性を取得します。
GET /v2/caches/{cacheName}?action=get-availabilityGET /v2/caches/{cacheName}?action=get-availabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow DENY_READ_WRITES または ALLOW_READS パーティション処理戦略のいずれかを使用する場合は、クラスター化されたキャッシュの可用性を変更します。
POST /v2/caches/{cacheName}?action=set-availability&availability={AVAILABILITY}POST /v2/caches/{cacheName}?action=set-availability&availability={AVAILABILITY}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
リバランス操作の有効化および無効化
すべてのキャッシュの自動リバランスをオンにします。
POST /rest/v2/cache-managers/{cacheManagerName}?action=enable-rebalancingPOST /rest/v2/cache-managers/{cacheManagerName}?action=enable-rebalancingCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのキャッシュの自動リバランスをオフにします。
POST /rest/v2/cache-managers/{cacheManagerName}?action=disable-rebalancingPOST /rest/v2/cache-managers/{cacheManagerName}?action=disable-rebalancingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のキャッシュの自動リバランスをオンにします。
POST /v2/caches/{cacheName}?action=enable-rebalancingPOST /v2/caches/{cacheName}?action=enable-rebalancingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のキャッシュの自動リバランスをオフにします。
POST /v2/caches/{cacheName}?action=disable-rebalancingPOST /v2/caches/{cacheName}?action=disable-rebalancingCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Hot Rod の移行
REST API は、実行中の Data Grid クラスターから別の Data Grid クラスターにデータを移行できるようにするコントロールを公開します。
ソースクラスターからターゲットクラスターへの接続を確立します。
POST /v2/caches/myCache?action=connect-source
POST /v2/caches/myCache?action=connect-sourceCopy to Clipboard Copied! Toggle word wrap Toggle overflow ソースクラスターからターゲットクラスターにデータを移行します。
POST /v2/caches/myCache?action=sync-data
POST /v2/caches/myCache?action=sync-dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow データ移行後にクラスター間の接続を終了します。
DELETE /v2/caches/myCache/rolling-upgrade/source-connection
DELETE /v2/caches/myCache/rolling-upgrade/source-connectionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
クロスサイトレプリケーションリレーノードの取得
クロスサイトのレプリケーションのために RELAY メッセージを送受信するノードの一覧を取得します。
GET /rest/v2/cache-managers/{cacheManagerName}GET /rest/v2/cache-managers/{cacheManagerName}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
XML、JSON、YAML 間のキャッシュ設定の変換
有効な設定と ?action=convert パラメーターを使用して POST リクエストを呼び出します。Data Grid は、Accept ヘッダで指定されたタイプの設定の同等の表現で応答します。
POST /rest/v2/caches?action=convert
POST /rest/v2/caches?action=convert
サーバー送信イベントを使用したキャッシュエントリーおよびキャッシュ設定リスナー
サーバー送信イベントを使用して、設定変更に関するイベントを受信します。
GET /rest/v2/container/config?action=listen
GET /rest/v2/container/config?action=listenCopy to Clipboard Copied! Toggle word wrap Toggle overflow サーバー送信イベントを使用して、キャッシュイベントを受信します。
GET /rest/v2/caches/{name}?action=listenGET /rest/v2/caches/{name}?action=listenCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.9. クエリー API リンクのコピーリンクがクリップボードにコピーされました!
Data Grid を使用すると、キャッシュをインデックス化し、Ickle クエリー言語で関連付けまたはフルテキストクエリーを実行できます。
クエリーによる削除
以下の構文を使用して、Data Grid キャッシュからエントリーを削除できます。
DELETE FROM <entityName> [WHERE condition]
DELETE FROM <entityName> [WHERE condition]
-
<entityName>で単一のエンティティーのみを参照します。DELETE クエリーは結合を使用できません。 - WHERE 条件は任意です。
クエリー実行メソッド
Query API は、キャッシュで Ickle クエリーを実行する 2 つの方法を提供します。
-
Query.execute()は SELECT ステートメントを実行し、結果を返します。 -
Query.executeStatement()は DELETE ステートメントを実行し、データを変更します。
常に executeStatement() を呼び出してデータを変更し、execute() を呼び出してクエリーの結果を取得する必要があります。
1.1.10. クロスサイトレプリケーション リンクのコピーリンクがクリップボードにコピーされました!
クロスサイトレプリケーションを使用すると、複数の地理的リージョンにまたがる Data Grid クラスターをバックアップできます。
可観測性およびメトリクスの改善
Data Grid 8.3 は、監視および統計を改善するために、クロスサイトのレプリケーション機能を更新します。
Data Grid を使用すると、以下が可能になります。
- CLI、REST API、または JMX 経由でバックアップの場所の詳細なステータスを取得します。
バックアップ場所のリレーノードの一覧を取得して、クロスサイト通信用に JGroups RELAY メッセージを送信するノードを見つけます。
注記JGroups 設定では、リレーノードを"site master"ノードと呼びます。Data Grid は、よりわかりやすく、より直感的な選択肢を提供するリレーノードを代わりに使用します。
Data Grid 8.3 では、各バックアップの場所およびキャッシュのクロスサイトレプリケーション操作 (応答時間や RELAY メッセージの数などを含む) に関する詳細なメトリクスも提供します。
グローバルクラスターの命名
cluster 属性を使用すると、ログメッセージに出力されるグローバルクラスターの名前を定義できます。これにより、Data Grid ログで、グローバルクラスターとローカルクラスターを簡単に区別できます。
cluster 属性で指定するグローバルクラスター名は、すべてのサイトで同じである必要があります。
デフォルトでは、クロスサイトクラスターの名前は "xsite" ですが、以下の例で "my-global-cluster" などのカスタム名を指定できます。
<remote-sites default-stack="tcp" cluster="my-global-cluster"> <remote-site name="LON"/> <remote-site name="NYC"/> </remote-sites>
<remote-sites default-stack="tcp" cluster="my-global-cluster">
<remote-site name="LON"/>
<remote-site name="NYC"/>
</remote-sites>
1.1.11. ローリングアップグレードおよび Hot Rod の移行 リンクのコピーリンクがクリップボードにコピーされました!
Data Grid 8.3 は、クラスター間でデータの移行を実行するための設定およびメカニズムを簡素化し、あるバージョンから別のバージョンに移動します。Data Grid 8.3 でのローリングアップグレード:
-
ローリングアップグレードを実行するために
remote-store設定を手動でキャッシュに追加する必要がなくなりました。
CLI または REST API を使用して、ソースおよびターゲットクラスターを接続します。 - ローリングアップグレード操作のための REST API および CLI コマンドに追加のメソッドを提供します。
- コンソール、CLI、REST API、または Hot Rod API を介して動的に作成するキャッシュを使用し、ローリングアップグレードを実行することができます。