コレクションの作成
コレクション型は、テーブル・カラムにデータをグループ分けして格納する1つの方法を提供します。
Cassandraは、カラムにデータをグループ分けして格納する1つの方法としてのコレクション型を提供します。たとえば、リレーショナル・データベースでは、ユーザーの複数の電子メール・アドレスなどのグループ分けはユーザー・テーブルと電子メール・テーブル間の多対一結合関係に関連しています。Cassandraでは、ユーザー・テーブルのコレクション?カラム内にユーザーの電子メール・アドレスを格納することによって、2つのテーブル間の結合を避けます。各コレクションは、維持されているデータのデータ型を指定します。
コレクションは、コレクション・ストレージのデータが制限される場合に、適しています。送信されるメッセージまたは毎秒登録されるセンサー・イベントのように、データが無限に成長する可能性がある場合は、コレクションは使用しないでください。代わりに、クラスター化カラムにデータを格納する複合プライマリ・キーを持つテーブルを使用してしてください。
CQLには、以下のコレクション型が含まれます。
以下のコレクションの制限事項を確認してください。
- クエリーされる項目数は20億のみであるため、コレクションには20億より多くの項目を挿入しないでください。
map
コレクションのキーの最大数は65,535です。list
コレクションまたはmap
コレクションの項目の最大サイズは2GBです。set
コレクションの項目の最大サイズは65,535バイトです。- クエリー中の遅延を防ぐために、コレクションは小さいサイズを維持してください。
コレクションは"スライス"できません。Cassandraは、コレクション全体を読み込むため、パフォーマンスに影響します。したがって、コレクションはリストされた上限よりはるかに小さくする必要があります。コレクションは内部でページングされません。
- 一部の挿入操作では、リストは「書き込み前の読み取り」操作を招く場合があります。可能な限り、リストよりもセットが優先されます。
注: コレクションに指定されている制限は、frozen以外のコレクションに関するものです。
個々のtime-to-live(TTL)プロパティを設定することで、コレクションの各要素の有効期限を設定できます。
「Using frozen in a collection(コレクションでのfrozenの使用)」も参照してください。