ObjectStore
, StateStore
(i.e. Key-Value and NoSQL), and Journal
. Among these there are a number of concrete implementations. For example, there are Postgres implementations of all three: ObjectStore
, StateStore
, and Journal
.ObjectEntity
, StatefulEntity
, and EventSourced
.StateObject
instances are self defined, including their identity. This is often thought of as object-relational mapping, which certainly can be and is supported, but is not limited to such.StateObject
instances are persisted as key-value tuples, with CLOB/BLOB values. This is used as a NoSQL database, but may use an RDBMS as the storage engine.DomainEvent
and Command
instances. Each use of the Journal
appends some number of Entry
instances, which are serialized DomainEvent
and Command
instances, and perhaps State snapshots.