Event Store with support for event sourcing in Go.
Event Store Domain
Aggregate: An entity constructed via event sourcing.
Aggregate ID: unique identifier for stream of all events related to a single aggregate. Used to append events to
a stream, or retrieve events for that stream.
Append only: property of storage, where new data can be appended to the storage, but existing data is immutable.
Event: facts that have happened in the past, they are immutable.
Event ID: TBD.
Event Sourcing: The means by which the current state of an entity can be restored by replaying all its events.
Event Store: is a type of database optimized for storage of events utilised for event sourcing.
Stream: A sequence of events for the same aggregate.
Transaction ID: TBD.
UUID: universally unique identifier, used to provide strong identity where this is required.