Tooling

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_raw is stale, suppress downstream noise; Elementary / Monte Carlo do this.
  • CI data-diff on every PR. Datafold's data-diff against 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.

On this page