Data engineering·Time and correctness in streams
you priced the order using the exchange rate as it was at the moment of the order, not the rate as it is now.
Temporal join
Also calledas-of join, point-in-time join, versioned join
Joining a stream of events to the version of a reference table that was current at each event's own event time. It is what stops a re-run producing different numbers, because the enrichment stops depending on when you ran it. Building it requires the reference data to be versioned rather than overwritten, which is the practical reason slowly changing dimensions and streaming enrichment turn out to be the same problem.