4

毎日の情報を保存するために使用されるcassandra内に列ファミリーがあります。毎日ということで、毎日削除する必要があると思います。

したがって、cassandraでこれらのデータのパージを構成できるかどうかを知りたいです。

私がここに来たのは、cassandra のページでデータ パージに関する詳しい情報を見つけられなかったからです。

ありがとう!

4

2 に答える 2

4

まだ使用していませんが、Cassandra 0.7 には列の TTL があります。多分これはあなたを助けるでしょう、それは基本的に一定期間が経過した後に列を削除します:

それに関するdatastaxブログ投稿

于 2012-02-14T13:47:13.557 に答える
0

古い質問であることは承知していますが、バージョン 2.x 以降の回答が必要な Google 社員のために、 Determining Time To Live (TTL)に関する DataStax のドキュメントをご覧ください。excelsiorキースペースと列ファミリーでCQL を使用して、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 は 1 日の秒数であることに注意してください。Java CQL ドライバーの準備されたステートメントを使用して TTL を設定することもできます。これは、他のバインドされたパラメーターと同様に処理するだけです。

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) );
于 2014-08-12T00:03:07.553 に答える