CQL3 の出現により、用語は古い倹約用語からわずかに変更されました。
基本的
Create Table foo (a int , b int, c int, d int, PRIMARY KEY ((a,b),c))
CQL3 テーブルを作成します。a と b の情報は、パーティション キーを作成するために使用されます。これは、情報が存在するノードを記述します。これが20億セル制限で語られる「パーティション」です。
そのパーティション内では、情報はクラスタリング キーと呼ばれる c によって編成されます。a、b、および c を組み合わせて、d の一意の値を定義します。この場合、パーティション内のセルの数は c * d になります。したがって、この例では、a と b の任意のペアに対して、c と d の組み合わせは 20 億通りしかありません。
したがって、データをモデル化するときは、データが Cassandra 全体にランダムに分散されるように、主キーが変化することを確認する必要があります。次に、クラスタリング キーを使用して、データが希望どおりに利用できるようにします。
cassandra で
の Datmodeling の詳細については、このビデオをご覧ください。
編集:コメントからのもう1つの例
Create Table foo (a int , b int, c int, d int, e int, f int, PRIMARY KEY ((a,b),c,d))
パーティションは、a と b の組み合わせによって一意に識別されます。
パーティション c と d 内では、パーティション内のセルを並べ替えるために使用されるため、レイアウトは次のようになります。
(a1,b1) --> [c1,d1 : e1], [c1,d1 :f1], [c1,d2 : e2] ....
したがって、この例では、各セルに以下を含む 20 億個のセルを含めることができます。
したがって、20 億の制限は、 と の一意のタプルの合計を指し(c,d,e)
ます(c,d,f)
。