Domain Model Persistence: Patterns for Performance and Scalability

The tenets of Domain-Driven Design are well documented, and its mindshare has expanded massively in recent years, due to the brilliant work of Eric Evans and subsequent authors notably Jimmy Nilsson. However, knowledge on persisting domain models, especially in a performant and scalable way, is much less readily accessible. Lessons learned by architects of high-scale DDD-based systems in production settings are largely absent from the professional literature. And yet such knowledge should be of significant value to current practitioners responsible for the development or operation of DDD-based systems with performance and scalability concerns. Therefore this seminar talk will focus on the persistence of domain models, the typical problems that arise around performance, scalability, and transaction isolation in domain model persistence, some observed solutions to those problems, and the consequences of those solutions for application architecture.