The same dashboard can fail two completely different ways
Friday afternoon. The finance team flags that the quarterly report looks wrong. You check the data quality dashboard: every test is green. You check the pipeline: it ran on schedule and completed without errors. You check the dataset: the refresh succeeded. Everything your tooling is watching says the data is healthy.
The problem is in the source system. A batch job that writes the previous day's transactions started running two hours late on Thursday night. The ADF pipeline copied data at 02:00 as scheduled, but the source had not finished writing yet — the batch was still mid-run. The result: a partial load. Row counts are down 31% from Wednesday's baseline, but they are not zero, so the volume check did not fire. The timestamps look recent. No rules were violated.
This is the gap between data quality monitoring and data observability. The data quality tool was doing its job correctly. The observability signal — a 31% volume deviation from the day-of-week baseline — was not being watched.
Understanding why these two disciplines solve different problems is the fastest way to stop discovering incidents from your users. A data observability platform covers both layers, but the mental model behind each is worth understanding before you buy anything.
Data quality monitoring: excellent at what you anticipated
Data quality monitoring is rule-based. You define what 'good' means for each column, table, or relationship, and the tool enforces it on a schedule. Typical assertions:
order_idmust not be nullrevenuemust be between 0 and 10,000,000country_codemust be one of a known list- The
customertable must join cleanly toordersoncustomer_id - The number of rows in
fact_salestoday must be within 20% of yesterday
The tools in this category — dbt tests, Great Expectations, Soda Core, Elementary — are mature, open source, and excellent at what they do. They are the right first investment for any data team that has not yet written a single assertion.
The fundamental constraint is also the definition: data quality tools catch what you anticipated. A rule that checks for nulls in customer_id will never fire on a schema change that renames customer_id to cust_id upstream. It will return zero rows checked, which most tools report as zero violations. The signal is silence, not an alert.
According to a 2024 industry survey by Monte Carlo, an estimated 70 data incidents per 1,000 tables per year surface on average — and the majority are not caught by predefined data quality rules. The unknowns, the first occurrences, the gradual drifts: these are outside the scope of rules by definition.
Data observability: watching for patterns you did not write down
Data observability uses a different detection mechanism. Rather than asserting what the data should look like, it learns what normal looks like for each table, each pipeline, each refresh cycle — and alerts when reality deviates from that baseline.
The signals it watches:
Freshness — Is the most recent timestamp in this table what the schedule would predict? A table that normally updates by 06:00 but whose watermark still shows yesterday at noon indicates the source stopped writing, even if the pipeline ran successfully.
Volume — Did this table receive approximately the right number of rows? Comparing current loads against a day-of-week baseline catches partial loads, zero-row copies, and upstream truncations that produce no error in any tool.
Schema drift — Did any column appear, disappear, or change type between refreshes? This catches the renamed column before Power BI visuals go blank.
Pipeline duration — Is this job taking significantly longer than its historical baseline? Duration anomalies are leading indicators of eventual failures.
None of these require you to write a rule. The platform learns the baseline from history and alerts on deviation. That is the distinction: data quality monitoring is prescriptive; data observability is empirical.
For teams running a modern data stack — Snowflake or Databricks as the warehouse, dbt Core or dbt Cloud for transformation, Power BI as the consumption layer — observability is the connective tissue. It watches the connections between tools, not just the data inside each one. See also Databricks and Power BI monitoring for a concrete example of what breaks at the connector layer.
The practical difference: a side-by-side scenario
Here is the same failure mode, detected (or not) by each approach.
Scenario: An upstream Snowflake table is truncated and partially reloaded by a batch job. The partial reload results in 9,000 rows instead of the expected 55,000. The timestamp on the most recent row is correct — it was written during this run.
| Check | Data quality tool | Data observability tool |
|---|---|---|
Null check on order_id | Passes (no nulls in the rows present) | Not applicable |
Range check on revenue | Passes (values within expected range) | Not applicable |
| Volume baseline check | Depends — fires if you wrote a row count assertion | Fires automatically (31% of expected volume) |
| Freshness check | Passes (timestamps look recent) | Passes (timestamp is current) |
| Schema drift | Passes | Passes |
| Alert fires? | Only if a row-count rule was pre-written | Yes — volume deviation detected |
The data quality tool has coverage over the values in the data. The observability tool has coverage over the behaviour of the pipeline. A row count rule in the quality tool would catch this specific case — but it requires you to have anticipated the threshold. The observability tool catches it without a prior rule, because the load is out of baseline.
MetricSign monitors this combination — both rule-based checks and baseline anomalies — across Power BI, Snowflake, ADF, Databricks, dbt, Fabric, Tableau Cloud, Airflow, and Qlik Cloud, so the same incident feed covers both detection modes.
Where data quality tools stop and observability takes over
The two categories are complements, not substitutes. A mature data stack runs both, but the sequencing matters.
Start with data quality monitoring if you have no assertions at all. The leverage is enormous and the cost is low. A day of writing dbt tests or Soda checks on your 20 most-watched datasets will produce immediate, measurable improvement in incident detection.
Add observability when: - Rules are in place but incidents are still reaching users before the team - You have unknown failure modes that rules cannot anticipate - The pipeline spans multiple tools and the failure in one does not propagate as an error to the next - You need freshness and volume monitoring without writing a threshold rule per table
The practical ceiling of pure rule-based monitoring is the scope of your imagination at the time you wrote the rules. Data pipelines change. New sources are added. Schema changes land from upstream teams without notice. Observability watches the whole pipeline without a rule per scenario.
For teams running Databricks alongside dbt Cloud and Power BI, the most common gap is exactly this: dbt tests pass inside the warehouse, but the Databricks job that feeds the warehouse ran late, produced 40% fewer rows, and nobody wrote a rule that watched the handoff between layers. That is the observability gap. See data quality monitoring tools for a more detailed breakdown of which tools handle which part of this problem.