Ship database changes without migration-day anxiety. Test schema changes, version upgrades, and query optimizations against real production workloads before deployment.
Major database changes carry significant risk. Schema migrations, version upgrades, and query optimizations can break production in unexpected ways. Traditional staging environments lack production scale, traffic patterns, and edge cases that only emerge under real load.
Built in Rust with Tokio, ScryData eliminates migration-day anxiety by validating database changes against real production workloads. Catch breaking changes in hours, not after deployment.
scry ci commandScryData sits transparently between your application and database, capturing production traffic and replaying it against your shadow database—with full instrumentation to see exactly how your changes perform.
Replay production queries against your shadow database with complete telemetry—see exactly how your changes perform under real load
Adapt incoming queries to match new schemas or query patterns—test breaking changes without breaking production
Compare latencies, catch errors, and spot result mismatches between production and shadow databases
ScryData captures every production query transparently
Optionally rewrite queries to match your new schema or data patterns
Execute queries against your shadow database with your proposed changes
Full instrumentation reveals performance impact, errors, and regressions
Real regression caught before production. No pages. No incident channel.
The Regression
query slowdown from a missing index
Before Fix
sequential scan on 25,000 rows
After Fix
index scan, regression eliminated
A teammate added a region column to the orders table — backfilled, CI green, PR approved. Staging never caught it. ScryData replayed production traffic against the shadow database and flagged the regression before the PR merged. Three-line fix. Zero customer impact.
ScryData was born from real-world pain. After executing 100+ production database migrations at enterprise scale, we knew there had to be a better way to validate database changes without the anxiety.
Hands-on experience migrating critical production databases at scale
Every failure mode we've seen is built into ScryData's design
Background in high-throughput systems serving critical workloads
We believe database migrations shouldn't be high-stakes gambling. ScryData brings production-scale validation to every team, eliminating the anxiety and risk of migration day. We built the tool we wished we had—now we're sharing it with you.
Shadow database testing means applying your proposed schema change to a copy of your database that's receiving real production traffic — before you deploy. ScryData proxies queries between your application and PostgreSQL, captures every query, and replays it against the shadow. If a query that ran in 3ms now takes 200ms after your migration, you know before your users do.
pt-upgrade is a Percona Toolkit utility that replays MySQL slow-log files against two instances to validate version upgrades. ScryData is built primarily for schema migrations — validating that your index additions, column changes, or table restructures don't regress query performance before you deploy. It also works for upgrade testing (new database version, same schema). The key technical differences: ScryData captures live traffic continuously via a wire-protocol proxy rather than replaying static log files, and uses CDC replication to keep the shadow database current with production data, so you're always testing against real data distribution and volume.
Less than 1ms per query at p50, benchmarked on commodity hardware against PgBouncer as the baseline. At 100 concurrent connections, scry-proxy adds roughly 1% latency. Event publishing to the shadow replay pipeline is fully async and best-effort — if the buffer fills, oldest events are dropped rather than slowing down queries. Observability never sits in the query path.
Join platform engineers, database architects, and SREs derisking major database changes with production-scale validation.