Live Data Migration Framework with Proxy-Based Schema Transitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data migration technologies face challenges in handling large-scale, online data migrations across multiple environments with varying constraints, particularly in scenarios where downtime is not tolerated, such as 24/7 mission-critical systems, due to complex interdependencies and the need for frequent upgrades.

Innovation Solution

An online migration framework that enables live data migration, scalable across data, deployment, and development scales, using a Migration Runner and Migration Proxy to manage migrations with a highly-available read-write lock service, ensuring in-order execution and rollback capabilities, and a data store for metadata tracking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If offline upgrades are used for data migration, then implementation simplicity is improved, but system availability deteriorates due to required downtime

Engineering Contradiction:
Improveimplementation simplicityVSAvoidsystem availability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The migration process is divided into multiple independent stages: schema creation, data migration, validation, and cleanup. Each stage can be executed independently and rolled back if needed, allowing the system to remain operational throughout the migration process while maintaining implementation simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The new schema is created and validated before the old schema is removed. Migration scripts are prepared and tested in advance, and the system transitions to reading from and writing to the new schema only after successful validation, ensuring no downtime is required.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If online data migration is implemented, then system availability is improved, but technical complexity worsens due to format compatibility requirements

Engineering Contradiction:
Improvesystem availabilityVSAvoidtechnical complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A migration proxy is introduced as an intermediary layer that handles all data access operations. The proxy automatically routes reads and writes to the appropriate schema version based on the current migration stage, eliminating the need for complex format compatibility handling in application code.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system continuously monitors migration progress and validates data integrity at each stage. Migration status is tracked and used to dynamically adjust the proxy's behavior, ensuring the system remains in a consistent state throughout the online migration process.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple environments are migrated simultaneously, then productivity is improved, but coordination difficulty worsens due to interdependencies

Engineering Contradiction:
Improvemigration speedVSAvoidcoordination difficulty
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The migration framework is designed as a universal system that can operate across multiple environments simultaneously. The same migration scripts, validation rules, and proxy logic are applied consistently across all environments, enabling parallel execution without increasing coordination complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Migration specifications and scripts are prepared and validated in advance for all target environments. The framework then executes migrations in parallel across environments based on pre-defined dependencies, achieving high productivity while maintaining simple coordination through upfront planning.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If rollback capability is added to online migration, then reliability is improved, but system complexity worsens due to state management requirements

Engineering Contradiction:
Improvemigration safetyVSAvoidstate management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The migration process is divided into discrete, reversible stages. Each stage has its own validation checks and rollback procedures, allowing the system to revert to the previous state if any stage fails, improving reliability without requiring complex global state management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system continuously monitors migration progress and data integrity at each stage. Validation feedback determines whether to proceed to the next stage or trigger a rollback, simplifying state management by making decisions based on local validation results rather than complex global state analysis.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12450212B2Framework for live data migration
Publication Date: 2025.10.21 PALANTIR TECHNOLOGIES INC
  • US12450212B2 patent drawing
  • US12450212B2 patent drawing
  • US12450212B2 patent drawing

AI summary

Systems and methods including a framework for migration of live data. The method may comprised, by one or more hardware processors executing program instructions, receiving, at a migration proxy of the framework, code for reading data and writing data compatible with each of a plurality of states of a migration of data in a data store, wherein a service is at least intermittently reading data from and writing data to the data store; determining, by a migration runner of the framework, to perform the migration of the data; initiating, by the migration runner, the migration of the data, wherein the migration comprises a plurality of stages; storing, as the migration progresses through the plurality of stages, and at a migration data store of the framework, a current stage of the migration; and during the migration, using the migration proxy to read data from and write data to the data store.