Data migration

Secure and High-PerformanceData Migration Services

Copying rows is the small part of a data migration. The real work is proving the data still means the same thing. We have done this from MySQL 5.0 to 8 and on live loyalty balances.

The copy is easy. Knowing it is right is the job.

Moving rows between databases is a solved problem. What is left is proving that the result means the same thing: that a customer's balance is the same balance, that an order still points at the right customer, and that a date is still a date. Most of our effort on a data migration goes on that proof.

Two projects show the range. A cabinet manufacturer's database moved from MySQL 5.0 to MySQL 8, with data validation at every step, as part of an eight-month application rebuild. A loyalty-card system moved to a new Laravel schema with every card, balance and rule kept intact, in a two-month project.

What old databases hide

How we run it

We start with a profile of the source: row counts, null rates, distinct values and anything that fails a basic rule. A mapping document then says, field by field, where each value goes and what transforms it. Business owners review that document, because they are the ones who know what a status code means.

The migration itself is a script, kept in version control and run repeatedly against copies of production. Each rehearsal gets faster and finds fewer problems, and it gives you a measured time for the cutover window instead of a guess.

What gets reconciled

Cutover and rollback

For a short window, the source stops taking writes, the final delta runs, reconciliation runs again, and someone with the authority signs off. If the figures don't agree, the rollback is simply to carry on with the old system. That choice stops being simple once new data lands in the target, so rollback has a deadline, and you should agree it before the night itself.

Data migrations we have delivered

Data migration questions

Can we clean the data during the migration?

Some of it, and it is often the best chance you will get. Keep cleaning rules explicit and reviewed, and report separately on what changed, so that reconciliation can still explain every difference from the source.

How long does a data migration take?

It depends on how well the source is understood and how much of its meaning is undocumented, more than on its size. After a profile of your data, we can give you a proper estimate.

What would worry you most if it came across wrong?

Tell us the source, the target and the figures that must not change. We will tell you how we would prove they didn't.

We reply within one business day (IST).