A system, comprising: means for receiving a continuous query configured to process a stream of event data, the continuous query including an identifier of the stream and an identifier of historical data associated with the stream, and the stream comprising change notifications of changes in a data store; means for generating a query graph based at least in part on the continuous query, the query graph including at least a node representing an operator of the continuous query; means for executing a plurality of instructions to at least traverse the query graph in a topological order to identify a lowest stateful operator; means for determining historical data in a data store with which to initialize the continuous query based at least in part on the lowest stateful operator of the continuous query; means for establishing a change notification listener to listen for change notifications of the data store, and buffering the change notifications in a messaging service until the continuous query is initialized; means for initializing the continuous query with at least a portion of the historical data at the lowest stateful operator identified in the query graph; means for evaluating the continuous query with respect to the stream and based at least in part on the historical data; characterized in that the system further comprises: means for determining, from the data store, change notifications of the buffered change notifications that are included in the initialized continuous query and change notifications of the buffered changed notifications that are not included in the initialized continuous query to eliminate double counting of change notifications included in the initialized continuous query by comparing transaction ID values in the change notifications against a highest value transaction ID in the initialized continuous query and ignoring change notifications with transaction ID values less than or equal to the highest value transaction ID in the initialized continuous query; and means for processing the buffered change notifications of the data store with transaction values greater than the highest value transaction ID in the initialized continuous query after initializing the continuous query. means for receiving a continuous query configured to process a stream of event data, the continuous query including an identifier of the stream and an identifier of historical data associated with the stream, and the stream comprising change notifications of changes in a data store; means for generating a query graph based at least in part on the continuous query, the query graph including at least a node representing an operator of the continuous query; means for executing a plurality of instructions to at least traverse the query graph in a topological order to identify a lowest stateful operator; means for determining historical data in a data store with which to initialize the continuous query based at least in part on the lowest stateful operator of the continuous query; means for establishing a change notification listener to listen for change notifications of the data store, and buffering the change notifications in a messaging service until the continuous query is initialized; means for initializing the continuous query with at least a portion of the historical data at the lowest stateful operator identified in the query graph; means for evaluating the continuous query with respect to the stream and based at least in part on the historical data; characterized in that the system further comprises: means for determining, from the data store, change notifications of the buffered change notifications that are included in the initialized continuous query and change notifications of the buffered changed notifications that are not included in the initialized continuous query to eliminate double counting of change notifications included in the initialized continuous query by comparing transaction ID values in the change notifications against a highest value transaction ID in the initialized continuous query and ignoring change notifications with transaction ID values less than or equal to the highest value transaction ID in the initialized continuous query; and means for processing the buffered change notifications of the data store with transaction values greater than the highest value transaction ID in the initialized continuous query after initializing the continuous query. means for determining, from the data store, change notifications of the buffered change notifications that are included in the initialized continuous query and change notifications of the buffered changed notifications that are not included in the initialized continuous query to eliminate double counting of change notifications included in the initialized continuous query by comparing transaction ID values in the change notifications against a highest value transaction ID in the initialized continuous query and ignoring change notifications with transaction ID values less than or equal to the highest value transaction ID in the initialized continuous query; and means for processing the buffered change notifications of the data store with transaction values greater than the highest value transaction ID in the initialized continuous query after initializing the continuous query.