ALTER MATERIALIZED VIEW

Cassandra 3.0以降でのマテリアライズド・ビューのプロパティを変更します。

Cassandra 3.0以降でのマテリアライズド・ビューのプロパティを変更します。

構文 

ALTER MATERIALIZED VIEW keyspace_name.view_name(WITH property AND property ...)

propertyは、speculative_retry = '10ms'のようなCQLテーブル・プロパティおよび値です。文字列プロパティは単一引用符で囲んでください。

構文の凡例 

  • 大文字はリテラルを意味する
  • 小文字は、リテラルでないことを意味する
  • イタリック体は指定が任意であることを意味する
  • パイプ(|)記号はORまたはAND/ORを意味する
  • 省略記号(...)は繰り返し可能を意味する
  • 範囲記号「(」および「)」はリテラルではなく、範囲を示す

この構文には、CQL文の終了となるセミコロンは含まれていません。

説明 

ALTER MATERIALIZED VIEWは、ビューのメタデータを操作します。ビューのプロパティは変更できます。結果は返されません。

ビュー名は、キースペースで修飾できます。たとえば、cyclingキースペース内のcyclist_by_ageを変更するには、以下のように記述します。

ALTER MATERIALIZED VIEW cycling.cyclist_by_age WITH ....

テーブル・プロパティの変更 

マテリアライズド・ビューの作成時に確立されたマテリアライズド・ビューのストレージ・プロパティを変更するには、ALTER MATERIALIZED VIEWとともに、プロパティの名前および値を含むWITHディレクティブを使用します。

複数のプロパティを変更するには、以下の例のようにANDを使用します。

ALTER MATERIALIZED VIEW cycling.cyclist_by_age WITH comment = 'A most excellent and useful view' AND bloom_filter_fp_chance = 0.02;

テキスト・プロパティ値は単一引用符で囲んでください。

圧縮とコンパクションの変更 

圧縮またはコンパクションのオプションを変更するには、プロパティ・マップを使用します。

ALTER MATERIALIZED VIEW cycling.cyclist_by_age WITH compression = { 'sstable_compression' :'DeflateCompressor', 'chunk_length_kb' :64 }; ALTER MATERIALIZED VIEW cycling.cyclist_by_age WITH compaction = {'class':'SizeTieredCompactionStrategy', 'cold_reads_to_omit': 0.05};
キャッシング・プロパティの値を変更します。たとえば、keysオプションをALL(デフォルト)からNONEに変更して、rows_per_partitionを15に変更します。
注: Cassandra 3.0以降では、SizeTieredCompactionStrategyに対するcold_reads_to_omitは除去されています。

キャッシングの変更 

Cassandra 2.1以降では、プロパティ・マップを使用してキャッシング・オプションを作成および変更します。

ALTER MATERIALIZED VIEW cycling.cyclist_by_age WITH caching = { 'keys' :'NONE', 'rows_per_partition' :'15' };

最後に、テーブル定義を見てみましょう。

DESCRIBE MATERIALIZED VIEW cycling.cyclist_by_age CREATE MATERIALIZED VIEW cycling.cyclist_by_age AS SELECT age, cid, birthday, country, name FROM cycling.cyclist_mv WHERE age IS NOT NULL AND cid IS NOT NULL PRIMARY KEY (age, cid) WITH CLUSTERING ORDER BY (cid ASC) AND bloom_filter_fp_chance = 0.02 AND caching = {'keys':'ALL', 'rows_per_partition':'NONE'} AND comment = 'A most excellent and useful view' AND compaction = {'class':'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold':'32', 'min_threshold':'4'} AND compression = {'chunk_length_in_kb':'64', 'class':'org.apache.cassandra.io.compress.DeflateCompressor'} AND crc_check_chance = 1.0 AND dclocal_read_repair_chance = 0.1 AND default_time_to_live = 0 AND gc_grace_seconds = 864000 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND min_index_interval = 128 AND read_repair_chance = 0.0 AND speculative_retry = '99PERCENTILE';