A computer-implemented method comprising: starting a first batch operation that executes a first query relative to first event data received from a data stream in the past and that has been stored in a persistent data store as of a first time; while the first batch operation is executing, continuously executing a second query which is the same as or performs the same function as the first query, relative to second event data that is continuously being received from the data stream after the first batch operation has started execution and within a specified window of time having an ending point at a current time, wherein the first event data does not include events of the second event data; computing a preliminary query result based on the most recent execution of the second query relative to the second event data received within the specified window of time; while the first batch operation is executing, continuously merging the preliminary query result with a result of a second batch operation that has completed before the first batch operation, to produce a unified query result, wherein the second batch operation involves execution of the first query relative to third event data received from the data stream in the past and that has been stored in the persistent data store, wherein the first event data includes, and the third event data excludes, events that have arrived in the data stream since the second batch operation started executing; continuously outputting the unified query result to interested entities; determining whether the first batch operation has completed; and in response to determining a completion of the first batch operation, overwriting and replacing the result of the second batch operation stored in the persistent data store with a result of the first batch operation. starting a first batch operation that executes a first query relative to first event data received from a data stream in the past and that has been stored in a persistent data store as of a first time; while the first batch operation is executing, continuously executing a second query which is the same as or performs the same function as the first query, relative to second event data that is continuously being received from the data stream after the first batch operation has started execution and within a specified window of time having an ending point at a current time, wherein the first event data does not include events of the second event data; computing a preliminary query result based on the most recent execution of the second query relative to the second event data received within the specified window of time; while the first batch operation is executing, continuously merging the preliminary query result with a result of a second batch operation that has completed before the first batch operation, to produce a unified query result, wherein the second batch operation involves execution of the first query relative to third event data received from the data stream in the past and that has been stored in the persistent data store, wherein the first event data includes, and the third event data excludes, events that have arrived in the data stream since the second batch operation started executing; continuously outputting the unified query result to interested entities; determining whether the first batch operation has completed; and in response to determining a completion of the first batch operation, overwriting and replacing the result of the second batch operation stored in the persistent data store with a result of the first batch operation.