How it works
Why does it behave this way?
- 1
Three clocks
Which 'time' is on a record, who wrote it, and how far can we trust it?
2 pages - 2
Watermarks: declaring completeness
How can a pipeline declare that everything before time T has arrived when it cannot know?
- 3
Late data and triggers
What can be done with a record that arrives after the watermark, and what does accepting it cost in state?
3 pages - 4
Partitioning and corrections
Should files be partitioned by event date or by ingestion date, and what does each choice cost?
2 pages - 5
Bitemporal data and joins
Why does a fact need two time axes, and why is time travel not a substitute for them?
2 pages - 6
Calendars, clocks and expiry
Why is a local time a query against a mutable legal database, and why is date arithmetic not associative?
3 pages - 7
What time semantics forbids, and what each way out costs
Which things can never be had together, and what does each way out cost?