Automated Schema Change Coordination in Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale distributed data storage systems, frequent schema changes are challenging due to the risk of introducing data inconsistencies, such as orphaned or integrity inconsistencies, which existing manual methods struggle to manage efficiently.

Innovation Solution

An automated system that coordinates application schema changes by ensuring all database servers are on the same version of the schema, using intermediate states to transition added or removed schema elements, and deploying schema changes without requiring the system to be taken offline, thereby preventing data inconsistencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual methods are used to manage schema changes, then some level of control is maintained, but the system cannot efficiently manage frequent schema changes without introducing data inconsistencies

Engineering Contradiction:
Improveschema change management efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements automated schema change coordination that operates without manual intervention. The coordination service automatically detects schema changes, coordinates deployment across database servers, and manages version transitions, enabling the system to self-manage frequent schema changes while maintaining data consistency through automated validation and coordination protocols

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms where the coordination service continuously monitors schema versions across database servers, detects inconsistencies, and triggers coordinated responses. This feedback loop ensures that schema changes are properly propagated and validated across the distributed system, maintaining data consistency while enabling efficient change management

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If schema changes are deployed frequently, then the system remains adaptable to new requirements, but the risk of introducing orphaned or integrity inconsistencies increases

Engineering Contradiction:
Improveschema adaptabilityVSAvoiddata inconsistencies
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary actions by validating schema changes before deployment and coordinating the transition across all database servers in advance. The coordination service prepares the system for schema changes by establishing version tracking and coordination protocols, ensuring that changes are applied consistently across the distributed system, thereby preventing data inconsistencies while maintaining adaptability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements cushioning mechanisms by maintaining schema version history and using intermediate schema versions during transitions. This allows the system to buffer the impact of schema changes, roll back if inconsistencies are detected, and ensure smooth transitions, thereby protecting against data inconsistencies while enabling frequent schema evolution

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Productivity

If automated coordination is implemented, then deployment efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidcoordination system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces a coordination service as an intermediary component that manages schema change coordination between the deployment system and database servers. This intermediary abstracts the complexity of automated coordination, providing a clean interface while handling the sophisticated logic of version tracking, consistency validation, and coordinated deployment across the distributed system

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The coordination system is segmented into distinct functional components: schema change detection, version tracking, coordination logic, and deployment management. This segmentation allows each component to be independently developed, tested, and maintained, reducing overall system complexity while enabling efficient automated coordination through specialized subsystems

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11055264B2Automatically coordinating application schema changes in a distributed data storage system
Publication Date: 2021.07.06 DROPBOX INC
  • US11055264B2 patent drawing
  • US11055264B2 patent drawing
  • US11055264B2 patent drawing

AI summary

Computer-implemented techniques for automatically coordinating application schema changes in a distributed data storage system. The techniques improve the operation of a computing system by automating the deployment of application schemas changes to a distributed data storage system in a manner that does not introduce orphaned data inconsistencies or integrity inconsistencies to the application data stored in the distributed data storage system. The techniques include a schema change deployment protocol that ensures that all of the database servers of the distributed data storage system are using no more than two consecutive versions of the application schema at any given time.