Skip to main content

Why should aggregates be small?

Because the bigger the aggregate, the harder it is to guarantee its integrity and performance.

The main reasons:

  1. Transactions: an aggregate changes as a single unit; a large aggregate means heavy, slow transactions.
  2. Contention: the more data inside it, the higher the risk of conflicts under concurrent access.
  3. Memory and cache: loading a huge aggregate for a tiny change overloads the system.
  4. Flexibility: small aggregates are easier to test, scale, and replace.

Conclusion: an aggregate should be minimal in composition but complete in meaning: it should contain everything needed to uphold the business invariants, and nothing more.

Short Answer

Interview ready
Premium

A concise answer to help you respond confidently on this topic during an interview.