> Markdown version of [/videos/91-from-event-streaming-to-event-sourcing-101?t=221](https://www.wearedevelopers.com/videos/91-from-event-streaming-to-event-sourcing-101?t=221). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # From event streaming to event sourcing 101 Traditional CRUD databases destroy valuable historical context. Stop overwriting history and transition to true event sourcing. Learn to build immutable, observable architectures using CQRS and the Axon Framework. - **Speakers:** Gerard Klijs - **Event:** WeAreDevelopers LIVE - **Published:** December 3, 2020 - **Duration:** 27:33 - **URL:** https://www.wearedevelopers.com/videos/91-from-event-streaming-to-event-sourcing-101 ## Summary Transitioning from traditional database applications to event-driven architectures introduces powerful scalability but requires a fundamental shift in how system state is managed. While traditional CRUD databases overwrite valuable intermediary steps, event streaming with Kafka allows decoupled services to reliably react to real-time changes. Teams typically begin with Change Data Capture pipelines to trigger isolated alerts or sync legacy mainframes seamlessly, but relying solely on streaming full database documents obscures the precise intent behind user actions and lacks structured historical replayability. To overcome these data awareness limitations, full event sourcing structures every deliberate state change into an immutable, permanent log that serves as the definitive source of truth. Implementing a CQRS architecture formalizes this workflow by cleanly separating intentional commands, factual events, and state-reading queries into discrete models. By physically decoupling read-optimized databases like Elasticsearch and MongoDB from the core event stream, development platforms can rebuild analytical indexes on demand and safely retry operations when external third-party services fail. Managing extensive event-sourced systems directly through pure message brokers often introduces architectural friction, including complex remote schema enforcement, cumbersome error routing, and read-performance deterioration when replaying massive historic logs. Adopting purpose-built, battle-tested solutions like the Axon Framework alongside Spring Boot resolves these constraints by natively routing command failures as application exceptions and maintaining infinitely scalable append-only event stores. While adopting end-to-end event sourcing drastically increases initial infrastructural complexity, it yields unparalleled system observability where every aggregate modification perfectly traces back to its originating intent. **Keywords:** event sourcing adoption, apache kafka streaming, change data capture pipelines, cqrs architecture implementation, axon framework integration, spring boot configurations, immutable event logs, database stream processing, microservices asynchronous decoupling, mongodb active document updates, elasticsearch read models, mainframe legacy integration, message intent routing, avro schema management, historical event replayability ## Chapters 1. **Moving from traditional databases to decoupled event streaming** (01:40) — How typical database limits are overcome by using Kafka to decouple data producers and consumers. 1. **Core principles of transitioning to full event sourcing** (03:41) — How commands, events, and queries structure applications to ensure historical replayability and a stable single source of truth. 1. **Implementing change data capture for core banking operations** (07:01) — Transforming legacy database operations into real-time streams enables immediate alerting and continuous downstream decoupling. 1. **Decoupling microservices using Kafka for a payment provider** (10:34) — Splitting monolithic applications into standalone components enables isolated event processing and independent system recovery. 1. **Structuring data streams for reliable data sharing platforms** (14:15) — Breaking streaming pipelines into isolated parts facilitates reliable search indexing and independent component recovery without external backups. 1. **Building a complete command query responsibility segregation system** (16:38) — Modeling complex financial workflows reveals the operational difficulties of handling asynchronous failures and topic replay limitations. 1. **Streamlining complex event sourcing pipelines with Axon framework** (21:28) — Adopting specialized frameworks eliminates manual message routing and key management issues commonly found in custom streaming environments. 1. **Evaluating the operational trade-offs of full event sourcing** (26:50) — Balancing steep architectural complexity against the long-term operational advantages of complete application traceability. ## Related Moments - [Transitioning from synchronous microservices to event sourcing](https://www.wearedevelopers.com/videos/168-kafka-streams-microservices) (from "Kafka Streams Microservices") - [Introducing data management and the shift to streaming](https://www.wearedevelopers.com/videos/538-event-messaging-and-streaming-with-apache-pulsar) (from "Event Messaging and Streaming with Apache Pulsar") - [Differentiating event streaming from true event sourcing](https://www.wearedevelopers.com/videos/163-cqrs-and-event-sourcing-without-the-pixie-dust) (from "CQRS and Event Sourcing without the pixie dust") - [Introducing beneficial architectural patterns like event sourcing](https://www.wearedevelopers.com/videos/218-seven-myths-three-reasons-one-goal) (from "Seven Myths, Three Reasons, One Goal") - [Recognizing architectural drivers pushing event streaming system adoption](https://www.wearedevelopers.com/videos/538-event-messaging-and-streaming-with-apache-pulsar) (from "Event Messaging and Streaming with Apache Pulsar") - [Implementing CQRS and event sourcing in Java](https://www.wearedevelopers.com/videos/163-cqrs-and-event-sourcing-without-the-pixie-dust) (from "CQRS and Event Sourcing without the pixie dust") ## Related Articles - [Why Event-Driven Architecture Isn’t About Speed (and When You Actually Need It)](https://www.wearedevelopers.com/magazine/745-why-event-driven-architecture-isn-t-about-speed-and-when-you-actually-need-it) - [The Future of Open Source: A Deep Dive - Scott Chacon at WeAreDevelopers World Congress 2024](https://www.wearedevelopers.com/magazine/471-the-future-of-open-source-a-deep-dive-scott-chacon-at-wearedevelopers-world-congress-2024) - [MLops – Deploying, Maintaining And Evolving Machine Learning Models in Production](https://www.wearedevelopers.com/magazine/115-mlops-deploying-maintaining-and-evolving-machine-learning-models-in-production) - [Graph and AI Trends 2026: Why Is AI Running but Not Yet Delivering?](https://www.wearedevelopers.com/magazine/680-graph-and-ai-trends-2026-why-is-ai-running-but-not-yet-delivering) ## Related Jobs - [Senior Backend Engineer (Java)](https://www.wearedevelopers.com/jobs/ext/19369-senior-backend-engineer-java) at **Bonial International GmbH** - [Platform Engineer - Mercury Runtime Platform](https://www.wearedevelopers.com/jobs/ext/293235-platform-engineer-mercury-runtime-platform) at **Raiffeisen Bank International AG** - [Senior Software Engineer, Data](https://www.wearedevelopers.com/jobs/48273-senior-software-engineer-data) at **Sportradar Media Services GmbH** - [Software Engineer](https://www.wearedevelopers.com/jobs/ext/1304791-software-engineer) at **Bitpanda** - [Senior DevOps Consultant](https://www.wearedevelopers.com/jobs/ext/1247667-senior-devops-consultant) at **Aok Systems Gmbh** - [Staff Software Engineer](https://www.wearedevelopers.com/jobs/ext/1425755-staff-software-engineer) at **GitHub**