17

Cassandra を使用して、さまざまなソースからの情報ストリームを保存することを検討しています。

私たちが直面している問題の 1 つは、2 つの日付の間でクエリを実行する最善の方法です。

たとえば、日時 dt1 と日時 dt2 の間のオブジェクトを取得する必要があります。

現在、作成された UNIX タイムスタンプを実際のオブジェクトを指すキーと見なしてから、get_key_range を使用してクエリを取得して取得しますか?

明らかに、2 つのアイテムのタイムスタンプが同じ場合、これは機能しません。

これは一般的にnoSQLストアでdatetimeを行う最良の方法ですか?

4

1 に答える 1

15

Cassandra の行は非常に大きくなる可能性があるため、CF 内の行ではなく、行内の列としてモデル化することを検討してください。次に、行スライスよりも高速な列スライス操作を使用できます。これに関連付けられた「自然な」キーがない場合は、「2010/02/08 13:00」のような日単位または時間単位のキーを使用できます。

それ以外の場合は、はい、範囲クエリ (get_key_range は 0.5 で廃止されました。get_range_slice を使用) を使用するのが最適なオプションです。

于 2010-02-08T19:16:26.887 に答える