Libero LabsLimen
Menu

Use case · Migrations

Migrate with receipts.

Limen runs your old and new systems side by side against the same rules, so you can show the new one delivers what the old one promised before you cut over.

The old system on Redshift and the new system on Snowflake run the same rules on the same data through the same four steps: Raw data, Cleaned, Combined, Report. Five of six checks pass on both; one fails on the new system and is flagged for review. Cut over when every check passes.Old system · RedshiftNew system · SnowflakeSame rules for both5 of 6 pass on both1 fails on the new systemCut over when every check passes on the new system.
See all six checks
CheckOld systemNew system
row_count412,884412,884
sum(revenue_usd)$8,114,902.40$8,114,902.40
null(refund_at) ≤ 0.25%0.21% ✓0.34% ✗
distinct(customer_id)71,40271,402
join.orders→itemsno orphansno orphans
freshness04:12 UTC03:41 UTC

Parallel run · orders_daily · 2026-06-14. Five of six checks pass on both systems. One fails on the new system and is flagged for review before cut-over.

What goes wrong today

Migrations break the same four ways.

  • Hidden dependencies.A report relied on a column being sorted, a string being trimmed, or a join ignoring case, and nobody wrote it down.
  • Quiet drift.Row counts match, but a null rate, a percentile, or a rare value has changed.
  • Timing changes.The new system delivers 31 minutes earlier on weekdays and 2 hours later on weekends.
  • Changed definitions.A vendor changes what an “active customer” is, and the two systems start to disagree about who counts.

How it works

Every difference becomes a decision, not a surprise.

  1. 01

    List what people rely on.

    We work with your team to write down what downstream teams depend on: row counts, null rates, joins. Those become the rules both systems are checked against.

  2. 02

    Agree the rules.

    The data team reviews them. The teams that use the table approve them.

  3. 03

    Run both side by side.

    Old and new run against the same rules, checked on every batch, every day.

  4. 04

    Decide, then cut over.

    Each difference is shown with the check that failed. You fix it or accept it, then cut over with a record of the result.

A small first step

One table. Two weeks.

We take one critical table in your old system, write down what it is relied on for, and run it against your new system side by side for two weeks. The record is what you keep.