2014-11-04 102 views
0

據我所知,在列族級別上指定了一個比較器。到目前爲止,我已將它與動態列(寬行)一起使用。當您使用CQL創建靜態列族時,Cassandra使用哪種類型的比較器?Cassandra如何對靜態列族排序

CREATE TABLE songs (
    id uuid PRIMARY KEY, 
    title text, 
    album text, 
    artist text, 
    data blob 
); 

以及如果將組合鍵放入組合中會發生什麼情況。

CREATE TABLE songs (
    id uuid, 
    title text, 
    album text, 
    artist text, 
    data blob, 
    PRIMARY KEY ((id, title), album) 
); 

回答

2

http://cassandra.apache.org/doc/cql3/CQL.html#createTablepartitionClustering

http://www.datastax.com/documentation/cql/3.1/cql/ddl/ddl_compound_keys_c.html

在給定的物理節點,對於給定的分區鍵行存儲在由聚類列產生的順序。

所以在第二個情況下,你的分區鍵是(id, title)和集羣關鍵是album,這意味着所有的行,一個給定的分區鍵將被存儲在由album

+0

好吧下令卻怎麼也非主鍵如果您未在列系列中指定比較器,則會定購這些列。排序對於切片來說很重要。但我認爲這只是使用'org.apache.cassandra.db.marshal.UTF8Type' – reikje 2014-11-05 08:25:00

+0

是的,他們是按列名排序的 – 2014-11-05 19:51:01