2012-02-14 3 views
4

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

Итак, я хотел бы знать, если можно настроить в cassandra чистку этих данных.

Я пришел сюда, потому что я не нашел более глубокую информацию об очистке данных на странице cassandra.

Спасибо!

ответ

4

Еще не использовали его, но Cassandra 0.7 имеет TTL для столбцов. Может быть, это поможет вам, это будет в основном удалить столбцы после определенного периода времени прошло:

datastax blog post about it

0

Я знаю, что это старый вопрос, но и для любых Googlers, которые приходят вместе желающего ответ на версию 2 .x +, вот документ DataStax по адресу Determining Time To Live (TTL). Использование CQL с excelsior ключевого пространства и семьи clicks колонки, вы создаете таблицу, как обычно:

CREATE TABLE excelsior.clicks (
    userid uuid, 
    url text, 
    name text, 
    PRIMARY KEY (userid, url) 
); 

При вставке данных, можно указать положение USING TTL, а затем количество секунд, что данные должны сохраняться в течение :

INSERT INTO excelsior.clicks (
    userid, url, name) 
    VALUES (
    3715e600-2eb0-11e2-81c1-0800200c9a66, 
    'http://apache.org', 
    'Mary') 
    USING TTL 86400; 

Обратите внимание, что 86400 - это количество секунд в сутки. Вы также можете установить TTL с помощью prepared statement в Java CQL Driver, просто обработав его как любой другой связанный параметр:

String strCQL = "INSERT INTO excelsior.clicks (userid, url, name) " 
    + "VALUES (?,?,?) USING TTL ? "; 
boundStatement = new BoundStatement(statement); 
mySession.execute(boundStatement.bind(
    UUID.fromString("3715e600-2eb0-11e2-81c1-0800200c9a66"), 
    "http://apache.org", 
    "Mary", 
    86400)); 

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

  • Нет связанных вопросов^_^