A system for processing a stream of data, the system comprising: one or more processors; and one or more memory devices that store program code configured to be executed by the one or more processors, the program code comprising: a divergence limiter configured to establish a maximum temporal divergence of a stream of data flushed to a data store (110A-110M) from a plurality of upstream partitions (106A-106N); a plurality of data flushers, each data flusher corresponding to an upstream partition of the plurality of upstream partitions (106A-106N); a data structure indicating, for each of the plurality of data flushers, a most recent time the respective data flusher flushed an item of data to the data store (110A-110M); wherein each data flusher is configured to: obtain an item of data from one or more data producers (122A-122P); determine whether flushing the data to the data store (110A-110M) would exceed the maximum temporal divergence based on a comparison between a time associated with the data and the most recent times indicated in the data structure; and based at least on determining that flushing the data to the data store (110A-110M) would not exceed the maximum temporal divergence, flush the data to the data store (110A-110M) for ingestion by a downstream partition (116A-116M), and update the most recent time indicated in the data structure for the respective data flusher. one or more processors; and one or more memory devices that store program code configured to be executed by the one or more processors, the program code comprising: a divergence limiter configured to establish a maximum temporal divergence of a stream of data flushed to a data store (110A-110M) from a plurality of upstream partitions (106A-106N); a plurality of data flushers, each data flusher corresponding to an upstream partition of the plurality of upstream partitions (106A-106N); a data structure indicating, for each of the plurality of data flushers, a most recent time the respective data flusher flushed an item of data to the data store (110A-110M); wherein each data flusher is configured to: obtain an item of data from one or more data producers (122A-122P); determine whether flushing the data to the data store (110A-110M) would exceed the maximum temporal divergence based on a comparison between a time associated with the data and the most recent times indicated in the data structure; and based at least on determining that flushing the data to the data store (110A-110M) would not exceed the maximum temporal divergence, flush the data to the data store (110A-110M) for ingestion by a downstream partition (116A-116M), and update the most recent time indicated in the data structure for the respective data flusher. a divergence limiter configured to establish a maximum temporal divergence of a stream of data flushed to a data store (110A-110M) from a plurality of upstream partitions (106A-106N); a plurality of data flushers, each data flusher corresponding to an upstream partition of the plurality of upstream partitions (106A-106N); a data structure indicating, for each of the plurality of data flushers, a most recent time the respective data flusher flushed an item of data to the data store (110A-110M); wherein each data flusher is configured to: obtain an item of data from one or more data producers (122A-122P); determine whether flushing the data to the data store (110A-110M) would exceed the maximum temporal divergence based on a comparison between a time associated with the data and the most recent times indicated in the data structure; and based at least on determining that flushing the data to the data store (110A-110M) would not exceed the maximum temporal divergence, flush the data to the data store (110A-110M) for ingestion by a downstream partition (116A-116M), and update the most recent time indicated in the data structure for the respective data flusher. obtain an item of data from one or more data producers (122A-122P); determine whether flushing the data to the data store (110A-110M) would exceed the maximum temporal divergence based on a comparison between a time associated with the data and the most recent times indicated in the data structure; and based at least on determining that flushing the data to the data store (110A-110M) would not exceed the maximum temporal divergence, flush the data to the data store (110A-110M) for ingestion by a downstream partition (116A-116M), and update the most recent time indicated in the data structure for the respective data flusher. flush the data to the data store (110A-110M) for ingestion by a downstream partition (116A-116M), and update the most recent time indicated in the data structure for the respective data flusher.