Data Observability
Elementary, data-diff, Soda, Monte Carlo — freshness, anomaly, and lineage monitoring for pipelines.
Data Quality & Testing is the assertions you write. Data observability is the monitoring that runs in production: freshness SLAs, row-count anomalies, schema drift, column-level statistics — usually paired with Data Catalog & Lineage. For application observability (Sentry / OTel / Prometheus), see Observability & Errors and Prometheus Stack.
Open-source / free-tier
- ★ Elementary Data — runs over dbt artifacts; freshness, schema-change, anomaly, dbt-test results in one UI. Apache 2.0 OSS + paid Elementary Cloud. The default OSS pick if you live in dbt.
- ★ Datafold's
data-diff— diff two tables / two warehouses / two dbt environments; MIT. The default for "did my refactor change the output?" - Soda Core — assertions framework; lighter on ongoing monitoring than Elementary; Apache 2.0; see Data Quality & Testing. Hosted Soda Cloud adds anomaly + alerting.
- Re_Data — dbt-native anomaly detection; MIT; less active in 2026 than Elementary.
- Whylogs (WhyLabs) — log statistical profiles per dataset / model; Apache 2.0; pairs with WhyLabs Cloud.
- Pydeequ / Deequ (Amazon) — Spark-based; Apache 2.0; for Spark-heavy environments.
Hosted / paid
- ★ Monte Carlo — the category leader; paid; "data downtime" framing; small free trial. Pricey but the most polished.
- Bigeye — same niche; paid; ML-driven thresholds.
- Acceldata, Anomalo, Sifflet, Lightup, Validio — competitors in the data-observability SaaS space.
- Datafold Cloud — adds CI / column-level lineage on top of
data-diff. - Metaplane — modern data-observability SaaS; small free tier.
Lakehouse-native observability
- Apache Iceberg metadata tables (
snapshots,files,manifests) — query directly for compaction / freshness signals. - Delta Lake history + Databricks Unity Catalog observability — paid Databricks features.
- OpenLineage events → Marquez / DataHub / OpenMetadata for lineage-based anomaly signals; see Data Catalog & Lineage.
ML-specific drift / monitoring
- ★ Evidently AI — open-source ML monitoring; data + concept drift; Apache 2.0.
- NannyML — concept drift specifically; Apache 2.0.
- Whylogs / WhyLabs, Arize, Fiddler, Truera — broader ML observability; mostly paid.
- See AI/LLM and AI Evals for LLM-specific observability.
Patterns to adopt
- Freshness SLAs per asset. "This table must be < 1h stale" is the most actionable observability signal; alerts on it pay back fast.
- Row-count anomalies. Yesterday's count vs. 7-day-rolling-avg; cheap and catches a lot.
- Schema drift alerts. Column added / dropped / type changed → notify owner. Most catalogs and observability tools include this.
- Column-level statistics. Min/max, null %, cardinality — store nightly and diff. Surfaces "loaded the wrong file" silently-bad-data fast.
- Lineage-aware alerts. When the upstream
orders_rawis stale, suppress downstream noise; Elementary / Monte Carlo do this. - CI data-diff on every PR. Datafold's
data-diffagainst staging vs. prod for changed dbt models; catches accidental SQL semantics changes.
Pick this if…
- Default OSS for dbt teams: Elementary.
- Default CI diffs: Datafold's
data-diff. - You want assertions + observability in one OSS tool: Soda Core + Soda Cloud.
- Pay for polish: Monte Carlo or Metaplane.
- ML pipelines: Evidently or NannyML.
- Lakehouse-native: Iceberg metadata + OpenLineage + a catalog.