Patent attributes
Systems and methods are disclosed to perform data replication based on an update stream from a source data store and over a communication channel that does not guarantee a correct ordering of stream events at the destination data store. In embodiments, an event sender receives the update stream and marks each event with a clock value according to the correct order. The marked events are then sent via the communication channel. In embodiments, an event replicator fetches the events from the communication channel and applies them to the destination data store. Older or duplicate events may be detected using the clock values and appropriately ignored. A tombstone object is maintained separately from the destination object to track deleted data items in order to avoid in-place tombstoning. Conditional updates and delete barriers are used to ensure that the objects are updated correctly by concurrently executing replicator nodes.