Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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