10.2.6. RocksDB キャッシュストア
RocksDB は、同時環境のパフォーマンスと信頼性が高いキー/ファイルシステムベースのストレージを提供します。
RocksDB キャッシュストア RocksDBStore
は、2 つのデータベースを使用します。1 つのデータベースは、データをメモリーに主要なキャッシュストアを提供します。他のデータベースには、Data Grid がメモリーから失効するエントリーを保持します。
宣言型設定
プログラムによる設定
パラメーター | 説明 |
---|---|
| プライマリーキャッシュストアを提供する RocksDB データベースへのパスを指定します。ロケーションを設定しない場合には、自動的に作成されます。パスはグローバル永続の場所と相対的である必要があります。 |
| 期限切れのデータのキャッシュストアを提供する RocksDB データベースへのパスを指定します。ロケーションを設定しない場合には、自動的に作成されます。パスはグローバル永続の場所と相対的である必要があります。 |
| 期限切れのエントリーのためにインメモリーキューのサイズを設定します。キューがサイズに達すると、Data Grid は期限切れの RocksDB キャッシュストアにフラッシュします。 |
| RocksDB データベースを削除し、再初期化する (re-init) 前にエントリーの最大数を設定します。サイズが小さいキャッシュストアの場合、すべてのエントリーを繰り返し処理し、各エントリーを個別に削除すると、より高速な方法が得られます。 |
RocksDB チューニングパラメーター
以下の RocksDB チューニングパラメーターを指定することもできます。
-
compressionType
-
blockSize
-
cacheSize
RocksDB 設定プロパティー
任意で、以下のように設定でプロパティーを設定します。
-
RocksDB データベースを調整およびチューニングするために、プロパティーの前に
database
接頭辞を追加します。 -
プロパティーの前に
data
接頭辞を追加して、RocksDB がデータを格納する列ファミリーを設定します。
<property name="database.max_background_compactions">2</property> <property name="data.write_buffer_size">64MB</property>
<property name="database.max_background_compactions">2</property>
<property name="data.write_buffer_size">64MB</property>
セグメンテーション
RocksDBStore
はセグメンテーションをサポートし、セグメントごとに個別の列ファミリーを作成します。セグメント化された RocksDB キャッシュストアは、ルックアップのパフォーマンスと反復が改善されますが、書き込み操作のパフォーマンスに若干低下します。
数百のセグメントを複数設定しないでください。RocksDB は、列ファミリーの数を無制限に指定するように設計されていません。セグメントが多すぎると、キャッシュストアの起動時間が大幅に増加します。