Data Reliability Field Guide · Updated June 2026
FRESHNESSVOLUMESCHEMALINEAGEDISTRIBUTION

Data Observability vs Data Quality: the difference, and why neither works alone

A pipeline can finish on schedule, pass every orchestration check, and still load a table full of wrong numbers. A dataset can look statistically normal and still be silently stale. These are two different failure classes — and most “data reliability” strategies only cover one of them.

Direct answer

Data quality measures whether the values inside your data are accurate, complete, and fit for business use — checked against rules someone explicitly wrote. Data observability measures whether the systems and pipelines producing that data are behaving normally — tracked continuously across freshness, volume, schema, lineage, and distribution. Quality answers “is this number trustworthy?” Observability answers “did anything change in how this number got here?” Per Gartner’s February 2026 Market Guide, 53% of data and analytics leaders had already deployed observability tooling, with agentic AI workloads — not dashboards — cited as the primary driver of remaining adoption.

53%Leaders already running data observability tooling — Gartner 2025 AI-Ready Data Survey
$2.75B2025 global data observability market size, per Fortune Business Insights
$7.86BProjected market size by 2034 — 12.4% CAGR
5Pillars of observability: freshness, volume, schema, lineage, distribution

What data quality actually checks

Data quality is a judgment about content. It asks whether a specific value, row, or table matches a rule someone wrote down in advance because they already know what “wrong” looks like for that piece of data. A customer record with a null email where email is required is a data quality failure. A revenue figure that’s negative when revenue can’t be negative is a data quality failure. The check is deterministic — it either passes or it doesn’t, and there’s no ambiguity about why.

This is also the discipline’s limitation. Quality rules only catch what someone anticipated. As Metaplane’s engineering team puts it, quality is a broad concept usually broken into measurable dimensions — accuracy, completeness, consistency, timeliness, validity, uniqueness — and high-quality data means you can trust it to drive decisions, while low-quality data leads to the kind of dashboard mistrust every data team eventually runs into.

The checks that show up in nearly every production model

  • Null and emptiness checks — required fields like user_id or order_date must never arrive empty
  • Range and domain checks — values like age, status, or discount_pct must fall inside an allowed set or numeric range
  • Referential integrity — every foreign key must resolve to a real row in the table it references
  • Uniqueness — natural keys like email or transaction_id shouldn’t contain duplicates that weren’t supposed to exist
Where this runs

Almost all quality testing happens against data at rest — tables already landed in a warehouse or lake. A test runs on a schedule, or as a gate inside a transformation job, and the result is binary: the data either conforms to the rule or it’s flagged.

What data observability actually watches

Observability is a judgment about behavior, not content. It doesn’t ask “is this value correct” — it asks “is this system acting the way it normally acts.” A job that always finishes by 6 AM and today finishes at 11 AM is an observability signal, independent of whether the data it eventually produced passes a single quality rule. A table that usually receives 2 million rows a day and today received 40,000 is an observability signal, again independent of whether those 40,000 rows are individually valid.

Per Atlan’s engineering writeup, observability borrows its underlying philosophy from software observability — applying the same instinct of continuous, automated signal-watching to data pipelines, transformations, and workflows instead of application code. Gartner has gone further, predicting that 50% of organizations running distributed data architectures will have adopted dedicated observability tooling by 2026 specifically to close this visibility gap.

What makes this fundamentally different from a quality rule

Most observability platforms don’t start from a human-written rule at all. They establish a statistical baseline from how a pipeline has historically behaved, then flag deviations from that baseline automatically. This is the mechanism that catches the failure nobody wrote a rule for — because nobody could have anticipated it in advance.

The blind spot

A pipeline can be fully “observable” — every job green, every freshness SLA met, every volume baseline normal — and still produce a table with broken joins or wrong aggregations. Healthy pipeline behavior does not guarantee correct output. That gap is exactly the boundary where observability stops and quality testing has to pick up the work.

The core difference, side by side

Most explanations of this topic reach for an analogy and stop there. The more useful version is to put both disciplines through the same five questions and see exactly where their answers diverge.

Data Quality

“Is this value trustworthy?”

Looks at content already landed. Deterministic pass/fail against rules a human wrote. Catches known failure modes someone already identified as a business risk.

Data Observability

“Did anything change in how this got here?”

Looks at system behavior across the full pipeline lifecycle. Statistical baseline with automatic deviation detection. Catches failure modes nobody anticipated in advance.

DimensionData QualityData Observability
What it evaluatesData at rest — values, records, tablesData in motion — pipelines, jobs, systems
Detection styleDeterministic — a defined rule, pass or failStatistical — baseline behavior, flagged deviation
TimingScheduled checks, or gated at load timeContinuous, near real-time across the lifecycle
CatchesKnown risks someone already wrote a rule forUnknown failures nobody anticipated in advance
Typical fixCorrect the record, or adjust the ruleFix the pipeline code, schedule, or infrastructure
Representative toolsdbt tests, Great Expectations, Soda, warehouse constraintsDedicated observability platforms, metric pipelines, lineage graphs

