コレクション型

コレクション・カラムはコレクション型を使用して宣言します。コレクション型の後ろには、別の型を指定します。

コレクション・カラムはコレクション型を使用して宣言します。コレクション型の後ろに、intやtextなどの型を<>で囲みます。たとえば、テキスト要素のリスト、整数のリスト、またはその他の要素の型のリストを持つテーブルを作成できます。

list<text> list<int>

現在、コレクション型をネストすることはできません。たとえば、以下のように、リストの中にリストを定義することはできません。

list<list<int>> // ネストできない

Cassandra 2.1以降では、マップ、セット、またはリストの型のカラムにインデックスを作成することができます。

コレクション内でのfrozenの使用

frozen値は、複数のコンポーネントを1つの値にシリアライズします。frozen以外の型では、個々のフィールドを更新できます。Cassandraでは、frozen型の値はBLOBとして扱われます。値全体を上書きしなければなりません。

注: プライマリ・キー・カラムに対してfrozen以外のコレクションを使用することはできません。ただし、プライマリ・キー・カラムにはfrozenコレクションを使用できます。
column_name <collection_type><cql_type, frozen<column_name>>

例:

CREATE TABLE mykeyspace.users ( id uuid PRIMARY KEY, name frozen <fullname>, direct_reports set<frozen <fullname>>, // a collection set addresses map<text, frozen <address>> // a collection map );