Don't PanicTime & progress

Event time vs processing time

The event time vs processing time distinction: when a thing happened versus when your machine finally noticed.

Also called: time domains, event time, processing time

Event time vs processing time - when a thing actually happened versus when your machine got round to seeing it, and the one distinction the rest of streaming stands on. Event time rides inside the record: the timestamp the phone wrote when the payment went through. Processing time is the wall clock of whichever server handles the record, which depends on the network, the queue, the retry and the redeploy. Akidau's word for the gap is skew, and the important fact about skew is that it is unbounded and it varies. Compute on processing time and running the same data twice gives two answers, because the answer was partly a measurement of your infrastructure that afternoon.

Half of streaming's scary reputation is people conflating these two, then buying machinery to cope with the confusion.

Do you need it? Yes, before anything else in this guide. It costs one sentence to learn and no infrastructure to apply: group by the timestamp inside the event. Ubik's windows are driven by the event-time column you name and close on the watermark, never on the wall clock, so replaying last week's topic produces last week's answer.

Sources

Related