Schema Reliability & Stability
Saddle Data provides a comprehensive suite of features designed to prevent "silent breaks" in downstream reports and BI tools when your source data schema changes.
The Problem: Silent Breaks
In modern data stacks, it is common for application developers to rename or drop columns in a production database. When this happens, downstream syncs typically fail, or worse, they continue to run but produce broken reports (e.g., a Looker dashboard looking for a column that no longer exists).
Saddle Data solves this through three layers of protection: Visibility, Prevention, and Resilience.
1. Visibility: Schema History
Every time a Flow detects and applies a schema change (e.g., adding a new column in Automatically Update Destination mode), it records a Schema Evolution event.
You can view these changes in the Schema History tab of any Flow. This provides a chronological audit log of:
- When a change occurred.
- What columns were added.
- Which run triggered the evolution.
2. Prevention: CI/CD Impact Checks
The best way to handle a breaking change is to catch it before it hits production. Saddle Data provides an API and CLI tool to simulate schema changes in your CI pipeline.
By running sd-cli check-impact, developers can see exactly how a proposed database migration will affect their Saddle Flows.
- Breaking: Columns being dropped or type mismatches.
- Evolution: New columns being added.
- None: No impact.
See the CI/CD Impact Checks guide for setup instructions.
3. Resilience: Managed Stable Views
The Stability Layer is a unique feature that decouples your BI tools from the underlying raw tables.
When Enable Stable View is toggled on for a mapping:
- Proxy Table: Saddle syncs data into a hidden internal table (e.g.,
_sd_proxy_users). - Public View: Saddle automatically manages a public SQL View (e.g.,
users) that selects from the proxy table.
Why use Stable Views?
If a column is dropped at the source, Saddle will detect the drift and (depending on your policy) may pause the flow. However, the Public View remains valid. Instead of failing with a "Column not found" error, downstream tools will simply receive NULL for that column until you resolve the drift.
This gives your data team time to update reports without causing immediate production outages in your dashboards.