Suggest an editImprove this articleRefine the answer for “Why should aggregates be small?”. Your changes go to moderation before they’re published.Approval requiredContentWhat you’re changing🇺🇸EN🇺🇦UAPreviewTitle (EN)Short answer (EN)The bigger an **aggregate**, the harder it is to guarantee its integrity and performance: large aggregates mean heavy transactions, a higher risk of conflicts under concurrent access, and overloaded memory and cache. **Key point:** an aggregate should be minimal in composition but complete in meaning: it should contain everything needed for the business invariants and nothing more.Shown above the full answer for quick recall.Answer (EN)ImageBecause **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.For the reviewerNote to the moderator (optional)Visible only to the moderator. Helps review go faster.