我正在研究收集有关某个帐户的(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