...
This refers to the idea of compacting data, or aggregating it by some key. This is useful in the context of Kafka, for example, where compaction allows a topic to issue updates to a piece of data when a primary key is specified, conceptually deleting old entries for that data. You can think of compaction like an upsert (insert/update) in relational database terms.
Entity
In the Hydra ecosystem, we treat an entity as an object (or just a thing, really) that:
- has some state
- can evolve or change its state over time (mutable)
- doesn't contain state "history", in other words, any give entity contains only a snapshot of the current state
Event
Conceptually, you can think of an event like "a stream of what happened over time". An event:
- is immutable
- tracks changes over time, a change is persisted as a new event