Data Architecture Patterns

Central warehouse, event-driven platform, Lambda, Kappa and mesh, compared by what problem each was a response to and what it costs an organisation to run.

Data Architecture Patterns
▶ lab

Central warehouse, event-driven platform, Lambda, Kappa and mesh — sorted onto the two independent axes they actually live on, and compared by the problem each was a response to.

Q · Each of these patterns has a name, a diagram and an advocate. Which problem was each one solving, and which of those problems do I actually have?
The Central Warehouse
▶ lab

The arrangement most organisations actually run, taken seriously: one team, one place, one definition — with a real advantage and a specific failure mode that arrives with source count rather than with data volume.

Q · One team ingests everything, models everything and serves everyone. What does that genuinely buy, and at what point does it stop working?
The Event-Driven Data Platform
▶ lab

Everything publishes events; consumers subscribe independently. It buys decoupling, replay and many materialisations of one stream — and it moves duplicate, ordering and schema handling from one place into every consumer.

Q · If every system publishes its changes to a shared log instead of being queried, what does that decouple — and what does each consumer now have to solve on its own?
Lambda Architecture
▶ lab

A batch layer that is authoritative but late, a speed layer that is fresh but provisional, and a serving layer that merges them — bought with two implementations of the same logic that must agree forever.

Q · If the batch result is trusted and hours old while the streaming result is immediate and approximate, can a platform serve both from one interface — and what does maintaining both cost?
Kappa Architecture
▶ lab

One event log, one stream processing path, and reprocessing by replay. It removes Lambda's duplicated implementation and replaces it with two demands: the log must retain everything you might reprocess, and the stream job must replay history at a rate batch used to manage.

Q · If reprocessing is just replaying the same job from the start of the log, do you still need a batch layer — and what has to be true for that replay to be possible?
Data Mesh
▶ lab

An organisational model, not an architecture: domain ownership, data as a product, a self-service platform and federated governance — with the operational cost of each stated honestly.

Q · If the central team cannot hold the meaning of a hundred source systems, what has to change organisationally for the teams that do hold it to publish trustworthy data themselves?
Data Products
▶ lab

Owner, schema, semantics, quality, documentation, SLO, access policy. Seven commitments, and what a team has to start doing on the day it makes them.

Q · A team publishes a table that other teams read. What has to be true before that table is a product rather than a shared file with a name on it?
Data Platform Engineering
▶ lab

Eight shared capabilities — ingestion, storage, compute, orchestration, catalog, quality, security, observability — and the boundary question that decides whether the platform team is a substrate or a queue.

Q · Which part of a data pipeline should a central platform team own, and which part must be owned by the team that knows what the data means?
The Self-Service Data Platform
▶ lab

An engineer declares a source and a model; the platform produces a pipeline, tests and monitoring. Get it wrong in one direction and it is a ticket queue with extra steps; get it right and you have four hundred datasets nobody owns.

Q · What must a domain engineer be able to do at 22:00 on a Friday without another human being involved — and what happens to a platform where they can do all of it?