デザインの問題で立ち往生しています。テーブル内のユーザーレコードにランクを割り当てたい。彼らはサイトで何らかの行動を起こし、リーダーボードに基づいてランクを付けます。そして、私が彼らに望む選択は、トップ10、ユーザーの位置、今日ログインしたトップ10などである可能性があります。
Azureテーブルに保存する方法が見つかりません。カスタムコレクションオブジェクト(ソートされたリスト)をblobに格納することを考えたよりも。
助言がありますか?
デザインの問題で立ち往生しています。テーブル内のユーザーレコードにランクを割り当てたい。彼らはサイトで何らかの行動を起こし、リーダーボードに基づいてランクを付けます。そして、私が彼らに望む選択は、トップ10、ユーザーの位置、今日ログインしたトップ10などである可能性があります。
Azureテーブルに保存する方法が見つかりません。カスタムコレクションオブジェクト(ソートされたリスト)をblobに格納することを考えたよりも。
助言がありますか?
テーブルエンティティは、PartitionKey、RowKeyで並べ替えられます。ユーザーを継続的に削除して再作成し(したがって、PK、RKを変更できるようにする)、正しい順序を指定することはできますが、それは悪い考えか、少なくともやり過ぎのようです。代わりに、ランキングの計算に使用するデータを保存し、定期的にランキングを計算して保存します(あなたが言うように)。これは私たちの仕事で多くのことを行います-データがJSONビューでどのように表示されるかを事前に計算し、それをBLOBに格納し、UIに直接クエリを実行させます。秘訣は、ビューをいつ再計算するかを決定することです。ユーザーがランキングを再計算する項目を実行した後、私はおそらくメッセージをキューに入れ、ワーカープロセスを終了させてビューを再計算します。これにより、あまりにも多くのワーカーが一度にデータを更新しようとするのを防ぎます。