1

假设您有大量交易随着时间的推移流入/流出账户。每次有新交易进入时,您都需要重新计算余额以显示给用户。每次有新交易进入(想象有太多交易)时,重新计算总余额(总结所有交易的行)是低效的。

显然,您可以增加或减少余额。但是假设不能保证动作会自动发生,例如 - 在保存事务和增量之间,您的数据库可能会重新启动,从而丢失增量。

我想知道有哪些算法/方法可以解决这个问题。看起来你可以:

  • 执行递增/递减方法,并定期更正它(它仍然会显示不正确的平衡,虽然定期,不是很好)
  • 做一个 map/reduce,尽管如果新事务频繁出现,这仍然是矫枉过正(它会超过 100% 的旧数据,即使只有一小部分发生了变化)
  • 随着时间的推移保存某种标记,所以一旦你总结了一段时间,你可以在以后重用它,也许在某种层次结构中,这样你就可以总结一天的总数,一周的总数,月,年等,所以它总是很快获取当前余额(今天的交易加上前几天、几周、几个月、几年等)

这似乎是以前发明的。我应该寻找什么?谢谢!

4

0 回答 0