Watching for Drift with Reconciliation Monitors
Two databases that agreed yesterday are not guaranteed to agree today. A reconciliation monitor re-runs the comparison on an interval and tells you the moment they diverge — useful after a cutover, during a dual-write period, or anywhere a replica is expected to track a primary.
Before you start
- Two connected data sources with tables in common.
- A webhook endpoint or alert destination, if you want more than an in-app entry.
- An honest interval: exact checks on large tables are real work for both databases.
Steps
- 1
Open Reconcile from the sidebar and connect the two data sources you want compared
- 2
Create a monitor: pick source, target, check interval (15 min – 24 h) and depth (sampled or exact)
- 3
Every interval, all common tables are compared — row counts plus type-aware checksums
- 4
The moment a pair drifts apart you get a reconciliation_divergence webhook and an alert entry
- 5
Alerts fire on the transition into divergence only — a persistent mismatch won't re-alert every interval
- 6
Use 'Run now' for an immediate check after a fix
What goes wrong
Sampled and exact answer different questions
Sampled catches broad divergence cheaply and can miss a single changed row. Exact catches everything and costs a full scan. Use sampled on a short interval and exact on a nightly one rather than compromising on both.
Alerts fire on the transition, not the state
A monitor that is still diverged will not alert every interval — that is what stops a known problem burying a new one. Check the monitor's current state, not just your inbox.
Expected differences will alert
A target with extra audit columns or a different retention policy diverges legitimately and forever. Scope the monitor to the tables that are meant to be identical.