Per Revefi’s framing of this exact comparison: quality answers whether the dataset is trustworthy enough to use, while observability answers what changed, where it changed, and how the issue is spreading through the system. Teams confuse the two because a single real incident often produces symptoms in both categories simultaneously — a table fails a freshness threshold, a schema drifts, and downstream records become incomplete, all in the same hour. From the outside that reads as one problem. From an engineering perspective it is several related signals that happen to be firing together.

The five pillars of data observability, in depth

Every major vendor and analyst writing about this space — Gartner, Monte Carlo, Atlan, Acceldata — converges on the same five signals. They’re not arbitrary; each one maps to a distinct way a pipeline can go wrong without a single quality rule ever firing.

01

Freshness

Whether data arrived inside its expected time window. A retail sales table that’s supposed to update by 6 AM and is still showing yesterday’s numbers at 9 AM is a freshness failure — and it’s invisible to any quality rule, because the stale data itself might pass every content check perfectly.

Watches: job completion time vs. SLAPairs with: timestamp range checks on last_updated_at
02

Volume

Whether the number of records flowing through a pipeline matches what history would predict. A sudden 60% drop usually means an upstream source stopped sending data, a join silently filtered out rows it shouldn’t have, or a partition load failed midway through. A sudden spike can mean a duplicate run, a backfill gone wrong, or a source system double-firing events.

Watches: row counts vs. historical baselinePairs with: reconciliation checks across related tables
03

Schema

Whether the structure of a table — its columns, types, and constraints — changed without anyone updating the downstream code that depends on it. A column quietly renamed upstream, or a type changed from integer to string, is one of the most common silent breakers in production, because the pipeline often keeps running and simply produces nulls or errors three steps downstream instead of failing where the actual change happened.

Watches: column add/remove/retype eventsPairs with: schema conformance tests on critical outputs
04

Lineage

How data actually flows from source systems through every transformation to the dashboards and APIs that consume it. Lineage is what turns “this table looks wrong” into “this specific upstream job broke at 2:14 AM and here’s everything downstream it touched.” Without it, root-cause investigation during an incident is manual archaeology through pipeline code.

Watches: dependency graph across the full pipelinePairs with: verifying data sourced from systems of record, not shadow copies
05

Distribution

The statistical shape of the data itself — averages, percentiles, null rates, and cardinality. This is the pillar that catches the slow, quiet drift that never trips a hard rule: an average order value that creeps up 40% over three weeks because a currency conversion silently broke, not because anyone changed a single line of code that day.

Watches: statistical baseline shifts, outlier detectionPairs with: range and domain rules on the same fields
Worth noting

Every pillar in this list has a natural quality-testing counterpart. That pairing is intentional — the strongest implementations don’t pick one pillar or one discipline, they run an observability signal and a quality rule side by side on the same critical tables, so a single incident surfaces both what changed and whether the output is still trustworthy.

The tooling landscape, by category

The tool landscape shifts constantly, but the underlying categories haven’t changed. There’s a rule-and-contract category focused on quality, and a metrics-and-baseline category focused on observability. The most reliable teams don’t try to find one tool that does both — they pick one opinionated tool per category and wire both into the same orchestrator and alerting channel.

Data quality tools

  • dbt tests — built-in and package-extended checks that validate assumptions directly against models written in SQL, run as part of every dbt build
  • Great Expectations — a Python framework for writing human-readable expectations and running them as gated checks inside a pipeline
  • Soda and similar platforms — YAML- or UI-defined rules that run consistently across environments without requiring every check to be hand-coded
  • Warehouse-native constraintsNOT NULL, CHECK, and foreign key constraints enforced directly by Snowflake, BigQuery, or Fabric at the storage layer

Data observability tools

  • Dedicated observability platforms — managed tools (Monte Carlo, Acceldata, Validio, Elementary, and similar) providing end-to-end pipeline monitoring, anomaly detection, and automated lineage out of the box
  • General observability stacks extended for data — platforms like Datadog or Splunk, originally built for application telemetry, with data-specific dashboards layered on top
  • Custom monitoring frameworks — in-house metric emission from orchestrator tasks into Prometheus, Grafana, or OpenTelemetry, tracking SLAs without a dedicated vendor

Per the 2026 Gartner Market Guide for Data Observability Tools, the market itself is converging toward unified platforms that cover five distinct observation categories in one place — data content, data pipeline, data infrastructure, data lineage, and cost allocation — specifically because fragmentation across separate point tools was creating blind spots at every handoff between them.

