2015-03-03 2 views
1

Имеет ли DateTieredCompactionStrategy в Apache Cassandra 2.1.2. работать с составным ключом кластеризации?Работает ли 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 будет просто сливать аналогичные старые столы во время уплотнения. Это не очень заботит ваш ПК. Поскольку все строки для вашего примера по-прежнему будут кластеризованы по метке времени, вы должны быть в порядке.

+0

Значит, возраст не получен из метки времени (заголовок столбца), а из фактического времени записи (системного времени)? – tbsalling

+0

Возраст получен из самой последней/самой старой отметки времени из любого значения sstable. Эти значения верхнего и нижнего границ будут использоваться для таблиц bucketing. Но эти временные метки не являются ни меткой времени, когда таблица была сброшена на диск или любое значение столбца в вашей модели данных. Имейте в виду, что каждое значение столбца в Cassandra имеет свою собственную временную метку, будь то фактический тип метки времени или текст или любой другой тип данных. –

Смежные вопросы