我正在研究收集有關某個帳戶的(last_x,counters)信息的項目。 用戶操作可能會導致生成多個業務事件。當Web上的單個用戶操作導致多個事件時,它將觸發USER HISTORY表的更新。是否有樂觀鎖定的替代方案
我們進行樂觀鎖定以確保所有事件都導致USER HISTORY表更新。
問題:
樂觀鎖定導致額外的讀取(檢測到衝突時,再次讀取和更新)和額外寫入(解決衝突之後)。
解決方案的嘗試:
- 每一個事件的結果插入到用戶履歷表 - 更多的歷史信息,導致讀取性能較差。
有沒有其他的選擇?
你能寫出記錄而不是更新嗎?因此沒有潛在的衝突。 – davidfrancis 2012-03-22 23:43:46
寫入將導致網站中的用戶事件與用戶歷史記錄表中的記錄之間的一對一映射。由於它是一個有計數器變量和last_X變量的表。我們需要最新的紀錄。這意味着我們必須在加載之前對所有事件進行排序。這會導致讀取性能差。 – 2012-03-22 23:46:30
立即更新它有多重要? – Ben 2012-03-22 23:52:13