我需要在我的事件流中加入追溯事件,但我不确定最好的实现方式。
我们需要保持原始事件流不变,以便进行审计和所有其他标准优点。事件流也是时间性的,使我们能够查看任何历史时刻的值。例如:x的值在6月1日下午5点为10.00。偶尔我们会发现,在6月5日,x的值实际上是在6月1日下午5点时为12.00。在这种情况下,我们将10.00称为“as-at”值,“12.00”称为“as-of”值,并在事件流中跟踪这两个值。
重建“as-at”状态很简单,只需从5月1日下午5点之前的最新快照查询,并查询到6月1日所有的事件。
我犹豫的地方在于重建“as-of”状态。如果对模型有一个“as-of”纠正,那么默认情况下应该使用它,而不是“as-at”,但我无法确定是否有“as-of”纠正,除非阅读自特定时点起至今的整个事件流(这可能很大),而大多数更改都与未来更改相关,而不是问题所在的时点。
这里应该采取不同的方法吗?
谢谢, Chris
我们需要保持原始事件流不变,以便进行审计和所有其他标准优点。事件流也是时间性的,使我们能够查看任何历史时刻的值。例如:x的值在6月1日下午5点为10.00。偶尔我们会发现,在6月5日,x的值实际上是在6月1日下午5点时为12.00。在这种情况下,我们将10.00称为“as-at”值,“12.00”称为“as-of”值,并在事件流中跟踪这两个值。
重建“as-at”状态很简单,只需从5月1日下午5点之前的最新快照查询,并查询到6月1日所有的事件。
我犹豫的地方在于重建“as-of”状态。如果对模型有一个“as-of”纠正,那么默认情况下应该使用它,而不是“as-at”,但我无法确定是否有“as-of”纠正,除非阅读自特定时点起至今的整个事件流(这可能很大),而大多数更改都与未来更改相关,而不是问题所在的时点。
这里应该采取不同的方法吗?
谢谢, Chris