クイズゲーム統計のバックエンドを構築しようとしています。グローバルな各画像の認識率と、国別の画像の認識率を知りたいです。
現在のデータモデルは次のとおりです。
表の結果 ( 国のテキスト、 パーセントフロート、 image_id テキスト、 フェイルイント、 わかりました。 示された整数、 PRIMARY KEY (国、パーセント、image_id) );
国ごとに結果を照会できますが、グローバルな結果 (パーセントが高い画像) を取得できません。
ヒントはありますか?
クイズゲーム統計のバックエンドを構築しようとしています。グローバルな各画像の認識率と、国別の画像の認識率を知りたいです。
現在のデータモデルは次のとおりです。
表の結果 ( 国のテキスト、 パーセントフロート、 image_id テキスト、 フェイルイント、 わかりました。 示された整数、 PRIMARY KEY (国、パーセント、image_id) );
国ごとに結果を照会できますが、グローバルな結果 (パーセントが高い画像) を取得できません。
ヒントはありますか?
すべての国の統計の合計を保持する "TOTAL" 国を定義することができます。
PSpercent
カサンドラの結果整合性のため、主キーの一部を作成することは良い考えではないようですpercent
。フィールドのアトミック更新を行うことはできません。
考えられる状況は 2 つあります。データ セットが十分に小さい場合 -percent
フィールドにセカンダリ インデックスを持つ SQL DB の方が cassandra よりもうまく機能するか、SQL DB のデータが多すぎる - このデータを含む Cassandraモデルも機能しません。部分カウントのマップ/リデュースのみが機能します。
2 つの CF が必要です。
もう 1 つの方法は、順序分割を使用し、CompoteType のキーを使用することです。そのため、キーは PRIMARY KEY (国、パーセント、image_id) ではなく、PRIMARY KEY ((国、パーセント、image_id)) になります。
また、別の列 image_id が必要であり、その image_id にセカンダリ インデックスを配置して、image_id=x のクエリを実行できるようにすることができます。