Machine Learning pathway increased my salary by 40%
Data Architecture Design
Data architecture is where an enterprise decides which questions will ever have a trustworthy answer. The rest is storage.
How to design data architecture that survives contact with the business: canonical entities and definitions, ownership through data products, the lakehouse and where each store belongs, integration patterns from batch to events, quality measured as a service level, lineage that answers impact questions, governance that is enforced rather than declared, and the grounding requirements that make AI output defensible.
On this page17 sections
What this covers
- Who this is for
- Data architects, analytics and platform engineering leads, data governance and privacy teams, domain data owners, and architects designing AI grounding or reporting layers.
- What it assumes
- Comfort with relational modelling, the difference between a warehouse and an operational database, and some experience of pipelines or reporting. No specific vendor knowledge is assumed.
- What you will be able to do
- Define canonical entities and a glossary that stops definition drift, choose between centralised and domain-owned data models, place workloads across lakehouse stores, design integration with contracts, measure quality as a service level, and specify the grounding layer for AI that can be audited.
- Reading time
- About 19 minutes.
What data architecture actually decides
Every organisation has data, and most have more of it than they can use. The binding constraint is rarely storage or compute; it is that the same word means different things in different systems. Revenue computed by finance, by commercial and by the data team differ, and the meeting about which is right costs more than the systems that produced them.
Data architecture exists to make meaning explicit and reusable. It decides the canonical entities — customer, product, account, transaction, employee — and the definitions that go with them. It decides who owns each domain’s data and what they guarantee. It decides where data is stored, how it moves, and what is enforced versus requested. Those decisions determine which questions can be answered once, correctly, for everyone.
The failure to make them is expensive in a way that is hard to attribute. Dashboards proliferate, each with its own extract and its own definition; analysts spend their time reconciling rather than analysing; a regulatory request takes three weeks because nobody knows which system holds the authoritative record. None of those is a storage problem, and none is fixed by a new platform.
- Define the canonical entities and their definitions before choosing any platform.
- Assign an owner for each domain’s data and a guarantee they make.
- Prefer one authoritative source per entity over reconciliation between several.
- Treat definitions as governed artefacts with versions and change control.
- Measure the time to answer a new business question; it is the real score.
- Resist platform purchases that arrive before the semantic decisions.
- Canonical entity
- The enterprise-level definition of a business object, with its agreed attributes and identity rules, from which local models derive.
- Data product
- A dataset owned by a domain, published with a contract, quality guarantees and a defined consumer set.
- Data contract
- A versioned agreement on the structure, semantics and quality of data supplied from one system or domain to another.
Conceptual, logical and physical — and the glossary that binds them
The three modelling levels serve different purposes and are often collapsed, which is where trouble starts. The conceptual model names the entities and their relationships in business language. The logical model defines attributes, identity rules and cardinality without reference to a database. The physical model implements it in a specific engine with its own types and constraints.
Collapsing logical into physical is the common shortcut: the table becomes the definition. It works until a second system implements the same concept differently, at which point there is no artefact that says which is correct. Keeping a logical layer that the physical models derive from gives the enterprise something to reconcile against, and makes migration a translation rather than a reinvention.
The glossary is the practical face of the logical layer. Each term carries a definition, an owner, the systems that implement it and the rules for its calculation. Where a term is contested — revenue, active customer, churn — the glossary should record the decision and the reason, so the argument happens once. A glossary without owners decays into a wiki nobody reads; with owners, it becomes the reference that resolves disputes.
| Level | Contains | Audience |
|---|---|---|
| Conceptual | Entities and relationships | Business and architecture |
| Logical | Attributes, identity, cardinality | Architecture and engineering |
| Physical | Tables, types, indexes, partitions | Engineering |
| Glossary | Terms, owners, calculation rules | Everyone |
Centralised, federated or domain-owned
A central data team produces consistency and becomes a queue. A domain-owned model produces relevance and a set of incompatible definitions. The choice is real, and most successful organisations settle on a hybrid: central ownership of the canonical model, the platform and the standards; domain ownership of the data products built on them, with contracts and quality guarantees.
Domain ownership only works with three conditions. Each domain must have a named owner accountable for quality, not a committee. The contract must be published and versioned, so consumers know what they are getting. And the platform must make publishing a product easier than emailing a spreadsheet, or domains will default to the path of least resistance.
The central team’s product changes in this model. Rather than building every pipeline, it builds the platform, the standards, the catalogue and the shared entities, and it consults on the hard cases. Its success measure is the number of domains publishing conformant products without escalation, not the number of pipelines it operates.
| Model | Strength | Failure mode |
|---|---|---|
| Central team | Consistency and standards | Queue, distance from business |
| Fully federated | Relevance and speed | Incompatible definitions |
| Domain-owned with contracts | Balance | Requires platform and discipline |
| Hybrid with canonical core | Shared entities, local products | Interface must be governed |
Warehouse, lake, lakehouse and the vector store
The warehouse holds structured, modelled data optimised for analytical queries with strong governance. The lake holds raw and semi-structured files cheaply, with weaker guarantees. The lakehouse combines open table formats with warehouse-style query and transactionality over object storage, and has become the default for new analytical platforms because it avoids copying data between two estates.
The operational side matters as much. Transactional databases serve the application; a change data capture stream carries its changes onward; the analytical estate consumes them. Where an organisation extracts data by querying production systems on a schedule, it creates load, latency and coupling — and the first symptom is a nightly job that fails when a schema changes.
Vector stores are the newest addition and are frequently over-applied. They are appropriate for semantic search and for grounding AI responses in documents. They are not a database, they do not replace structured query, and they inherit every problem of the source they index, including staleness and permissions. Placing a vector store before defining the authoritative source produces confident answers derived from a stale copy.
- Default new analytical workloads to a lakehouse with open table formats.
- Keep operational databases for operational work; never query them for reports.
- Use change data capture rather than scheduled extracts from production.
- Treat a vector store as a derived index with a rebuild path.
- Enforce entitlements before retrieval, never after.
- Define retention and deletion per store; copies multiply obligations.
Batch, streaming and the contract between them
Batch remains appropriate for reconciliation, regulatory reporting and anything that must be reproducible at a point in time. Streaming suits operational monitoring, personalisation and fraud, where a delay changes the value. The architectural error is not choosing one; it is using batch to simulate real time, which produces latency, cost and fragile scheduling.
Events are the pattern that makes a landscape coherent. Rather than each consumer extracting from a producer, the producer publishes a fact — an order placed, a payment settled, a customer updated — and consumers subscribe. The discipline required is semantic: events must describe something that happened, carry a stable identifier, and be versioned. An event that describes a state rather than a change forces consumers to reconstruct history.
Contracts are what make either pattern safe. A contract states the structure, the meaning, the quality expectations and the versioning rules, so a change on one side is a managed event rather than an outage on the other. Publishing without a contract is the reason data engineering teams spend their lives responding to breakages they did not cause.
| Pattern | Use | Requirement |
|---|---|---|
| Batch | Reconciliation, reporting, history | Reproducibility and scheduling discipline |
| Change data capture | Keeping analytical estate current | Schema change handling |
| Event stream | Realtime reactions and notifications | Stable identifiers and versioning |
| API pull | Small volumes, ad hoc access | Rate limits and contracts |
| File drop | External parties and legacy | Validation and quarantine |
Quality measured as a service level
Data quality is usually described as a set of dimensions: completeness, accuracy, timeliness, consistency, validity and uniqueness. Useful as vocabulary, useless as a control. What changes behaviour is a published service level per data product — for example, that ninety-nine percent of records arrive within fifteen minutes and that the customer identifier is never null.
Tests must run as code, versioned with the pipeline, and fail loudly. A test that logs a warning into a dashboard nobody reads is not a control. The practical set is small: row count against expectation, null rate on critical fields, referential integrity against the canonical entity, distribution drift against history, and freshness. Five tests per product, enforced, beat a hundred aspirational rules.
Ownership completes the loop. When a test fails, someone must be accountable, and the consumer must know the data is suspect. Publishing quality status alongside the data — a visible indicator in the catalogue and in the reporting tool — prevents the most damaging outcome, which is a decision taken on data that was already known to be broken.
- Publish a service level per data product: freshness, completeness, critical-field integrity.
- Implement tests as code, versioned with the pipeline, blocking rather than warning.
- Cover five dimensions per product rather than a hundred rules overall.
- Show quality status where the data is consumed, not only in a catalogue.
- Escalate failures to a named owner with a response expectation.
- Track incidents caused by data quality and their business impact.
Catalogues, lineage and answering the impact question
The question that metadata exists to answer is not “what data do we have” but “if I change this, what breaks, and if this number is wrong, where did it come from”. A catalogue that lists tables without lineage answers neither, and becomes a search engine for assets rather than an instrument of control.
Column-level lineage from source to report is the target, and it is achievable incrementally: capture lineage automatically from the transformation layer rather than asking engineers to document it. Where automation is impossible, a manual register of critical reports and their sources covers the cases that matter without pretending to completeness.
Impact analysis is the payoff. Before a schema change, the producing team can see every downstream consumer, notify them and set a date. Before a regulatory question, an analyst can trace a reported figure to its source and to the rule applied. Both are routine in organisations with lineage and near-impossible without it, and the cost of their absence is paid in delivery delay rather than in a budget line.
- Capture lineage automatically in the transformation layer; do not rely on documentation.
- Target column level for critical data, table level elsewhere.
- Register critical reports and their sources where automation is impossible.
- Require impact analysis before any breaking schema change.
- Use lineage to answer provenance questions during audits.
- Track the proportion of critical data with lineage coverage.
Classification, access and retention that is enforced
Data governance fails when it is a committee issuing policy. It works when classification is attached to the data at source, access is granted by policy rather than by request, and retention is executed by a job rather than remembered by a person. Those three mechanisms cover most of what any framework asks for.
Classification should be a property of a field or a dataset, set at creation and inherited downstream. That inheritance is what stops the common failure where a sensitive field is masked in one table and exposed in a derived one. Access policies then reference the classification rather than individual tables, so a new dataset with the same classification is protected automatically.
Retention and residency complete the picture. Retention needs a rule per class, an owner and a deletion job with evidence — the same discipline described for consent lifecycles. Residency needs a location per class and a check that prevents a pipeline from writing regulated data to an unapproved region. Both are more credible as automated controls than as statements in a policy.
- Attach classification at creation; inherit it through every derivative.
- Write access policies against classification, not against table names.
- Automate deletion with evidence per data class.
- Enforce residency at the pipeline level, not by review.
- Log access to sensitive data and review for unnecessary access.
- Keep one register mapping data classes to obligations and owners.
Grounding data for AI, and why it is a data problem
Retrieval augmented generation is often described as a model technique. It is a data architecture problem with a model attached. The questions that determine output quality are which sources are authoritative, how they are chunked, how versions are tracked, how permissions are enforced and how freshness is maintained — all of which are the same questions asked of any reporting estate.
The document problem is harder than the structured one, because documents are superseded, duplicated and inconsistently named. A workable pattern keeps a source register with an owner and a status per document, derives chunks with metadata pointing back to the source version, and rebuilds the index when sources change rather than on a schedule. Citations then resolve to a specific version, which is what makes an answer auditable.
The permission problem is the one that creates incidents. Filtering retrieved chunks by the requesting user’s entitlements, before the model sees them, is the only reliable control. Any design that retrieves first and filters afterwards will eventually surface content across a boundary, and the failure will be discovered by a user rather than by a test.
| Requirement | Implementation | Risk if skipped |
|---|---|---|
| Authority | Source register with owner | Answers cite superseded policy |
| Versioning | Chunk metadata to source version | No audit trail for an answer |
| Permissions | Entitlement filter pre-retrieval | Cross-boundary disclosure |
| Freshness | Event-driven rebuild | Confidently stale answers |
| Chunking | Structure aware | Fragmented or misleading context |
| Evaluation | Question set with expected answers | Silent quality decline |
Master data, matching and the golden record
Master data management is the discipline of agreeing what a customer, product or supplier is, and maintaining one authoritative record. It matters because every analytical question that involves a customer count depends on whether the same person is one record or three, and because regulatory reporting is judged on the accuracy of that identity.
Matching is the technical core. Deterministic matching on strong identifiers — a tax identifier, an account number — is reliable but incomplete. Probabilistic matching on name, date of birth, address and contact details catches more duplicates at the cost of false merges, which are considerably worse than missed duplicates because they combine two real people. Thresholds should be tuned to favour under-merging, with manual review for the ambiguous middle.
The golden record is a governance outcome, not a technology one. It requires agreement on which source wins for each attribute, who may change it, and how a correction propagates. Without that agreement, an MDM tool produces a fourth version of the customer that everyone argues about, and the programme quietly loses credibility.
- Agree the identity rules before buying a tool.
- Prefer deterministic matching, with probabilistic as a candidate generator for review.
- Tune thresholds against false merges; combining two people is worse than missing a duplicate.
- Define source precedence per attribute, with an owner for each decision.
- Propagate corrections with a defined process and an audit record.
- Measure duplicate rate and its trend, not the number of records mastered.
Data platform economics and the copies nobody budgets for
Data estates grow without a decision. A pipeline adds a copy, a team adds an extract, a sandbox never gets deleted, and within two years the organisation holds six versions of the same transactional history. Each copy carries storage cost, compute cost, a governance obligation and an eventual deletion problem, and none of them appeared in a business case.
The useful controls are architectural rather than financial. Keep one raw copy per source and derive everything else on read, so transforming data does not duplicate it. Put a retention policy on every sandbox with an automatic expiry. Charge storage and compute back to the consuming domain so that the cost is visible where the decision is made. And measure copies per source, which is a more actionable number than total storage.
Compute is the other half. Analytical engines bill by data scanned, so an unpartitioned table and a query that reads every column cost an order of magnitude more than a well-designed one. The platform team can fix most of this centrally through partitioning standards, file sizing, clustering and query guard rails — which is again cheaper than asking hundreds of analysts to be careful.
- Keep one raw copy per source and derive on read.
- Expire sandboxes automatically; unowned storage never shrinks.
- Charge back by domain so cost sits with the decision.
- Measure copies per source, not only total terabytes.
- Set partitioning and file-size standards centrally.
- Guard expensive query patterns at the platform rather than by policy.
Migrations, cutovers and the parallel period nobody funds
Data migrations fail in the same three places: scope, reconciliation and the parallel run. Scope fails when the migration takes every historical record when only the live and statutory periods are needed. Reconciliation fails when the definition of done is “loaded successfully” rather than “matches the source on an agreed set of controls”. And the parallel run fails when it is not funded, so the old and new systems are compared for a fortnight instead of a quarter, and the differences surface after the old one is switched off.
A workable cutover defines four things in advance: the controls that must match and their tolerances, the period during which both systems run and who compares them, the rollback condition and how long the rollback remains available, and the decommissioning date for the source. The last is the one most often omitted, and its absence is why organisations run two systems of record for years.
Customers and downstream consumers need their own plan. Reports must move, extracts must be repointed, and reconciliations must be re-based. Migrations that succeed technically and fail commercially are usually the ones where the data moved and the ninety downstream consumers were discovered afterwards.
- Migrate the live and statutory periods; leave the archive in place.
- Define controls and tolerances before the migration begins.
- Fund a parallel run long enough to find the differences.
- State a rollback condition and an expiry for the option.
- Name the decommissioning date for the source at the outset.
- Inventory downstream consumers before cutover, not after.
Not “loaded without error” but “matches source on agreed controls, consumers migrated, source decommissioned”.
The three revenue numbers and the meeting that ended them
A retail group holds a quarterly review in which finance presents revenue from the general ledger, commercial presents a larger figure from the order system, and the leadership dashboard shows a third derived from a legacy extract. Each is defensible within its own definition, and the first forty minutes of every review are spent reconciling them.
A canonical definition exercise takes three weeks and resolves the debate. Revenue means invoiced value net of credit notes and returns, recognised in the period of delivery. The order system’s figure includes cancellations that never invoiced; the legacy extract predates a returns policy change. The definitions are written down with their sources, owners and calculation rules.
The architecture change is modest: one conformed revenue data product built from the ledger and the invoice stream, with tests for the reconciliation and with every report and dashboard migrated onto it. The legacy extract is retired. The quarterly review now starts with the business rather than with an arithmetic dispute, and the finance team reports that the hours returned exceed the cost of the work — before counting the decisions that are no longer deferred.
Most reporting disputes are definitional, not technical. Resolve the definition once, in writing, and retire the alternatives.
How to tell whether data architecture is working
The most useful measure is time to answer a new business question — from the question being asked to a trusted answer. It combines discovery, access, quality and semantics, and it improves only when all four do. Organisations with good data architecture answer in days; those without answer in weeks and are not believed.
Supporting measures are contract coverage, quality service level attainment, lineage coverage for critical data, and the count of duplicate definitions still in use. Each is objective and each points to a specific intervention. A falling count of duplicate definitions is the clearest evidence that the semantic work is landing.
Cost measures matter too, because data estates grow silently: storage cost per terabyte retained, the share of pipelines with an owner, and the number of redundant copies of the same dataset. Copies are the most expensive form of redundancy, because each one carries a governance obligation as well as a bill.
| Metric | What it shows | Direction |
|---|---|---|
| Time to answer a new question | Overall capability | Falling |
| Contract coverage of shared data | Integration discipline | Rising |
| Quality service level attainment | Reliability | Rising |
| Lineage coverage of critical data | Control and provenance | Rising |
| Duplicate definitions in use | Semantic consolidation | Falling |
| Pipelines without an owner | Operating risk | Falling to zero |
Careers in data architecture
Roles divide broadly into modelling and semantics, platform and engineering, and governance. The people who are most valuable straddle two: someone who can model a domain and design the pipeline that delivers it, or someone who can define a policy and enforce it in code. Pure documentation roles are being absorbed into engineering.
Entry is usually from data engineering, analytics, or a domain role with heavy data exposure. The fastest development is taking one domain end to end: canonical definition, contract, pipeline, quality tests, catalogue entry and consumer migration. That experience teaches the interactions that no framework covers.
Progression runs to data architect, head of data platform, or data governance leadership. The evidence that distinguishes a candidate is a definition they resolved and retired the alternatives for, a quality regime that reduced incidents, and a migration that consumers accepted rather than worked around.
- Learn modelling and semantics before tooling; tools change, definitions persist.
- Take one domain end to end, including consumer migration.
- Understand lineage and impact analysis as engineering problems.
- Study privacy and residency obligations; they constrain design.
- Learn enough AI grounding to know why retrieval quality is a data problem.
- Keep a record of duplicates retired and copies eliminated.
Questions this page answers
What is a data product?
Do we need a data mesh?
Warehouse or lakehouse?
Why do different teams report different numbers?
How much lineage is enough?
Should we extract from production databases for reporting?
What quality tests should every product have?
Is a vector database a data store?
How do we stop sensitive data leaking through derived tables?
What is the hardest part of master data management?
How does data architecture affect AI quality?
What is the single best measure of data architecture?
How many data domains should an enterprise define?
What is a golden source and who decides it?
Should analysts query raw data or curated products?
How do we handle unstructured documents?
What is the first thing to fix in a fragmented estate?
Sources and standards
Settle the definition, then build the pipeline
The enterprise architecture courses cover modelling, data products, lineage and governance with worked design exercises.
