Cassandra ドキュメント

バージョン

プレリリース版のドキュメントを表示しています。

単一値を持つカラムの作成(静的カラム)

静的カラムの値は、パーティション内の行間で共有されます。 cassandra.apache.org//glossary.html#clustering-column[クラスタリングカラム]を使用するテーブルでは、非クラスタリングカラムをテーブル定義で静的に宣言できます。cassandra.apache.org//glossary.html#static-column[静的カラム]は、特定のパーティション内でのみ静的です。

次の例では、flagカラムは静的です。

CREATE TABLE IF NOT EXISTS cycling.country_flag (
  country text,
  cyclist_name text,
  flag int STATIC,
  PRIMARY KEY (country, cyclist_name)
);
INSERT INTO cycling.country_flag (
  country, cyclist_name, flag
) VALUES (
  'Belgium', 'Jacques', 1
);

INSERT INTO cycling.country_flag (
  country, cyclist_name
) VALUES (
  'Belgium', 'Andre'
);

INSERT INTO cycling.country_flag (
  country, cyclist_name, flag
) VALUES (
  'France', 'Andre', 2
);

INSERT INTO cycling.country_flag (
  country, cyclist_name, flag
) VALUES (
  'France', 'George', 3
);
  • CQL

  • 結果

SELECT *
FROM cycling.country_flag;
 country | cyclist_name | flag
---------+--------------+------
 Belgium |        Andre |    1
 Belgium |      Jacques |    1
  France |        Andre |    3
  France |       George |    3

(4 rows)

次の制限事項が適用されます。

  • クラスタリングカラムを定義していないテーブルには、静的カラムを含めることはできません。クラスタリングカラムを持たないテーブルは、すべてのカラムが本質的に静的な単一行パーティションを持ちます。

  • パーティションキーとして指定されたカラムは、静的にすることはできません。

静的カラムへのバッチ条件付き更新を行うことができます。

静的カラムを選択するには、DISTINCTキーワードを使用します。この場合、データベースはパーティションの先頭(静的カラム)のみを取得します。