6.16. キャッシュストア間のデータの移行
Data Grid は、あるキャッシュストアから別のキャッシュストアにデータを移行するユーティリティーを提供します。
6.16.1. キャッシュストアマイグレーター リンクのコピーリンクがクリップボードにコピーされました!
Data Grid は、最新の Data Grid キャッシュストア実装のデータを再作成する StoreMigrator.java ユーティリティーを提供します。
StoreMigrator は以前のバージョンの Data Grid のキャッシュストアを取得し、キャッシュストア実装をターゲットとして使用します。
StoreMigrator を実行すると、EmbeddedCacheManager インターフェイスを使用して定義したキャッシュストアタイプでターゲットキャッシュが作成されます。StoreMigrator は、ソースストアからメモリーにエントリーを読み込み、それらをターゲットキャッシュに配置します。
StoreMigrator を使用すると、あるタイプのキャッシュストアから別のストアにデータを移行することもできます。たとえば、JDBC String ベースのキャッシュストアから RocksDB キャッシュストアに移行することができます。
StoreMigrator は、セグメント化されたキャッシュストアから以下にデータを移行できません。
- 非セグメント化されたキャッシュストア。
- セグメント数が異なるセグメント化されたキャッシュストア。
6.16.2. キャッシュストアマイグレーターの取得 リンクのコピーリンクがクリップボードにコピーされました!
StoreMigrator は、Data Grid ツールライブラリー infinispan-tools の一部として利用でき、Maven リポジトリーに含まれます。
手順
StoreMigratorのpom.xmlを以下のように設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.16.3. キャッシュストアマイグレーターの設定 リンクのコピーリンクがクリップボードにコピーされました!
migrator.properties ファイルを使用して、ソースおよびターゲットのキャッシュストアのプロパティーを設定します。
手順
-
migrator.propertiesファイルを作成します。 migrator.propertiesファイルを使用して、ソースおよびターゲットのキャッシュストアのプロパティーを設定します。source.接頭辞をソースキャッシュストアの全設定プロパティーに追加します。ソースキャッシュストアの例
source.type=SOFT_INDEX_FILE_STORE source.cache_name=myCache source.location=/path/to/source/sifs source.version=<version>
source.type=SOFT_INDEX_FILE_STORE source.cache_name=myCache source.location=/path/to/source/sifs source.version=<version>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要セグメント化されたキャッシュストアからデータを移行するには、
source.segment_countプロパティーを使用してセグメント数も設定する必要があります。セグメント数は、Data Grid 設定のclustering.hash.numSegmentsと一致させる必要があります。キャッシュストアのセグメント数が対応するキャッシュのセグメント数と一致しないと、Data Grid がキャッシュストアからデータを読み取ることができません。target.接頭辞をターゲットキャッシュストアの全設定プロパティーに追加します。ターゲットキャッシュストアの例
target.type=SINGLE_FILE_STORE target.cache_name=myCache target.location=/path/to/target/sfs.dat
target.type=SINGLE_FILE_STORE target.cache_name=myCache target.location=/path/to/target/sfs.datCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.16.3.1. キャッシュストアマイグレーターの設定プロパティー リンクのコピーリンクがクリップボードにコピーされました!
ソースおよびターゲットのキャッシュストアを StoreMigrator プロパティーで設定します。
| プロパティー | 説明 | 必須/オプション |
|---|---|---|
|
| ソースまたはターゲットのキャッシュストアのタイプを指定します。
| 必須 |
| プロパティー | 説明 | 値の例 | 必須/オプション |
|---|---|---|---|
|
| バックアップするキャッシュの名前。 |
| 必須 |
|
| セグメンテーションを使用できるターゲットキャッシュストアのセグメント数。
セグメント数は、Data Grid 設定の |
| 任意 |
| プロパティー | 説明 | 必須/オプション |
|---|---|---|
|
| 基礎となるデータベースのダイアレクトを指定します。 | 必須 |
|
|
ソースキャッシュストアのマーシャラーバージョンを指定します。
* Data Grid 7.2.x の場合は
* Data Grid 7.3.x の場合は
* Data Grid 8.0.x の場合は
* Data Grid 8.1.x の場合は
* Data Grid 8.2.x の場合は
* Data Grid 8.3.x の場合は | ソースストアにのみ必要です。 |
|
| カスタムマーシャラークラスを指定します。 | カスタムマーシャラーを使用する場合に必要です。 |
|
|
| 任意 |
|
| JDBC 接続 URL を指定します。 | 必須 |
|
| JDBC ドライバーのクラスを指定します。 | 必須 |
|
| データベースユーザー名を指定します。 | 必須 |
|
| データベースユーザー名のパスワードを指定します。 | 必須 |
|
| データベース upsert を無効にします。 | 任意 |
|
| テーブルインデックスが作成されるかどうかを指定します。 | 任意 |
|
| テーブル名の追加接頭辞を指定します。 | 任意 |
|
| 列名を指定します。 | 必須 |
|
| 列タイプを指定します。 | 必須 |
|
|
| 任意 |
Binary キャッシュストアから古い Data Grid バージョンの移行には、以下のプロパティーで table.string.* を table.binary.\* に変更します。
-
source.table.binary.table_name_prefix -
source.table.binary.<id\|data\|timestamp>.name -
source.table.binary.<id\|data\|timestamp>.type
| プロパティー | 説明 | 必須/オプション |
|---|---|---|
|
| データベースディレクトリーを設定します。 | 必須 |
|
| 使用する圧縮タイプを指定します。 | 任意 |
Example configuration for migrating from a RocksDB cache store.
# Example configuration for migrating from a RocksDB cache store.
source.type=ROCKSDB
source.cache_name=myCache
source.location=/path/to/rocksdb/database
source.compression=SNAPPY
| プロパティー | 説明 | 必須/オプション |
|---|---|---|
|
|
キャッシュストア | 必須 |
Example configuration for migrating to a Single File cache store.
# Example configuration for migrating to a Single File cache store.
target.type=SINGLE_FILE_STORE
target.cache_name=myCache
target.location=/path/to/sfs.dat
| プロパティー | 説明 | 値 |
|---|---|---|
| 必須/オプション |
| データベースディレクトリーを設定します。 |
| 必須 |
| データベースインデックスディレクトリーを設定します。 |
Example configuration for migrating to a Soft-Index File cache store.
# Example configuration for migrating to a Soft-Index File cache store.
target.type=SOFT_INDEX_FILE_STORE
target.cache_name=myCache
target.location=path/to/sifs/database
target.location=path/to/sifs/index
6.16.4. Data Grid キャッシュストアの移行 リンクのコピーリンクがクリップボードにコピーされました!
StoreMigrator を使用して、異なる Data Grid バージョンのキャッシュストア間でデータを移行したり、別のタイプのキャッシュストアにデータを移行したりできます。
前提条件
-
infinispan-tools.jarがある。 -
ソースとターゲットのキャッシュストアを
migrator.propertiesファイルで設定している。
手順
ソースコードから
infinispan-tools.jarをビルドした場合は、次の手順を実行します。-
infinispan-tools.jarをクラスパスに追加します。 - JDBC ドライバーなど、ソースデータベースとターゲットデータベースの依存関係をクラスパスに追加します。
-
migrator.propertiesファイルをStoreMigratorの引数として指定します。
-
Maven リポジトリーから
infinispan-tools.jarをプルした場合は、以下のコマンドを実行します。mvn exec:java
mvn exec:javaCopy to Clipboard Copied! Toggle word wrap Toggle overflow