2014-10-20 3 views
0

У меня есть таблица, в которой хранятся миллионы записей URL, даты и имени. Каждая строка является уникальной с точкой зрения либо:Как хранить таблицу Cassandra исключительно в порядке убывания даты?

url + date 

или

date + name. 

Я требую этой таблицы, чтобы хранить в порядке убывания даты, так что когда я запрашиваю это я просто могу «SELECT * FROM туЬаЫх LIMIT 1000 ", чтобы получить самые последние 1000 записей, без сортировки. Кто-нибудь знает, как это сделать, пожалуйста? Насколько мое понимания я стараюсь следующее, но не хранить их в хронологическом порядке:

CREATE TABLE mytable (
url text, 
date timestamp,  
name text, 
PRIMARY KEY ((url, name), date) 
) 
WITH CLUSTERING ORDER BY (date DESC); 
+0

Если вы не будете запрашивать URL-адрес и имя, я не думаю, что это хорошая идея, чтобы определить их как ключ раздела, я выберу дату (timestamp UUID) – Mouna

ответ

0

Для хранение данных в соответствии с заказом, то вы должны были бы изменить для разметки порядке байт. Это больше не является хорошей идеей ... это поддерживается для обратной Compat, но есть вопросы:

http://www.datastax.com/documentation/cassandra/2.1/cassandra/architecture/architecturePartitionerBOP_c.html

Вы также можете применить bucketing и запрос на ваши ведра. Каждое ведро представляет собой раздел, и каждый раздел будет хранить данные в порядке. Не совсем то, что вы хотите, но стоит попробовать.

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