我有一個表存儲用戶的在線狀態。這是Azure表中分區和行鍵的正確選擇嗎?
columns(userid, IsOnline,date)
如果用戶在線,則Isonline布爾標誌爲true,如果它離線,則IsOnline布爾值爲false。這樣我就可以看到用戶在哪個時間和哪個時間在線。
難道是精細選擇partitionKey:用戶id, Rowkey:事件
的日期和時間?
用戶不能同時開關,所以rowkey應該是唯一的。我喜歡這個功能,它可以將用戶的所有數據保存在同一個分區上。還選擇日期rowId使排序更有效?
我只是碰到這個帖子來了,我很感興趣在這個建議中。你能詳細說明爲什麼在這種情況下降序數據有利嗎?活動的日期/時間是否仍然按降序排列? – BenjiFB 2014-03-14 01:06:53
Azure表存儲的工作方式是在檢索數據時不能使其更改排序。它以上升的PK/RK方式存儲。要檢索的第一行是給定PK的最小RK。如果想知道用戶的最新狀態,並且RK是以ASC順序存儲的時間戳,則第一行將是最早的狀態,因此在查找最新狀態之前,數據的使用者將不得不檢索所有的行。這有幫助嗎? – Igorek 2014-03-14 03:05:51
是的,這有幫助!謝謝... – BenjiFB 2014-03-14 12:44:07