単純なプライマリ・キー

単純なプライマリ・キーは、どのノードがデータを格納するのかを指定するパーティション・キーだけで構成されます。

単純なプライマリ・キーを持つテーブルの場合、Cassandraはパーティション・キーとして1つのカラム名を使用します。この場合、プライマリ・キーは、パーティション・キーだけで構成されます。大量のデータが取り込まれても、プライマリ・キーを定義するカラムについて挿入される値がほどんどない場合は、パーティションが大きくなってしまう可能性があります。パーティションが大きくなると、読み取り要求に対する応答が遅くなったり、ノードに割り当てられたディスク領域に対して大きくなり過ぎてしまう可能性があります。その一方で、単純なプライマリ・キー付きで格納されたデータは、特定カラムに対する多くの値が、パーティションを多くのノードに分散させた場合に、挿入と取得が高速になります。

よくあるのは、Cassandraを初めて使うときに、単純なプライマリ・キーを持つテーブルを必要とするケースです。セカンダリ・インデックスが使用されていない場合は、テーブルからデータを取得するときに、プライマリ・キー以外は指定できないことを念頭に置いてください。多くの実稼働テーブルでは、単純なプライマリ・キーとして固有識別子を使用します。目的の識別子を検索すると、テーブル内の残りのデータが取得されます。あるアプリケーションで、単純なルックアップ・テーブルを必要とする場合は、単純なプライマリ・キーを使用します。ここに示したテーブルでは、プライマリ・キーとしてidを使用しています。



単一プライマリ・キーを持つテーブルを作成するには、2通りの方法があります。
  • CREATE TABLE定義で、カラム名の後にPRIMARY KEYキーワードを挿入します。
  • CREATE TABLE定義で、最後のカラム名の後にPRIMARY KEYキーワードを挿入し、その後にキーのカラム名を続けます。カラム名は丸かっこで囲みます。