1

時系列データをカサンドラに毎日保存しています。2 日以上経過したデータを毎日アーカイブ/パージしたいと考えています。Hector API を使用してデータを保存しています。データが 2 日以上経過している cassandra データを毎日削除する方法を教えてもらえますか? データを削除する日数は構成可能であるため、cassandra 行に TTL アプローチを使用することは現実的ではありません。現在、テーブルにタイムスタンプ列はありません。タイムスタンプ列を追加する予定です。しかし問題は、この新しい列は主キーの一部ではないため、timestamp だけを where 句で使用できないことです。ご提案をお願いします。

4

3 に答える 3

0

TTL アプローチの使用を妨げているものはわかりません。

TTL は、スキーマを定義するときだけでなく、datastax cassandra ドライバーを使用してテーブルにデータを保存するときにも使用できます。

したがって、実際には、Java コードで構成された行ごとに個別の TTL を持つことができます。

また、Chris が既に述べたように、TTL はこれに内部タイムスタンプを使用します。

于 2016-01-28T18:19:58.277 に答える
0

あなたの説明に厳密に基づいて、唯一の解決策はそのtimestamp列を追加し、それにセカンダリインデックスを追加することだと思います。

ただし、これは、データ モデルが状況に適応するには程遠いことを示す大きな指標です。

私の最初のコメントを強調します。

あなたのモデルは他のものに適応/設計されていますか? これは、Cassandra の時系列データのようには見えないためです。タイムスタンプのような列は、クラスタリング キーの一部である必要があります。

于 2016-01-28T22:56:14.883 に答える