http://www.datastax.com/documentation/cassandra/1.2/cassandra/cql_reference/create_table_r.htmlの Datastax サイトのドキュメントを読んでいると、 「複合パーティション キーを使用すると、Cassandra は列を処理します。ネストされた括弧内にパーティション キーとして格納し、行の列を複数のノードに格納します。」
与えられた例は次のとおりです。
特定の行の連続した「列」として実際にディスクに格納される方法に関して、クラスター列 (この場合は color と short_hair) がどのように機能するかを理解しています。私が理解していないのは、「...行の列を複数のノードに格納する」という行です。これは正しいですか?
特定の block_id と品種について、この複合キーは「block_id + 品種」のようなパーティション キーを作成するだけではありません。この場合、列/クラスターは同じ行にあり、その物理的な場所はパーティション キーによって決定されます ( block_id + 品種) ?
それとも、主キーが 2 つのフィールドに基づいているため、この行で何らかの分割が行われているのでしょうか?
編集:以下のリチャードの答えはおそらく正しいと思いますが、私が投稿した最初の引用を強制する1.2のDatastaxドキュメントでもこれに出くわしました:
「複合パーティション キー - テーブルの PRIMARY KEY 定義のネストされた括弧で宣言されたパーティション キーを使用して、行の列を複数のノードに格納します。」
なぜ複数のパーティション キー* s * を使用すると言うのでしょうか... 私の知る限り、複合キーを構成するフィールドは唯一の行キーを構成し、それらはすべてキーの作成に使用されます。
次に、行の列を分割できると言います。これは、(特定のパーティション キーを持つ) 単一の行が異なるノードでその列を分割できることを意味します。つまり、複合キーのフィールドは個別に処理されます。 .
Datastax のドキュメントと、それが実際に正しいかどうかについては、まだ少し混乱しています。