practice

Data Migration Strategies

Moving data between systems with different models — where the difficulty is meaning and quality rather than transfer.

data-migrationqualityreconciliationhistorymapping

Definition

Data migration moves information from a source system to a target with a different structure and frequently a different semantics. The technical transfer is straightforward; the mapping and the quality problems are not.

The strategies

  • Big bang. All data moved in a window. Simple, high risk, requires a freeze and a tested rollback. Suitable only for small volumes or genuinely tolerant systems.
  • Phased by entity or segment. Migrate customers by region, or products by category. Lower risk, and requires both systems to operate concurrently with a routing rule.
  • Trickle with dual running. Both systems live, synchronised, cut over gradually. Lowest risk, highest complexity, requires reconciliation throughout.
  • Migrate on access. Move a record the first time it is touched, leaving cold data behind. Elegant, and leaves a long tail that must eventually be dealt with.

What actually makes it hard

Data quality. The source contains records that violate the target's constraints: missing mandatory fields, invalid references, duplicates, values in free-text fields that should have been structured. Every one needs a decision — fix, default, reject, or migrate to a quarantine — and those decisions are business decisions, not technical ones.

Profile the source data early. Discovering the quality problem during the cutover window is the classic failure.

Semantic mapping. A status of 3 in the source means something the target expresses differently, and the mapping is frequently not one-to-one. Domain experts must own these decisions.

History. How much do you bring? Full history is expensive and frequently unnecessary; none makes reporting discontinuous. A common answer is full detail for a recent window and aggregates beyond it — decided by the business, not by engineering.

Identifiers. New identifiers break external references, links and integrations. Preserving old ones carries the source's constraints forward. A mapping table is usually required and must persist.

Reconciliation

Not optional, and not only at the end: counts by entity and by segment, financial totals, and a sample of records compared field by field. Sign-off by the business owner rather than by the migration team.

Failure scenarios

  • Quality assessed during cutover, so the window is spent on decisions.
  • Mapping decided by engineers without domain input.
  • No reconciliation, so discrepancies are found by a customer.
  • The migration tool used as the specification, so nobody can state what was transformed.
  • The long tail of unmigrated records never addressed.

Interview question

"The source data contains records that violate the target's constraints. How do you handle it and who decides?"