What is Event Sourcing? — UK Software Development Guide
Direct Answer
Event sourcing is an architectural pattern where the system's state is determined by a sequence of events rather than storing only the current state. Instead of updating records in place, every state change is stored as an immutable event (e.g., "AccountOpened," "MoneyDeposited," "MoneyWithdrawn"). The current state is derived by replaying all events. Event sourcing enables: complete audit trail, temporal queries (state at any point in time), and event-driven integration.
Event-sourcing in the UK
Event sourcing is particularly valuable for UK regulated software. FCA regulated systems: financial event sourcing provides an immutable audit trail of every account action — exactly what FCA requires for financial record-keeping. UK GDPR and event sourcing create a significant tension: events are immutable (by design), but UK GDPR right to erasure requires the ability to delete personal data. Solutions: event compaction (replacing personal data with anonymised placeholders on erasure request), or using event sourcing only for business events (not personal data) with a separate GDPR-compliant personal data store.
Related Glossary Terms
Microservices
Microservices explained for UK software developers and business owners. Microservices architecture is a software design approach where an application is built as a collection of small, indepen... UK context, examples, and related services.
Open Banking
Open Banking explained for UK software developers and business owners. Open Banking is the UK's implementation of PSD2 (Payment Services Directive 2) — a regulatory framework that requires th... UK context, examples, and related services.
Kubernetes
Kubernetes explained for UK software developers. Kubernetes (commonly abbreviated as K8s) is an open-source container orchestration platform that automates the deploymen... UK context and related services.
Api-gateway
API Gateway explained for UK software developers. An API Gateway is a server that acts as an entry point for API requests from clients. It sits in front of one or more ba...
Message-queue
Message Queue explained for UK software developers. A message queue is a form of asynchronous communication that allows software components to exchange messages without nee...
Ddd
Domain-Driven Design explained for UK software developers. Domain-Driven Design (DDD) is a software design approach that focuses on modelling software around the business domain i...
Get Expert Advice on Event-sourcing
Speak with our UK software development experts about Event-sourcing. Free consultation, transparent pricing, no obligation.