DDD Europe 2025 - Program

Persistence strategies for aggregates: exploring the trade-offs

DDD Europe - Hands-on Lab

Speakers

Michael Plöd

Michael Plöd
Description

This is a hands-on lab with limited capacity.

There are many ways to persist an aggregate and there is no one-size fits all approach to this task. This workshop introduces six different approaches for storing aggregate data in a datastore and explains the pros and cons of each approach.

Some of them are not invasive to the aggregate's implementation but come with a cost, others may leave their marks for the sake of simplicity.

The six strategies that we will discuss are:

  • Plain SQL
  • O/R Mappers (flavors: Annotations and XML)
  • Document Databases
  • Memento Pattern
  • Same package, different (Maven / Gradle) Module
  • Event Sourcing

Each of these examples will be showcased in a hands-on manner with Java code examples and come with a thorough exploration of their advantages and disadvantates.

The workshop aims to enable you to navigate the tradeoffs when making design decisions about the persistence approach for your aggregates.

About Michael Plöd

Michael works as a Fellow for INNOQ in Germany. He has over 15 years of practical consulting experience in software development and architecture. His main areas of interest are currently Domain-driven Design, Microservices and in general Software Architectures. Michael is a regular speaker at national and international conferences.