Why should aggregates be small?
Because the bigger the aggregate, the harder it is to guarantee its integrity and performance.
The main reasons:
- Transactions: an aggregate changes as a single unit; a large aggregate means heavy, slow transactions.
- Contention: the more data inside it, the higher the risk of conflicts under concurrent access.
- Memory and cache: loading a huge aggregate for a tiny change overloads the system.
- 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 readyPremium
A concise answer to help you respond confidently on this topic during an interview.