Software Engineering Architecture Lab

Change Data Capture Pattern

Stream every database change as an event. A data management pattern in the Data Patterns catalog. Explained with Java/Spring code and when not to use it.

Stream every database change as an event.

Family
Data Patterns
Category
Data Management
Source
Designing Data-Intensive Applications · Building Microservices

More data management patterns

  • Saga — A sequence of local transactions with compensations on failure.
  • Transactional Outbox — Write the event in the same DB transaction, publish it afterwards.
  • CQRS — Separate the write model from read models.
  • Event Sourcing — Store state as an append-only sequence of events.
  • Cache-Aside — Read from cache, fall back to the database and populate the cache.
  • Idempotency Key — A client-supplied key that makes a request safe to repeat.

All patterns