DSEインメモリーを使用するテーブルの作成または変更
CQLディレクティブを使用して、DSEインメモリーを使用するテーブルを作成または変更します。
CQLディレクティブを使用して、DSEインメモリーを使用するテーブルを作成または変更し、dse.yamlを使用して、テーブルのサイズを制限します。
DSEインメモリーを使用するテーブルの作成
DSEインメモリーを使用するテーブルを作成するには、CQLディレクティブをCREATE TABLE文に追加します。文でコンパクション・ディレクティブを使用して、MemoryOnlyStrategyクラスを指定し、圧縮を無効にして、キーと行のキャッシュを無効にします。
CREATE TABLE customers (
uid text,
fname text,
lname text,
PRIMARY KEY (uid)
) WITH compaction={'class':'MemoryOnlyStrategy' }
AND compression = {'sstable_compression':''}
AND caching = {'keys':'NONE', 'rows_per_partition':'NONE'};
DSEインメモリーを使用する既存のテーブルの変更
ALTER TABLE文を使用して、インメモリーを使用するように従来のテーブルを変更します。または、インメモリー・テーブルを従来のテーブルに変更します。たとえば、employeeというテーブルにDESCRIBE
コマンドを使用します。DESCRIBE
コマンドの出力に次のような行が含まれていないため、employeeが従来のテーブルであることを確認します。
compaction = { 'class' :'MemoryOnlyStrategy'} >
DSEインメモリーを使用するようにemployeeテーブルを変更し、ベスト・プラクティスとしてキャッシングを無効にします。
ALTER TABLE employee WITH compaction= { 'class':'MemoryOnlyStrategy' }
AND compression = {'sstable_compression':''}
AND caching = {'keys':'NONE', 'rows_per_partition':'NONE'};
テーブル・サイズの制限
dse.yamlファイルでmax_memory_to_lock_fraction構成オプションまたはmax_memory_to_lock_mb構成オプションを使用して、すべてのインメモリー・テーブルに使用するシステム・メモリーの容量を指定します。
max_memory_to_lock_fraction | システム・メモリーに対する割合を指定します。デフォルト値の0.20は、システム・メモリーの最大20%を使用することを指定します。 |
max_memory_to_lock_mb | メモリの最大容量をMBで指定します。 |
dse.yamlファイルの場所は、インストールのタイプによって異なります。
Installer-Services | /etc/dse/dse.yaml |
パッケージ・インストール | /etc/dse/dse.yaml |
Installer-No Services | install_location/resources/dse/conf/dse.yaml |
tarボール・インストール | install_location/resources/dse/conf/dse.yaml |
テーブルでのキャッシングの無効化
DataStaxでは、DSEインメモリー・オプションを使用するテーブルでキャッシングを無効にすることを推奨しています。キャッシングが無効になっていない場合、警告がログに書き込まれます。テーブル・キャッシング・プロパティを以下のように設定して、キャッシング・タイプを両方とも無効にします。
ALTER TABLE customers WITH caching = {'keys':'NONE',
'rows_per_partition':'NONE'};