Database Schema Branching for Conflict-Safe Parallel Merging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional version control systems are incapable of branching and merging database schemas, leading to risky and cumbersome schema changes that often require database administrators, causing delays and bottlenecks in development processes.

Innovation Solution

A database schema branching system that allows developers to create isolated branches of a database schema in a sandbox for testing and iteration, with the ability to merge changes back into the main database using schema diffs and three-way merging, enabling parallel development by multiple users.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If database schema changes are implemented directly in production, then the changes can be deployed immediately, but the risk of system failure and downtime increases significantly

Engineering Contradiction:
Improvedeployment speedVSAvoidsystem reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent creates a branch database that is a copy of the production database, allowing schema changes to be implemented and tested in advance before deploying to production. This preliminary action in the branch environment enables validation of schema changes without risking production system reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the database into multiple branches (production, staging, development) that can be independently modified. This segmentation allows schema changes to be isolated in specific branches, enabling faster experimentation while protecting the production system from direct modification risks.

Inventive Principle:
Principle #1Segmentation

2Reliability

If database schema changes require database administrator review and implementation, then system reliability is maintained, but development productivity decreases due to bottlenecks

Engineering Contradiction:
Improveschema change safetyVSAvoiddevelopment throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments database management responsibilities by creating isolated branch databases that developers can modify independently. This segmentation allows developers to perform schema changes without requiring DBA involvement for each change, thereby improving productivity while maintaining reliability through the branch isolation mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates copy databases (branches) that replicate the production database structure. Developers can make schema changes to these copies without affecting the production system, eliminating the need for DBA review and implementation while maintaining system reliability through the copy-isolation mechanism.

Inventive Principle:
Principle #26Copying

3Productivity

If multiple developers work on schema changes in parallel, then development speed increases, but conflicts and merge difficulties increase

Engineering Contradiction:
Improveparallel development capabilityVSAvoidmerge complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent assigns each developer or team their own isolated branch database, segmenting the development workspace. This segmentation allows multiple developers to work in parallel without interfering with each other's changes, eliminating merge conflicts while maintaining the ability to integrate changes when ready.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates individual copy databases for each developer's branch, allowing parallel schema changes without conflicts. When changes are ready to be integrated, the system can compare and merge schema changes from multiple branches, reducing merge complexity compared to direct parallel editing of a single database.

Inventive Principle:
Principle #26Copying

4Reliability

If schema changes are tested extensively before production deployment, then reliability improves, but time to market increases

Engineering Contradiction:
Improveschema change validationVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent enables schema changes to be implemented and tested in branch databases as a preliminary action before production deployment. This allows extensive validation in isolated environments without adding to the critical production deployment time, as the branching and merging operations are automated and rapid.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the deployment process into independent branch operations that can proceed in parallel. Multiple schema changes can be developed and tested in different branches simultaneously, reducing the total time required for validation while maintaining thorough testing through the use of multiple isolated test environments.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4315093B1Database schema branching workflow, with support for data, keyspaces and vschemas
Publication Date: 2025.12.31 PLANETSCALE INC
  • EP4315093B1 patent drawingFigure 1
  • EP4315093B1 patent drawingFigure 2
  • EP4315093B1 patent drawingFigure 3

AI summary

A branch of a main database is created, comprising a copy of the main database schema. A user edits the branch and requests that it be merged back into the main database. A schema diff is generated and used to determine differences between the main database and the edited branch. The merge is performed if it does not create a conflict. A second branch is created and edited by a second user. When the second user indicates to merge the second branch back into the main database, differences between the two branches are determined, relative to the main database. If merging the second branch back into the main database on top of the first branch does not create a conflict, a three-way merge is performed of the first branch, the second branch, and the version of the main database from which the first and second branches were generated.