web-dev-qa-db-ja.com

デフォルトでcql3を使用してCassandraテーブルを作成しますTTL

挿入されるすべての行に対してデフォルトのTTLを持つテーブルを作成することは可能ですか、それとも常にTTL挿入/更新を行うときは?

ドキュメントでこれに関する何かを見ることができません:

http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/create_table_r.html

15
Ziklag

はい、列ファミリー全体にTTLを設定することは可能です。

CREATE TABLE test_table (
    # your table definition #
) WITH default_time_to_live = 10;

Inserted rows then disappear after 10 seconds.

私はここでそれのために仕事が行われたと信じています:

https://issues.Apache.org/jira/browse/CASSANDRA-3974

DataStaxのPatrickMcFadin(@PatrickMcFadin)から送信されたドキュメントリファレンスは次のとおりです。

http://docs.datastax.com/en/cql/3.1/cql/cql_reference/tabProp.html

乾杯、

26
reggoodwin

From Cassandra doc:

テーブルのdefault_time_to_liveプロパティを設定することで、テーブル全体にデフォルトのTTLを設定できます。より長い特定の列にTTLを設定しようとすると、テーブルTTLで定義された時間、ApacheCassandra™はエラーを返します。

参照: https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_t.html

そして、ここでTTLに関する一般的な目的のために: https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_c.html

0