Patent attributes
Disclosed herein are systems and computer-implemented methods that include storing a sequence of events, each event associated with a sequence number indicating a temporal position of an event within the sequence of events; further storing one or more read-offsets that are associated with respective consumers and that indicate the sequence number up to which the respective consumers have read events within the sequence of events; determining a smallest read-offset of all read-offsets; compacting events and/or earlier snapshots with sequence numbers smaller than the smallest read-offset into a new snapshot; and replacing, in the sequence of events, the events and/or earlier snapshots with sequence numbers smaller than the smallest read-offset with the new snapshot.