2

ユーザーのオンライン ステータスを格納するテーブルがあります。

columns(userid, IsOnline,date)

ユーザーがオンラインの場合、Isonline bool フラグは true になり、オフラインになった場合、IsOnline bool は false になります。このようにして、ユーザーがオンラインだった時間と時間を確認できます。

partitionKey: userId、Rowkey: イベントの日時を選択してもよろしいでしょうか?

?

ユーザーは同時にオンとオフを切り替えることができないため、rowkey は一意である必要があります。ユーザーのすべてのデータを同じパーティションに保持することが気に入っています。また、日付をrowIdとして選択すると、ソートがより効率的になりますか?

4

2 に答える 2

7

UserId は、PartitionKey の優れた戦略です

RowKey に関しては、最大桁数にフォーマットされた「DateTime.MaxValue.Ticks - dateOfEvent.Ticks」を使用することをお勧めします。

これにより、RowKey が常に降順になるため、すべてのパーティションからデータを取得することなく、ユーザーの最新のステータスを取得できます。

于 2013-02-12T17:58:57.833 に答える