An implementation blueprint — Airflow plus dbt

Buying a tool doesn’t make a pipeline reliable on its own. The orchestrator has to be the place where both disciplines are wired in as first-class steps, not afterthoughts bolted on once something breaks. The pattern below uses Airflow and dbt specifically, but the same five-stage structure works with any scheduler and any transformation framework.

01
Ingestion, with metrics emitted on completionPull data from source systems into the lake or warehouse. At the end of every ingestion task, emit record counts, run duration, and completion status as metrics — this is the raw signal everything downstream depends on.
02
Observability checks, gating downstream workAdd sensors that compare freshness and volume against historical baselines or defined SLAs. If a run is late or volume deviates significantly from baseline, raise an alert and gate downstream tasks until someone investigates — don’t let a transformation run silently on top of data that already looks abnormal.
03
Transformations, with runtime metrics loggedRun dbt models to build curated marts. Log runtime and row-count metrics at every model boundary so a regression in transformation behavior shows up as a trend, not just a one-time failure.
04
Data quality checks on the highest-stakes tables firstRun dbt tests or Great Expectations suites against the transformed tables. Prioritize the dimensions and facts that feed revenue, finance, and executive-facing dashboards — that’s where a quiet wrong number does the most damage to trust.
05
One alerting destination for both failure classesRoute observability alerts (late jobs, volume anomalies, schema drift) and data quality failures (failed tests, broken contracts) to the same shared channel, with clear ownership attached to each. Splitting them across separate channels is the single fastest way to create the “who owns this” confusion that slows down every incident response.
dbt test — referential integrity and range check on a fact table
version: 2models: – name: fct_orders columns: – name: customer_id data_tests: – not_null – relationships: to: ref(‘dim_customers’) field: customer_id – name: order_total data_tests: – not_null – dbt_utils.accepted_range: min_value: 0 max_value: 1000000
Airflow — gating downstream tasks on a freshness and volume check
from airflow.decorators import task from airflow.exceptions import AirflowFailException@task def check_freshness_and_volume(table: str, expected_min_rows: int, max_staleness_minutes: int): row_count, last_loaded_minutes_ago = get_table_metrics(table)if last_loaded_minutes_ago > max_staleness_minutes: raise AirflowFailException( f”{table} is stale: last loaded {last_loaded_minutes_ago} min ago” )if row_count < expected_min_rows: raise AirflowFailException( f"{table} volume anomaly: {row_count} rows, expected >= {expected_min_rows}” )return {“row_count”: row_count, “staleness_minutes”: last_loaded_minutes_ago}

Notice the ordering: the observability gate in step 2 runs before any dbt model in step 3 touches the data. This is deliberate. Running transformations on top of data that already looks abnormal wastes compute and produces a quality failure that’s actually downstream noise from an upstream problem — gating early means the team investigates the real cause instead of three layers of symptoms.

Patterns that work, patterns that quietly don’t

The theory rarely fails teams. The day-to-day execution details do. A handful of habits separate pipelines that stay reliable from ones that generate constant noisy alerts or surprise 2 AM incidents — and the difference is rarely the tool, it’s how the two disciplines are wired together.

Holds up in production
  • Freshness SLAs defined per table, not globally — a daily batch table and an hourly streaming table need different staleness thresholds, and one blanket SLA across both guarantees false alarms on one or silent failures on the other
  • Tiered quality coverage — strict, always-on tests on the tables feeding executive dashboards; lighter coverage on lower-stakes internal tables, matched to actual business impact
  • Root cause through lineage, not guesswork — when a quality test fails, the team’s first move is checking lineage and recent pipeline changes, not manually re-running queries to “see what looks off”
Quietly fails in production
  • Checks only at the very end of the pipeline — by the time a failure surfaces in the final table, hours of compute have already run on top of bad data, and root-cause investigation starts from the farthest possible point from the actual break
  • System metrics with no content rules — every job shows green, every SLA is met, and the team still ships a dashboard with broken joins, because nothing was ever watching whether the values themselves made sense
  • Alerts split across separate channels by team — pipeline failures in one Slack channel, quality failures in another, and during a real incident nobody can see both halves of the picture at once

Why agentic AI raised the stakes on this entire conversation

For most of this discipline’s history, the worst-case outcome of a silent data failure was a human looking at a wrong number and making a slightly worse decision. That’s still bad, but there’s a built-in pause — a person glances at a chart, something feels off, they ask a question before acting on it.

An autonomous agent consuming the same wrong number has no equivalent pause. It acts on the value immediately, at whatever scale and speed it operates, with no human positioned to catch the error before it propagates. Gartner’s own framing of this is direct: in agentic AI scenarios, a data quality failure doesn’t just produce a wrong report — it can trigger an autonomous agent to take the wrong action entirely, and the cost of that action scales with however much autonomy that agent has been given.

The adoption numbers reflect this directly

According to Gartner’s 2025 State of AI-Ready Data Survey — cited across the February 2026 Market Guide — 53% of data and analytics leaders had already implemented data observability tooling, with another 43% planning to within 18 months. That trajectory points to near-universal adoption inside a single product cycle, and the report is explicit that the acceleration is being driven by AI workloads specifically, not by the traditional dashboard-reliability use case the category originally launched on.

The market sizing data tells the same story from a different angle. Fortune Business Insights values the global data observability market at $2.75 billion in 2025, projecting growth to $7.86 billion by 2034 at a 12.4% compound annual growth rate — and explicitly attributes the acceleration to enterprises needing observability “to support business operations” as AI and analytics applications become the primary consumers of that data, not just human report-readers.

The new failure mode

Gartner specifically flags semantic drift as a category data teams weren’t watching for before agentic workloads existed — a subtle shift in what a field actually means or represents over time, even while its data type and basic validation rules stay technically unchanged. A quality rule checking that a status field contains one of five allowed values won’t catch the day someone silently redefines what “completed” means upstream. This is exactly the kind of failure that requires both disciplines layered together: observability to flag that the distribution of values shifted, and a human (or an AI-readiness review) to confirm whether the meaning actually changed.

None of this changes the fundamental relationship between the two disciplines. It just raises the cost of skipping either one. A team that has observability but no quality testing will know something changed without knowing whether the output can still be trusted. A team that has quality testing but no observability will eventually ship a confidently-wrong number with no idea which upstream change caused it. Both gaps are now expensive in a way they weren’t five years ago — because there’s an agent on the other end ready to act on whatever comes through.

Questions, answered directly

Q1. Is data observability replacing data quality testing?
No, and treating it as a replacement is the most common mistake teams make. Observability tells you when a pipeline is behaving abnormally — a job ran late, row counts dropped, a schema changed. Quality tells you whether the values inside the data are actually correct according to rules you define. A pipeline can run perfectly on schedule, with normal row counts and no schema drift, and still load wrong numbers because a join condition was subtly broken. Observability alone shows a healthy green pipeline in that scenario. Only an explicit quality test catches it.
Q2. What are the five pillars of data observability?
Freshness, volume, schema, lineage, and distribution. Freshness tracks whether data arrived within its expected time window. Volume tracks whether record counts match historical norms. Schema tracks structural changes that can silently break downstream queries. Lineage maps how data flows from source through transformation to consumption, which is what lets you trace an incident back to its actual cause. Distribution tracks the statistical shape of the data — averages, percentiles, null rates, cardinality — to catch anomalies that don’t trip a hard rule but are still clearly wrong.
Q3. Should a small team start with observability or quality testing first?
It depends on which failure mode is actually hurting you right now. If pipelines fail silently — jobs that don’t run, tables that go stale without anyone noticing — start with freshness and volume monitoring, since that closes a blind spot you currently have zero visibility into. If the complaint instead is that dashboards show numbers that are confidently wrong, start with explicit quality tests on the small number of tables feeding your most-trusted reports. Most teams eventually need both; the order should follow whichever symptom is currently costing the most credibility.
Q4. Why does agentic AI make the gap between the two more dangerous?
When a human sees a wrong number, there’s a pause to question it before acting. An autonomous agent consuming the same wrong value has no equivalent pause — it acts immediately, at scale, without anyone in the loop. Per Gartner’s 2025 State of AI-Ready Data Survey, 53% of leaders had already implemented observability tooling, with agentic AI workloads cited as the primary driver behind the remaining 43% planning adoption within 18 months. The cost of a silent failure now scales directly with how much autonomous action sits on top of that data.
Q5. Do quality tests and observability tools rely on the same underlying signals?
They overlap but aren’t identical. Quality tests are explicit and deterministic — a human writes a rule and the test passes or fails against that exact rule. Observability tools typically establish a statistical baseline from historical behavior and flag deviations automatically, without requiring someone to have anticipated the specific failure in advance. This is why observability catches unknown unknowns — an undocumented schema change, an unexplained volume drop — while quality testing catches known unknowns someone already identified as a business risk worth encoding as a rule.

Sources and further reading

Cited in this guide

Related on UIG Data Lab

Accuracy note

Market sizing and adoption figures are sourced from the Gartner Market Guide for Data Observability Tools, published February 23, 2026, and Fortune Business Insights’ Data Observability Market report. Market estimates vary across research firms depending on methodology and market definition — figures here represent one credible source among several, not a single agreed-upon industry number. Tool names referenced are illustrative of common categories, not exhaustive vendor recommendations. UIG Data Lab is an independent publication and is not affiliated with or endorsed by Gartner, dbt Labs, or Great Expectations.

Scroll to Top