私はカサンドラを初めて使うので、ダースに関する記事を読んで、基本を知っています。すべてのチュートリアルでは、1列または2列の効率的なデータ検索と時間範囲が示されています。私が見つけられなかったのは、より多くの条件がある場合、データを正しくモデル化する方法でした。複数の条件を持つカッサンドラデータモデル
- イベントタイプ
- 時間
- メール
- User_age
- user_country
- USER_LANGUAGE を:
- など。
私が言って、大きなイベントはかなりの数の列を持つ、データベースを正規化してい
すべての列でクエリできるようにする必要があります。だから、RDBMSで、私はクエリを実行します:
SELECT email FROM table WHERE time > X AND user_age BETWEEN X AND X AND user_language = 'nl'
など。
を私は、各列に別々のテーブルを作ることができます知っているが、その後、私はまだ結果を結合する必要があります。これは悪いアプローチではないかもしれませんが、サブクエリがないので疑問に思っています。
私の質問は明らかに、カサンドラでこの種のデータを正しくモデル化できますか?
ありがとうございます!
潜在的な解決方法は次のとおりです。 イベントタイプごとに個別のテーブルを作成します。 パーティションキーとして使用できる「merchant_id」列があり、常に1つのパーティションにあるtimerangeとmerchant_idを検索します。 残りをセカンダリインデックスとして追加できますか? eventtypeテーブル+ merchant_id +時間の選択にはまだ潜在的に何百万もの行が存在する可能性があります。 –