6.16. キャッシュストア間のデータの移行


Data Grid は、あるキャッシュストアから別のキャッシュストアにデータを移行するユーティリティーを提供します。

6.16.1. キャッシュストアマイグレーター

Data Grid は、最新の Data Grid キャッシュストア実装のデータを再作成する CLI migrate store コマンドを提供します。

ストアマイグレーターは、以前のバージョンの Data Grid のキャッシュストアをソースとして取得し、キャッシュストアの実装をターゲットとして使用します。

ストアマイグレーターを実行すると、EmbeddedCacheManager インターフェイスを使用して定義したキャッシュストアタイプでターゲットキャッシュが作成されます。ストアマイグレーターは、ソースストアからメモリーにエントリーをロードし、それらをターゲットキャッシュに配置します。

ストアマイグレーターを使用すると、あるタイプのキャッシュストアから別のストアにデータを移行することもできます。たとえば、JDBC 文字列ベースのキャッシュストアから、SIFS キャッシュストアに移行できます。

重要

ストアマイグレーターは、セグメント化されたキャッシュストアから以下へはデータを移行できません。

  • 非セグメント化されたキャッシュストア。
  • セグメント数が異なるセグメント化されたキャッシュストア。

6.16.2. キャッシュストアマイグレーターの設定

migrator.properties ファイルを使用して、ソースおよびターゲットのキャッシュストアのプロパティーを設定します。

手順

  1. migrator.properties ファイルを作成します。
  2. migrator.properties ファイルを使用して、ソースおよびターゲットのキャッシュストアのプロパティーを設定します。

    1. source. 接頭辞をソースキャッシュストアの全設定プロパティーに追加します。

      ソースキャッシュストアの例

      source.type=SOFT_INDEX_FILE_STORE
      source.cache_name=myCache
      source.location=/path/to/source/sifs
      source.version=<version>

      重要

      セグメント化されたキャッシュストアからデータを移行するには、source.segment_count プロパティーを使用してセグメント数も設定する必要があります。セグメント数は、Data Grid 設定の clustering.hash.numSegments と一致させる必要があります。キャッシュストアのセグメント数が対応するキャッシュのセグメント数と一致しないと、Data Grid がキャッシュストアからデータを読み取ることができません。

    2. target. 接頭辞をターゲットキャッシュストアの全設定プロパティーに追加します。

      ターゲットキャッシュストアの例

      target.type=SINGLE_FILE_STORE
      target.cache_name=myCache
      target.location=/path/to/target/sfs.dat

6.16.2.1. キャッシュストアマイグレーターの設定プロパティー

ソースおよびターゲットのキャッシュストアを StoreMigrator プロパティーで設定します。

表6.2 キャッシュストアタイププロパティー
プロパティー説明必須/オプション

type

ソースまたはターゲットのキャッシュストアのタイプを指定します。

.type=JDBC_STRING

.type=JDBC_BINARY

.type=JDBC_MIXED

.type=LEVELDB

.type=ROCKSDB

.type=SINGLE_FILE_STORE

.type=SOFT_INDEX_FILE_STORE

.type=JDBC_MIXED

必須

表6.3 一般的なプロパティー
プロパティー説明値の例必須/オプション

cache_name

バックアップするキャッシュの名前。

.cache_name=myCache

必須

segment_count

セグメンテーションを使用できるターゲットキャッシュストアのセグメント数。

セグメント数は、Data Grid 設定の clustering.hash.numSegments と一致させる必要があります。キャッシュストアのセグメント数が対応するキャッシュのセグメント数と一致しないと、Data Grid がキャッシュストアからデータを読み取ることができません。

.segment_count=256

任意

marshaller.class

カスタムマーシャラークラスを指定します。

カスタムマーシャラーを使用する場合に必要です。

marshaller.allow-list.classes

デシリアライズが許可される完全修飾クラス名のコンマ区切りリストを指定します。

任意

marshaller.allow-list.regexps

どのクラスのデシリアライズを許可するかを決定する正規表現のコンマ区切りリストを指定します。

任意

marshaller.externalizers

[id]:<Externalizer class> 形式で読み込むカスタム AdvancedExternalizer 実装のコンマ区切りリストを指定します。

任意

表6.4 JDBC プロパティー
プロパティー説明必須/オプション

dialect

基礎となるデータベースのダイアレクトを指定します。

必須

version

ソースキャッシュストアのマーシャラーバージョンを指定します。
以下のいずれかの値を設定します。

* Data Grid 7.2.x の場合は 8

* Data Grid 7.3.x の場合は 9

* Data Grid 8.0.x の場合は 10

* Data Grid 8.1.x の場合は 11

* Data Grid 8.2.x の場合は 12

* Data Grid 8.3.x の場合は 13

ソースストアにのみ必要です。

connection_pool.connection_url

JDBC 接続 URL を指定します。

必須

connection_pool.driver_class

JDBC ドライバーのクラスを指定します。

必須

connection_pool.username

データベースユーザー名を指定します。

必須

connection_pool.password

データベースユーザー名のパスワードを指定します。

必須

db.disable_upsert

データベース upsert を無効にします。

任意

db.disable_indexing

テーブルインデックスが作成されるかどうかを指定します。

任意

table.string.table_name_prefix

テーブル名の追加接頭辞を指定します。

任意

table.string.<id|data|timestamp>.name

列名を指定します。

必須

table.string.<id|data|timestamp>.type

列タイプを指定します。

必須

key_to_string_mapper

TwoWayKey2StringMapper クラスを指定します。

任意

注記

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 to a JDBC String-Based cache store
target.type=STRING
target.cache_name=myCache
target.dialect=POSTGRES
target.marshaller.class=org.infinispan.commons.marshall.JavaSerializationMarshaller
target.marshaller.allow-list.classes=org.example.Person,org.example.Animal
target.marshaller.allow-list.regexps="org.another.example.*"
target.marshaller.externalizers=25:Externalizer1,org.example.Externalizer2
target.connection_pool.connection_url=jdbc:postgresql:postgres
target.connection_pool.driver_class=org.postrgesql.Driver
target.connection_pool.username=postgres
target.connection_pool.password=redhat
target.db.disable_upsert=false
target.db.disable_indexing=false
target.table.string.table_name_prefix=tablePrefix
target.table.string.id.name=id_column
target.table.string.data.name=datum_column
target.table.string.timestamp.name=timestamp_column
target.table.string.id.type=VARCHAR
target.table.string.data.type=bytea
target.table.string.timestamp.type=BIGINT
target.key_to_string_mapper=org.infinispan.persistence.keymappers. DefaultTwoWayKey2StringMapper
表6.5 RocksDB プロパティー
プロパティー説明必須/オプション

location

データベースディレクトリーを設定します。

必須

圧縮

使用する圧縮タイプを指定します。

任意

# 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
表6.6 SingleFileStore プロパティー
プロパティー説明必須/オプション

location

キャッシュストア .dat ファイルが含まれるディレクトリーを設定します。

必須

# 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
表6.7 SoftIndexFileStore プロパティー
プロパティー説明

必須/オプション

location

データベースディレクトリーを設定します。

必須

index_location

データベースインデックスディレクトリーを設定します。

# 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.3. Data Grid キャッシュストアの移行

ストアマイグレーターを実行して、あるキャッシュストアから別のキャッシュストアにデータを移行します。

前提条件

  • Data Grid CLI を入手している。
  • ソースおよびターゲットのキャッシュストアを設定する migrator.properties ファイルを作成している。

手順

  • migrate store -p /path/to/migrator.properties CLI コマンドを実行します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.