これは私のシナリオです。次の列、コード、名前、説明、日時を持つテーブルビジネスを持っています。今では、現在のシステム日付時刻よりも日時の長いビジネスレコードのコードと名前を表示する必要があります。 上記のシナリオでは、cassandraが最高のパフォーマンスを発揮できるように、どのような戦略をとるべきですか。カサンドラは、日付範囲に基づいて行を選択します。
おかげ アニ
これは私のシナリオです。次の列、コード、名前、説明、日時を持つテーブルビジネスを持っています。今では、現在のシステム日付時刻よりも日時の長いビジネスレコードのコードと名前を表示する必要があります。 上記のシナリオでは、cassandraが最高のパフォーマンスを発揮できるように、どのような戦略をとるべきですか。カサンドラは、日付範囲に基づいて行を選択します。
おかげ アニ
私はあなたのデータのサイズを知らないが、あなたは日時によって、問合せをしたいとあなたは範囲をしたいので、この特定の列には、あなたの最後のクラスタリングの列でなければなりません。これにより、あなたがそれを使って照会できるようになり、範囲検索もできるようになります。ある列で範囲検索を行うと、クエリがすぐに終了することを覚えておいてください。
例:
有効なクエリ は今>テーブルカラム1 = something1とCOLUMN2 = something2と日時から選択します*;
無効なクエリ 選択*テーブルからどこCOLUMN1 = something1とCOLUMN2 < something2と日時>今;
詳細が必要な場合や、データサイズとユースケースに関する詳細情報をご提供いただける場合は、こちらをご覧ください。 いずれにしても、このcourse from datastaxは私にモデリングプロセスを助けてくれました。私は100%それをお勧めします。これは無料。あなたはサインアップする必要があります。
あなたの返事に感謝Reveka。私の要求では、あなたが提案した他の列(column1、column2)を使用することはできません。なぜなら、datetime列だけがデータをフィルタリングできるからです。 プライマリ列を指定せずに範囲クエリを実行できる「SSTable Attached Secondary Index(SASI)」を使用しましたか? – Ani
はい、私はそれをお勧めしません。それはかなり予期しない動作をしています(少なくとも私の使用例では)。だから、物事を真っ直ぐにするために、唯一の検索オプションは日時ですか? – Reveka
こんにちはReveka、 はい、私の検索オプションはdatetimeのみです(ユースケースによると、Webページのドロップダウン時には、datetimeが現在のdatetimeより大きいビジネスコードのみを表示する必要があります(過去datetimeを持つ他のビジネスコード有効期限が切れているビジネスコード) – Ani
戦略とはどういう意味ですか? – bkowalczyyk