Schema Versioning for Hierarchical Data Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hierarchical storage systems face challenges in managing and optimizing interactions with hierarchical data structures, particularly in accommodating changes to data schemas without disrupting compatibility with previous versions, which can lead to user burden and reduced management flexibility.

Innovation Solution

Implementing schema versioning in hierarchical data structures allows for the evolution of schemas over time while ensuring backward compatibility, enabling different clients to use different versions of the schema without forced upgrades, and allowing for selective application of schema changes that do not interfere with older versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If schema changes are implemented in hierarchical storage systems, then the system can accommodate evolving data requirements and improve adaptability, but compatibility with previous versions is disrupted and user burden increases

Engineering Contradiction:
Improveschema evolution capabilityVSAvoidbackward compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The schema is segmented into multiple versions, where each version represents a distinct state of the data structure. Clients can select and operate with specific schema versions that they are compatible with, allowing the system to evolve schemas without forcing all clients to upgrade simultaneously. This segmentation resolves the contradiction by enabling schema evolution while maintaining compatibility for clients that remain on older versions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The schema versioning system introduces dynamic selection of schema versions based on client capabilities and requirements. Rather than a static single-schema approach, the system dynamically adapts which schema version is applied to each client or operation, allowing both old and new schemas to coexist and be used appropriately depending on the client's needs and compatibility requirements.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If schema versioning is implemented, then management flexibility is improved and clients can use different schema versions, but system complexity increases

Engineering Contradiction:
Improvemanagement flexibilityVSAvoidschema management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Schema versions are defined and registered in advance before being applied to clients. This preliminary definition allows the system to prepare multiple schema versions with clear version identifiers and compatibility rules, reducing the complexity of ad-hoc schema changes. Clients can be configured to use specific pre-defined versions, simplifying the management process compared to dynamic on-the-fly schema modifications.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If background operations are used to backfill attributes during schema upgrades, then data completeness is maintained, but processing time and system resources are consumed

Engineering Contradiction:
Improvedata completenessVSAvoidbackfill processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of performing backfill operations in the background after schema changes, the system performs attribute population as a preliminary action during the schema upgrade process itself. This allows data to be prepared and migrated proactively before clients need to use the new schema, eliminating the need for time-consuming background backfill operations and reducing overall processing time while maintaining data completeness.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11550763B2Versioning schemas for hierarchical data structures
Publication Date: 2023.01.10 AMAZON TECH INC
  • US11550763B2 patent drawing
  • US11550763B2 patent drawing
  • US11550763B2 patent drawing

AI summary

Versions of a schema may be maintained for application to hierarchical data structures. Updates to include in a new version of a schema may be received. The updates may be evaluated for compatibility with a current version of the schema. Compatible updates may be included in the new version of the schema. Incompatible updates may not be included in the new version of the schema. The new version of the schema may be made available for application to hierarchical data structures inclusive of the compatible updates to the schema.