2015-03-03 38 views
1

在Apache Cassandra 2.1.2中執行DateTieredCompactionStrategy。使用複合聚類密鑰?DateTieredCompactionStrategy使用組合鍵嗎?

更具體地說,像這個表在哪裏(時間戳,哈希)構成了一個複合聚集關鍵字:

CREATE TABLE sensordata (
    timeblock int, 
    timestamp timestamp, 
    hash int, 
    data blob, 
    PRIMARY KEY (timeblock, timestamp, hash) 
) 

我相信,在DateTieredCompactionStrategy將工作PRIMARY KEY (timeblock, timestamp) - 但它也工作了PRIMARY KEY (timeblock, timestamp, hash)

回答

2

DTCS將在壓實期間合併類似的老化表。它並不關心你的PK。由於您的示例中的所有行仍將按時間戳聚集,因此您應該沒問題。

+0

所以年齡不是從時間戳(列標題)派生,而是從實際寫入時間(系統時間)? – tbsalling 2015-03-03 09:57:16

+0

年齡來自sstable的任何值的最近/最舊的時間戳。這些上限/下限年齡值將用於分表表格。但是這些時間戳既不是表格刷新到磁盤時的時間戳,也不是數據模型中的任何列值。請記住,Cassandra中的每個列值都有其自己的關聯時間戳,無論其實際時間戳類型或文本或任何其他數據類型。 – 2015-03-03 10:31:45