19.9. Cassandra キャッシュストア


Red Hat JBoss Data Grid は、Apache Cassandra がキャッシュストアとして機能することを可能にし、分散データベースアーキテクチャーから実質的に無制限の、水平方向に拡張可能な、キャッシュエントリーの永続ストアを提供できるようにします。
Cassandra キャッシュストアを使用するには、適切なキースペースを Cassandra データベースに作成する必要があります。これは自動的に実行するか、またはキャッシュストア設定で auto-create-keyspace パラメーターを有効にして実行できます。キースペースの作成例は以下のとおりです。
CREATE KEYSPACE IF NOT EXISTS Infinispan WITH replication = {'class':'SimpleStrategy', 'replication_factor':1};
CREATE TABLE Infinispan.InfinispanEntries (key blob PRIMARY KEY, value blob, metadata blob);
Copy to Clipboard Toggle word wrap

19.9.1. Cassandra キャッシュストアの有効化

Cassandra キャッシュストアは、ダウンロードされたディストリビューションをベースに組み込まれます。以下は、これが置かれる場所、および必要な場合にこれを有効にする手順を示しています。
  • ライブラリーモード: infinispan-cachestore-cassandra-8.3.0.final-redhat-1-deployable.jarjboss-datagrid-${jdg-version}-library/ ディレクトリーに組み込まれており、Cassandra キャッシュストアを使用しているすべてのプロジェクトに追加できます。
  • リモートクライアントサーバーモード: Cassandra キャッシュストアはサーバーの modules/ ディレクトリーに事前にパッケージ化されており、追加の設定なしにデフォルトで使用できます。
  • JBoss EAP の JBoss Data Grid モジュール: Cassandra キャッシュストアは配信されるモジュールに組み込まれており、モジュール名として org.infinispan.persistence.cassandra を使用して追加できます。

19.9.2. Cassandra キャッシュストアの XML 設定例 (リモートクライアントサーバーモード)

リモートクライアントサーバーモードでは、Cassandra キャッシュストアは、クラス org.infinispan.persistence.cassandra.CassandraStore を使用し、プロパティーをストア内に個別に定義することによって定義されます。
以下の設定スニペットは、xml ファイル内に Cassandra キャッシュストアを定義する方法についての例を示しています。
<local-cache name="cassandracache" start="EAGER">
    <locking acquire-timeout="30000" concurrency-level="1000" striping="false"/>
    <transaction mode="NONE"/>
    <store name="cassstore1" 
           class="org.infinispan.persistence.cassandra.CassandraStore" 
           shared="true" 
           passivation="false">
        <property name="autoCreateKeyspace">true</property>
        <property name="keyspace">store1</property>
        <property name="entryTable">entries1</property>
        <property name="consistencyLevel">LOCAL_ONE</property>
        <property name="serialConsistencyLevel">SERIAL</property>
        <property name="servers">127.0.0.1[9042],127.0.0.1[9041]</property>
        <property name="connectionPool.heartbeatIntervalSeconds">30</property>
        <property name="connectionPool.idleTimeoutSeconds">120</property>
        <property name="connectionPool.poolTimeoutMillis">5</property>
    </store>
</local-cache>
Copy to Clipboard Toggle word wrap

19.9.3. Cassandra キャッシュストアの XML 設定例 (ライブラリーモード)

ライブラリーモードでは、Cassandra キャッシュストアは 2 つの異なるメソッドを使って設定することができます。
  • オプション 1: 「Cassandra キャッシュストアの XML 設定例 (リモートクライアントサーバーモード)」で説明されている リモートクライアントサーバーモードで使用されるのと同じメソッドの使用。
  • オプション 2: cassandra-store スキーマの使用。以下のスニペットは、Cassandra キャッシュストアを定義する設定例を示しています。
    <cache-container default-cache="cassandracache">
      <local-cache name="cassandracache">
        <persistence passivation="false">
          <cassandra-store xmlns="urn:infinispan:config:store:cassandra:8.2" 
                auto-create-keyspace="true" 
                keyspace="Infinispan" 
                entry-table="InfinispanEntries" shared="true">
            <cassandra-server host="127.0.0.1" port="9042" />
            <connection-pool heartbeat-interval-seconds="30" 
                idle-timeout-seconds="120" 
                pool-timeout-millis="5" />
          </cassandra-store>
        </persistence>
      </local-cache>
    </cache-container>
    Copy to Clipboard Toggle word wrap

19.9.4. Cassandra 設定パラメーター

ライブラリーモードでバッキング Cassandra インスタンスを定義する場合に、1 つ以上の cassandra-server 要素を設定に指定できます。要素のそれぞれには以下のプロパティーがあります。
Expand
表19.1 Cassandra サーバー設定パラメーター
パラメーター名 説明 デフォルト値
host Cassandra サーバーのホスト名または IP アドレス。 127.0.0.1
port サーバーがリッスンしているポート。 9042
以下のプロパティーを Cassandra キャッシュストアに設定できます。
Expand
表19.2 Cassandra 設定パラメーター
パラメーター名 説明 デフォルト値
auto-create-keyspace キースペースおよびエントリーテーブルを起動時に自動作成する必要があるかどうかを決定します。 true
keyspace 使用するキースペースの名前。 Infinispan
entry-table エントリーを格納するテーブルの名前。 InfinispanEntries
consistency-level クエリーに使用する整合性レベル LOCAL_ONE
serial-consistency-level クエリーに使用するシリアル整合性レベル SERIAL
connection-pool も以下の要素で定義できます。
Expand
表19.3 接続プール設定パラメーター
パラメーター名 説明 デフォルト値
pool-timeout-millis ホストプールからの接続が利用できない場合にドライバーがブロックする時間。このタイムアウトの後にドライバーは次のホストを試行します。 5
heartbeat-interval-seconds アクティビティーが実行されていない場合に接続がドロップされるのを防ぐためのアプリケーション側のハートビート。無効にするには 0 に設定します。 30
idle-timeout-seconds アイドル接続が削除される前のタイムアウト。 120
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat